From 2b92b48cb521fb5d3ec4e85d26b967b6de009cda Mon Sep 17 00:00:00 2001 From: Alex Ning 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 +-- app/src/main/res/layout/item_comment.xml | 2 +- app/src/main/res/layout/item_post_compact.xml | 37 +++++++++++++++++----- .../res/menu/view_subreddit_detail_activity.xml | 6 ++++ build.gradle | 2 +- 7 files changed, 55 insertions(+), 15 deletions(-) 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 { 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 ((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 + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:paddingStart="16dp" + android:paddingEnd="16dp"> @@ -275,7 +281,10 @@ android:background="?actionBarItemBackground" android:clickable="true" android:focusable="true" - android:padding="12dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:paddingStart="12dp" + android:paddingEnd="12dp" android:src="@drawable/ic_arrow_upward_grey_24dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -299,7 +308,10 @@ android:background="?actionBarItemBackground" android:clickable="true" android:focusable="true" - android:padding="12dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:paddingStart="12dp" + android:paddingEnd="12dp" android:src="@drawable/ic_arrow_downward_grey_24dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_compact" @@ -312,7 +324,10 @@ android:drawableStart="@drawable/ic_comment_grey_24dp" android:drawablePadding="12dp" android:gravity="center_vertical" - android:padding="12dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:paddingStart="12dp" + android:paddingEnd="12dp" android:textSize="?attr/font_12" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" @@ -326,7 +341,10 @@ android:background="?actionBarItemBackground" android:clickable="true" android:focusable="true" - android:padding="12dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:paddingStart="12dp" + android:paddingEnd="12dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/share_button_item_post_compact" app:layout_constraintHorizontal_bias="1" @@ -340,7 +358,10 @@ android:background="?actionBarItemBackground" android:clickable="true" android:focusable="true" - android:padding="12dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:paddingStart="12dp" + android:paddingEnd="12dp" android:src="@drawable/ic_share_grey_24dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/menu/view_subreddit_detail_activity.xml b/app/src/main/res/menu/view_subreddit_detail_activity.xml index 5893920a..c51b5b3a 100644 --- a/app/src/main/res/menu/view_subreddit_detail_activity.xml +++ b/app/src/main/res/menu/view_subreddit_detail_activity.xml @@ -28,4 +28,10 @@ android:orderInCategory="4" android:title="@string/action_start_lazy_mode" app:showAsAction="never" /> + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 93ad760b..0c65d058 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.5.1' + classpath 'com.android.tools.build:gradle:3.5.2' // NOTE: Do not place your application dependencies here; they belong -- cgit v1.2.3