diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-09-16 13:25:41 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-09-16 13:25:41 +0000 |
commit | 7e96130d200f7791ab4c3e2deb0cc2ca9f152e93 (patch) | |
tree | 8cc80987c3245efbc0fec2246e2f8090af6bd8f2 | |
parent | 8b366c0961f7f79539eac38082e4915ac3f48030 (diff) | |
download | infinity-for-reddit-7e96130d200f7791ab4c3e2deb0cc2ca9f152e93.tar infinity-for-reddit-7e96130d200f7791ab4c3e2deb0cc2ca9f152e93.tar.gz infinity-for-reddit-7e96130d200f7791ab4c3e2deb0cc2ca9f152e93.tar.bz2 infinity-for-reddit-7e96130d200f7791ab4c3e2deb0cc2ca9f152e93.tar.lz infinity-for-reddit-7e96130d200f7791ab4c3e2deb0cc2ca9f152e93.tar.xz infinity-for-reddit-7e96130d200f7791ab4c3e2deb0cc2ca9f152e93.tar.zst infinity-for-reddit-7e96130d200f7791ab4c3e2deb0cc2ca9f152e93.zip |
Shrink the vertical block in comments tree. Temporarily disable the splash screen to see if android.view.DisplayListCanvas.throwIfCannotDraw exception will be gone. Minor bugs fixed.
4 files changed, 34 insertions, 13 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 81a9c8f3..da61fa45 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -193,7 +193,7 @@ <activity android:name=".MainActivity" android:label="@string/app_name" - android:theme="@style/AppTheme.Launcher"> + android:theme="@style/AppTheme.NoActionBarWithTransparentStatusBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java index 95cb37dd..eb815582 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java @@ -511,9 +511,12 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie mMarkwon.setMarkdown(((CommentViewHolder) holder).commentMarkdownView, comment.getCommentContent()); ((CommentViewHolder) holder).scoreTextView.setText(Integer.toString(comment.getScore() + comment.getVoteType())); - ViewGroup.LayoutParams params = ((CommentViewHolder) holder).verticalBlock.getLayoutParams(); - params.width = comment.getDepth() * 16; - ((CommentViewHolder) holder).verticalBlock.setLayoutParams(params); + ((CommentViewHolder) holder).itemView.setPadding(comment.getDepth() * 16, 0, 0, 0); + if(comment.getDepth() > 0) { + ViewGroup.LayoutParams params = ((CommentViewHolder) holder).verticalBlock.getLayoutParams(); + params.width = 16; + ((CommentViewHolder) holder).verticalBlock.setLayoutParams(params); + } if(!mPost.isArchived() && !mPost.isLocked() && comment.getAuthor().equals(mAccountName)) { ((CommentViewHolder) holder).moreButton.setVisibility(View.VISIBLE); @@ -717,9 +720,12 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie placeholder = mIsSingleCommentThreadMode ? mVisibleComments.get(holder.getAdapterPosition() - 2) : mVisibleComments.get(holder.getAdapterPosition() - 1); - ViewGroup.LayoutParams params = ((LoadMoreChildCommentsViewHolder) holder).verticalBlock.getLayoutParams(); - params.width = placeholder.getDepth() * 16; - ((LoadMoreChildCommentsViewHolder) holder).verticalBlock.setLayoutParams(params); + ((LoadMoreChildCommentsViewHolder) holder).itemView.setPadding(placeholder.getDepth() * 16, 0, 0, 0); + if(placeholder.getDepth() > 0) { + ViewGroup.LayoutParams params = ((LoadMoreChildCommentsViewHolder) holder).verticalBlock.getLayoutParams(); + params.width = 16; + ((LoadMoreChildCommentsViewHolder) holder).verticalBlock.setLayoutParams(params); + } if(placeholder.isLoadingMoreChildren()) { ((LoadMoreChildCommentsViewHolder) holder).placeholderTextView.setText(R.string.loading); @@ -770,6 +776,10 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie } private int getParentPosition(int position) { + if(position >= mVisibleComments.size()) { + return -1; + } + int childDepth = mVisibleComments.get(position).getDepth(); for(int i = position; i >= 0; i--) { if(mVisibleComments.get(i).getDepth() < childDepth) { @@ -977,6 +987,10 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie ((CommentViewHolder) holder).scoreTextView.setTextColor(ContextCompat.getColor(mActivity, R.color.defaultTextColor)); ((CommentViewHolder) holder).downVoteButton.clearColorFilter(); ((CommentViewHolder) holder).replyButton.clearColorFilter(); + ViewGroup.LayoutParams params = ((CommentViewHolder) holder).verticalBlock.getLayoutParams(); + params.width = 0; + ((CommentViewHolder) holder).verticalBlock.setLayoutParams(params); + ((CommentViewHolder) holder).itemView.setPadding(0, 0, 0, 0); ((CommentViewHolder) holder).itemView.setBackgroundColor( mActivity.getResources().getColor(R.color.cardViewBackgroundColor)); } else if(holder instanceof PostDetailViewHolder) { @@ -987,6 +1001,11 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie ((PostDetailViewHolder) holder).flairTextView.setVisibility(View.GONE); ((PostDetailViewHolder) holder).spoilerTextView.setVisibility(View.GONE); ((PostDetailViewHolder) holder).mNSFWChip.setVisibility(View.GONE); + } else if(holder instanceof LoadMoreChildCommentsViewHolder) { + ((LoadMoreChildCommentsViewHolder) holder).itemView.setPadding(0, 0, 0, 0); + ViewGroup.LayoutParams params = ((LoadMoreChildCommentsViewHolder) holder).verticalBlock.getLayoutParams(); + params.width = 0; + ((LoadMoreChildCommentsViewHolder) holder).verticalBlock.setLayoutParams(params); } } @@ -1413,7 +1432,7 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie if(mVisibleComments.get(parentPosition).isExpanded()) { int commentPosition = mIsSingleCommentThreadMode ? getAdapterPosition() - 2 : getAdapterPosition() - 1; int placeholderPosition = commentPosition; - if(!mVisibleComments.get(commentPosition).getFullName().equals(parentComment.getFullName())) { + if(commentPosition >= mVisibleComments.size() || !mVisibleComments.get(commentPosition).getFullName().equals(parentComment.getFullName())) { for(int i = parentPosition + 1; i < mVisibleComments.size(); i++) { if(mVisibleComments.get(i).getFullName().equals(parentComment.getFullName())) { placeholderPosition = i; diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java index e62b164d..f4c90da5 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java @@ -157,8 +157,6 @@ public class MainActivity extends AppCompatActivity implements SortTypeBottomShe @Override protected void onCreate(Bundle savedInstanceState) { - setTheme(R.style.AppTheme_NoActionBarWithTransparentStatusBar); - super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/SubredditSelectionActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/SubredditSelectionActivity.java index ed9573fd..ee452eca 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/SubredditSelectionActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/SubredditSelectionActivity.java @@ -165,7 +165,11 @@ public class SubredditSelectionActivity extends AppCompatActivity { getCurrentAccountAndBindView(); } else { mFragment = getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_OUT_STATE); - getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_subreddit_selection_activity, mFragment).commit(); + if(mFragment == null) { + bindView(); + } else { + getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_subreddit_selection_activity, mFragment).commit(); + } } } } @@ -262,8 +266,8 @@ public class SubredditSelectionActivity extends AppCompatActivity { protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { if(requestCode == SUBREDDIT_SEARCH_REQUEST_CODE) { if(resultCode == RESULT_OK) { - String name = data.getExtras().getString(SearchActivity.EXTRA_RETURN_SUBREDDIT_NAME); - String iconUrl = data.getExtras().getString(SearchActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); + String name = data.getStringExtra(SearchActivity.EXTRA_RETURN_SUBREDDIT_NAME); + String iconUrl = data.getStringExtra(SearchActivity.EXTRA_RETURN_SUBREDDIT_ICON_URL); Intent returnIntent = new Intent(); returnIntent.putExtra(EXTRA_RETURN_SUBREDDIT_NAME, name); returnIntent.putExtra(EXTRA_RETURN_SUBREDDIT_ICON_URL, iconUrl); |