From 47832e1e91db7e355b8122e1b533966c8df5ddba Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Fri, 27 Sep 2019 16:58:57 +0800 Subject: Blurring spoiler post images is now available. Change spoiler and flair text background colors. Fixed collapsed comments shown after orientation change. --- .../main/java/Settings/MainPreferenceFragment.java | 9 +++++++ .../infinityforreddit/ChangeSpoilerBlurEvent.java | 8 ++++++ .../CommentAndPostRecyclerViewAdapter.java | 27 ++++++++++++------- .../infinityforreddit/PostFragment.java | 22 +++++++++++++--- .../infinityforreddit/PostRecyclerViewAdapter.java | 14 +++++++--- .../infinityforreddit/SharedPreferencesUtils.java | 1 + .../infinityforreddit/ViewPostDetailActivity.java | 30 ++++++++++++++++------ .../main/res/drawable-night/ic_font_size_24dp.xml | 9 +++++++ app/src/main/res/drawable/ic_font_size_24dp.xml | 9 +++++++ app/src/main/res/layout/item_post.xml | 8 +++--- app/src/main/res/layout/item_post_detail.xml | 6 +++-- app/src/main/res/values/arrays.xml | 2 +- app/src/main/res/values/colors.xml | 4 +++ app/src/main/res/values/strings.xml | 3 ++- app/src/main/res/xml/main_preferences.xml | 6 +++++ 15 files changed, 125 insertions(+), 33 deletions(-) create mode 100644 app/src/main/java/ml/docilealligator/infinityforreddit/ChangeSpoilerBlurEvent.java create mode 100644 app/src/main/res/drawable-night/ic_font_size_24dp.xml create mode 100644 app/src/main/res/drawable/ic_font_size_24dp.xml (limited to 'app/src') diff --git a/app/src/main/java/Settings/MainPreferenceFragment.java b/app/src/main/java/Settings/MainPreferenceFragment.java index af498294..8e3b7d99 100644 --- a/app/src/main/java/Settings/MainPreferenceFragment.java +++ b/app/src/main/java/Settings/MainPreferenceFragment.java @@ -17,6 +17,7 @@ import javax.inject.Inject; import ml.docilealligator.infinityforreddit.ChangeNSFWBlurEvent; import ml.docilealligator.infinityforreddit.ChangeNSFWEvent; +import ml.docilealligator.infinityforreddit.ChangeSpoilerBlurEvent; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.SharedPreferencesUtils; @@ -44,6 +45,7 @@ public class MainPreferenceFragment extends PreferenceFragmentCompat { SwitchPreference nsfwSwitch = findPreference(SharedPreferencesUtils.NSFW_KEY); SwitchPreference blurNSFWSwitch = findPreference(SharedPreferencesUtils.BLUR_NSFW_KEY); + SwitchPreference blurSpoilerSwitch = findPreference(SharedPreferencesUtils.BLUR_SPOILER_KEY); ListPreference themePreference = findPreference(SharedPreferencesUtils.THEME_KEY); if(nsfwSwitch != null) { @@ -71,6 +73,13 @@ public class MainPreferenceFragment extends PreferenceFragmentCompat { }); } + if(blurSpoilerSwitch != null) { + blurSpoilerSwitch.setOnPreferenceChangeListener((preference, newValue) -> { + EventBus.getDefault().post(new ChangeSpoilerBlurEvent((Boolean) newValue)); + return true; + }); + } + boolean systemDefault = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q; if(themePreference != null) { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/ChangeSpoilerBlurEvent.java b/app/src/main/java/ml/docilealligator/infinityforreddit/ChangeSpoilerBlurEvent.java new file mode 100644 index 00000000..f8c22224 --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/ChangeSpoilerBlurEvent.java @@ -0,0 +1,8 @@ +package ml.docilealligator.infinityforreddit; + +public class ChangeSpoilerBlurEvent { + public boolean needBlurSpoiler; + public ChangeSpoilerBlurEvent(boolean needBlurSpoiler) { + this.needBlurSpoiler = needBlurSpoiler; + } +} diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java index f2fb4545..897b2e86 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java @@ -52,6 +52,8 @@ import jp.wasabeef.glide.transformations.BlurTransformation; import jp.wasabeef.glide.transformations.RoundedCornersTransformation; import retrofit2.Retrofit; +import static ml.docilealligator.infinityforreddit.CommentActivity.WRITE_COMMENT_REQUEST_CODE; + class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter { private static final int VIEW_TYPE_POST_DETAIL = 0; private static final int VIEW_TYPE_FIRST_LOADING = 1; @@ -78,6 +80,7 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter getVisibleComments() { + return mVisibleComments; + } + void initiallyLoading() { if(mVisibleComments.size() != 0) { int previousSize = mVisibleComments.size(); @@ -1162,6 +1167,10 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter= 0) { + mAdapter.addChildComment(comment, parentFullname, parentPosition); + } } } else { Toast.makeText(this, R.string.send_comment_failed, Toast.LENGTH_SHORT).show(); @@ -1219,7 +1232,7 @@ public class ViewPostDetailActivity extends AppCompatActivity implements FlairBo } } else if(requestCode == EDIT_COMMENT_REQUEST_CODE) { if(resultCode == RESULT_OK) { - mAdapter.editComment(data.getExtras().getString(EditCommentActivity.EXTRA_EDITED_COMMENT_CONTENT), + mAdapter.editComment(data.getStringExtra(EditCommentActivity.EXTRA_EDITED_COMMENT_CONTENT), data.getExtras().getInt(EditCommentActivity.EXTRA_EDITED_COMMENT_POSITION)); } } @@ -1228,6 +1241,7 @@ public class ViewPostDetailActivity extends AppCompatActivity implements FlairBo @Override protected void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); + comments = mAdapter.getVisibleComments(); Bridge.saveInstanceState(this, outState); } diff --git a/app/src/main/res/drawable-night/ic_font_size_24dp.xml b/app/src/main/res/drawable-night/ic_font_size_24dp.xml new file mode 100644 index 00000000..44c361be --- /dev/null +++ b/app/src/main/res/drawable-night/ic_font_size_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_font_size_24dp.xml b/app/src/main/res/drawable/ic_font_size_24dp.xml new file mode 100644 index 00000000..b2ef0e15 --- /dev/null +++ b/app/src/main/res/drawable/ic_font_size_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/item_post.xml b/app/src/main/res/layout/item_post.xml index 058d53ae..624331a6 100644 --- a/app/src/main/res/layout/item_post.xml +++ b/app/src/main/res/layout/item_post.xml @@ -204,8 +204,8 @@ android:padding="4dp" android:visibility="gone" app:lib_setRadius="3dp" - app:lib_setRoundedBGColor="@color/backgroundColorPrimaryDark" - app:lib_setRoundedBorderColor="@color/backgroundColorPrimaryDark" + app:lib_setRoundedBGColor="@color/spoilerBackgroundColor" + app:lib_setRoundedBorderColor="@color/spoilerBackgroundColor" app:lib_setRoundedView="true" app:lib_setShape="rectangle" /> @@ -220,8 +220,8 @@ android:padding="4dp" android:visibility="gone" app:lib_setRadius="3dp" - app:lib_setRoundedBGColor="@color/backgroundColorPrimaryDark" - app:lib_setRoundedBorderColor="@color/backgroundColorPrimaryDark" + app:lib_setRoundedBGColor="@color/flairBackgroundColor" + app:lib_setRoundedBorderColor="@color/flairBackgroundColor" app:lib_setRoundedView="true" app:lib_setShape="rectangle" /> diff --git a/app/src/main/res/layout/item_post_detail.xml b/app/src/main/res/layout/item_post_detail.xml index 09a99591..d0647265 100644 --- a/app/src/main/res/layout/item_post_detail.xml +++ b/app/src/main/res/layout/item_post_detail.xml @@ -209,7 +209,8 @@ android:padding="4dp" android:visibility="gone" app:lib_setRadius="3dp" - app:lib_setRoundedBorderColor="@color/colorPrimaryDarkDayNightTheme" + app:lib_setRoundedBGColor="@color/spoilerBackgroundColor" + app:lib_setRoundedBorderColor="@color/spoilerBackgroundColor" app:lib_setRoundedView="true" app:lib_setShape="rectangle" /> @@ -224,7 +225,8 @@ android:textColor="@android:color/white" android:visibility="gone" app:lib_setRadius="3dp" - app:lib_setRoundedBorderColor="@color/colorPrimaryDarkDayNightTheme" + app:lib_setRoundedBGColor="@color/flairBackgroundColor" + app:lib_setRoundedBorderColor="@color/flairBackgroundColor" app:lib_setRoundedView="true" app:lib_setShape="rectangle" /> diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index f50fe519..602a3f00 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -90,7 +90,7 @@ Normal Large Extra Large - Enormous Large + Enormously Large diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index a08640f7..811089f3 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -75,4 +75,8 @@ #EE8A02 #00BA81 + + #EE02EB + + #00AA8C diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e8cba1f9..c898353c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -278,7 +278,8 @@ Title Font Size Content Font Size Enable NSFW - Blur NSFW images + Blur NSFW Images + Blur Spoiler Images Display Under Navigation bar and Status Bar About Acknowledgement diff --git a/app/src/main/res/xml/main_preferences.xml b/app/src/main/res/xml/main_preferences.xml index 6567eb1b..a4b8506f 100644 --- a/app/src/main/res/xml/main_preferences.xml +++ b/app/src/main/res/xml/main_preferences.xml @@ -26,6 +26,7 @@ + + -- cgit v1.2.3