From 2b92b48cb521fb5d3ec4e85d26b967b6de009cda Mon Sep 17 00:00:00 2001
From: Alex Ning <chineseperson5@gmail.com>
Date: Mon, 11 Nov 2019 11:42:04 +0800
Subject: Changing post layout in ViewSubredditDetailActivity is available.
 Tweak the compact post UI. Minor bugs fixed.

---
 .../Activity/ViewSubredditDetailActivity.java          | 18 ++++++++++++++++--
 .../Adapter/CommentAndPostRecyclerViewAdapter.java     |  1 +
 .../Adapter/PostRecyclerViewAdapter.java               |  4 +---
 3 files changed, 18 insertions(+), 5 deletions(-)

(limited to 'app/src/main/java/ml/docilealligator/infinityforreddit')

diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSubredditDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSubredditDetailActivity.java
index 7ab828f0..4d0e7fab 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSubredditDetailActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSubredditDetailActivity.java
@@ -48,6 +48,7 @@ import ml.docilealligator.infinityforreddit.Event.ChangeNSFWEvent;
 import ml.docilealligator.infinityforreddit.Event.SwitchAccountEvent;
 import ml.docilealligator.infinityforreddit.FetchSubredditData;
 import ml.docilealligator.infinityforreddit.Fragment.PostFragment;
+import ml.docilealligator.infinityforreddit.Fragment.PostLayoutBottomSheetFragment;
 import ml.docilealligator.infinityforreddit.Fragment.PostTypeBottomSheetFragment;
 import ml.docilealligator.infinityforreddit.Fragment.SortTimeBottomSheetFragment;
 import ml.docilealligator.infinityforreddit.Fragment.SortTypeBottomSheetFragment;
@@ -68,7 +69,7 @@ import pl.droidsonroids.gif.GifImageView;
 import retrofit2.Retrofit;
 
 public class ViewSubredditDetailActivity extends BaseActivity implements SortTypeSelectionCallback,
-        PostTypeBottomSheetFragment.PostTypeSelectionCallback {
+        PostTypeBottomSheetFragment.PostTypeSelectionCallback, PostLayoutBottomSheetFragment.PostLayoutSelectionCallback {
 
     public static final String EXTRA_SUBREDDIT_NAME_KEY = "ESN";
     public static final String EXTRA_MESSAGE_FULLNAME = "ENF";
@@ -136,6 +137,7 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
     private PostTypeBottomSheetFragment postTypeBottomSheetFragment;
     private SortTypeBottomSheetFragment sortTypeBottomSheetFragment;
     private SortTimeBottomSheetFragment sortTimeBottomSheetFragment;
+    private PostLayoutBottomSheetFragment postLayoutBottomSheetFragment;
     private SubredditViewModel mSubredditViewModel;
 
     @Override
@@ -232,6 +234,8 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
 
         sortTimeBottomSheetFragment = new SortTimeBottomSheetFragment();
 
+        postLayoutBottomSheetFragment = new PostLayoutBottomSheetFragment();
+
         params = (AppBarLayout.LayoutParams) collapsingToolbarLayout.getLayoutParams();
 
         //Get status bar height
@@ -534,6 +538,9 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
                         isInLazyMode = false;
                     }
                 }
+                break;
+            case R.id.action_change_post_layout_view_subreddit_detail_activity:
+                postLayoutBottomSheetFragment.show(getSupportFragmentManager(), postLayoutBottomSheetFragment.getTag());
         }
         return false;
     }
@@ -615,6 +622,14 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
         }
     }
 
+    @Override
+    public void postLayoutSelected(int postLayout) {
+        if (mFragment != null) {
+            mSharedPreferences.edit().putInt(SharedPreferencesUtils.POST_LAYOUT_SUBREDDIT_POST, postLayout).apply();
+            ((FragmentCommunicator) mFragment).changePostLayout(postLayout);
+        }
+    }
+
     public void postScrollUp() {
         fab.show();
     }
@@ -635,7 +650,6 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
         ((FragmentCommunicator) mFragment).changeNSFW(changeNSFWEvent.nsfw);
     }
 
-
     private static class InsertSubredditDataAsyncTask extends AsyncTask<Void, Void, Void> {
 
         private SubredditDao mSubredditDao;
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java
index cd7d0ad5..1e2861f7 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java
@@ -585,6 +585,7 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
             if (comment.getAuthorFlair() != null && !comment.getAuthorFlair().equals("")) {
                 ((CommentViewHolder) holder).authorFlairTextView.setVisibility(View.VISIBLE);
                 ((CommentViewHolder) holder).authorFlairTextView.setText(comment.getAuthorFlair());
+                ((CommentViewHolder) holder).authorFlairTextView.setOnClickListener(view -> ((CommentViewHolder) holder).authorTextView.performClick());
             }
 
             if (comment.isSubmitter()) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java
index 73e19118..b2d03d13 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java
@@ -82,9 +82,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
 
         @Override
         public boolean areContentsTheSame(@NonNull Post post, @NonNull Post t1) {
-            return post.getTitle().equals(t1.getTitle()) && !(post.getSelfText() != null && t1.getSelfText() != null
-                    && !post.getSelfText().equals(t1.getSelfText()))
-                    && post.getScore() == t1.getScore() && post.getVoteType() == t1.getVoteType();
+            return false;
         }
     };
     private Context mContext;
-- 
cgit v1.2.3