From afbebebde1ec3b52c4f5140c1aa106001bd4055b Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Thu, 10 Jun 2021 16:21:27 +0800 Subject: Starting adding showing favorite multireddits and multireddits in main page. --- .../settings/CustomizeMainPageTabsFragment.java | 30 +++++++++-- .../utils/SharedPreferencesUtils.java | 2 + .../layout/fragment_customize_main_page_tabs.xml | 62 ++++++++++++++++++++++ app/src/main/res/values/strings.xml | 2 + 4 files changed, 92 insertions(+), 4 deletions(-) (limited to 'app/src/main') diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java index 7a2cca00..51813f8f 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java @@ -101,6 +101,14 @@ public class CustomizeMainPageTabsFragment extends Fragment { TextView moreTabsGroupSummaryTextView; @BindView(R.id.more_tabs_info_text_view_customize_main_page_tabs_fragment) TextView moreTabsInfoTextView; + @BindView(R.id.show_favorite_multireddits_linear_layout_customize_main_page_tabs_fragment) + LinearLayout showFavoriteMultiredditsLinearLayout; + @BindView(R.id.show_favorite_multireddits_switch_material_customize_main_page_tabs_fragment) + SwitchMaterial showFavoriteMultiredditsSwitchMaterial; + @BindView(R.id.show_multireddits_linear_layout_customize_main_page_tabs_fragment) + LinearLayout showMultiredditsLinearLayout; + @BindView(R.id.show_multireddits_switch_material_customize_main_page_tabs_fragment) + SwitchMaterial showMultiredditsSwitchMaterial; @BindView(R.id.show_subscribed_subreddits_linear_layout_customize_main_page_tabs_fragment) LinearLayout showSubscribedSubredditsLinearLayout; @BindView(R.id.show_subscribed_subreddits_switch_material_customize_main_page_tabs_fragment) @@ -159,6 +167,8 @@ public class CustomizeMainPageTabsFragment extends Fragment { divider4.setVisibility(View.GONE); moreTabsGroupSummaryTextView.setVisibility(View.GONE); moreTabsInfoTextView.setVisibility(View.GONE); + showFavoriteMultiredditsLinearLayout.setVisibility(View.GONE); + showMultiredditsLinearLayout.setVisibility(View.GONE); showSubscribedSubredditsLinearLayout.setVisibility(View.GONE); showFavoriteSubscribedSubredditsLinearLayout.setVisibility(View.GONE); @@ -483,14 +493,26 @@ public class CustomizeMainPageTabsFragment extends Fragment { .show(); }); - showSubscribedSubredditsSwitchMaterial.setChecked(sharedPreferences.getBoolean((accountName == null ? "" : accountName) + SharedPreferencesUtils.MAIN_PAGE_SHOW_SUBSCRIBED_SUBREDDITS, false)); - showSubscribedSubredditsSwitchMaterial.setOnCheckedChangeListener((compoundButton, b) -> sharedPreferences.edit().putBoolean((accountName == null ? "" : accountName) + SharedPreferencesUtils.MAIN_PAGE_SHOW_SUBSCRIBED_SUBREDDITS, b).apply()); + showMultiredditsSwitchMaterial.setChecked(sharedPreferences.getBoolean(accountName + SharedPreferencesUtils.MAIN_PAGE_SHOW_MULTIREDDITS, false)); + showMultiredditsSwitchMaterial.setOnCheckedChangeListener((compoundButton, b) -> sharedPreferences.edit().putBoolean(accountName + SharedPreferencesUtils.MAIN_PAGE_SHOW_MULTIREDDITS, b).apply()); + showMultiredditsLinearLayout.setOnClickListener(view -> { + showMultiredditsSwitchMaterial.performClick(); + }); + + showFavoriteMultiredditsSwitchMaterial.setChecked(sharedPreferences.getBoolean(accountName + SharedPreferencesUtils.MAIN_PAGE_SHOW_FAVORITE_MULTIREDDITS, false)); + showFavoriteMultiredditsSwitchMaterial.setOnCheckedChangeListener((compoundButton, b) -> sharedPreferences.edit().putBoolean(accountName + SharedPreferencesUtils.MAIN_PAGE_SHOW_FAVORITE_MULTIREDDITS, b).apply()); + showFavoriteMultiredditsLinearLayout.setOnClickListener(view -> { + showFavoriteMultiredditsSwitchMaterial.performClick(); + }); + + showSubscribedSubredditsSwitchMaterial.setChecked(sharedPreferences.getBoolean(accountName + SharedPreferencesUtils.MAIN_PAGE_SHOW_SUBSCRIBED_SUBREDDITS, false)); + showSubscribedSubredditsSwitchMaterial.setOnCheckedChangeListener((compoundButton, b) -> sharedPreferences.edit().putBoolean(accountName + SharedPreferencesUtils.MAIN_PAGE_SHOW_SUBSCRIBED_SUBREDDITS, b).apply()); showSubscribedSubredditsLinearLayout.setOnClickListener(view -> { showSubscribedSubredditsSwitchMaterial.performClick(); }); - showFavoriteSubscribedSubredditsSwitchMaterial.setChecked(sharedPreferences.getBoolean((accountName == null ? "" : accountName) + SharedPreferencesUtils.MAIN_PAGE_SHOW_FAVORITE_SUBSCRIBED_SUBREDDITS, false)); - showFavoriteSubscribedSubredditsSwitchMaterial.setOnCheckedChangeListener((compoundButton, b) -> sharedPreferences.edit().putBoolean((accountName == null ? "" : accountName) + SharedPreferencesUtils.MAIN_PAGE_SHOW_FAVORITE_SUBSCRIBED_SUBREDDITS, b).apply()); + showFavoriteSubscribedSubredditsSwitchMaterial.setChecked(sharedPreferences.getBoolean(accountName + SharedPreferencesUtils.MAIN_PAGE_SHOW_FAVORITE_SUBSCRIBED_SUBREDDITS, false)); + showFavoriteSubscribedSubredditsSwitchMaterial.setOnCheckedChangeListener((compoundButton, b) -> sharedPreferences.edit().putBoolean(accountName + SharedPreferencesUtils.MAIN_PAGE_SHOW_FAVORITE_SUBSCRIBED_SUBREDDITS, b).apply()); showFavoriteSubscribedSubredditsLinearLayout.setOnClickListener(view -> { showFavoriteSubscribedSubredditsSwitchMaterial.performClick(); }); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/utils/SharedPreferencesUtils.java b/app/src/main/java/ml/docilealligator/infinityforreddit/utils/SharedPreferencesUtils.java index 011e40cf..2795138d 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/utils/SharedPreferencesUtils.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/utils/SharedPreferencesUtils.java @@ -205,6 +205,8 @@ public class SharedPreferencesUtils { public static final int MAIN_PAGE_TAB_POST_TYPE_HIDDEN = 8; public static final int MAIN_PAGE_TAB_POST_TYPE_SAVED = 9; public static final int MAIN_PAGE_TAB_POST_TYPE_GILDED = 10; + public static final String MAIN_PAGE_SHOW_MULTIREDDITS = "_main_page_show_multireddits"; + public static final String MAIN_PAGE_SHOW_FAVORITE_MULTIREDDITS = "_main_page_show_favorite_multireddits"; public static final String MAIN_PAGE_SHOW_SUBSCRIBED_SUBREDDITS = "_main_page_show_subscribed_subreddits"; public static final String MAIN_PAGE_SHOW_FAVORITE_SUBSCRIBED_SUBREDDITS = "_main_page_show_favorite_subscribed_subreddits"; diff --git a/app/src/main/res/layout/fragment_customize_main_page_tabs.xml b/app/src/main/res/layout/fragment_customize_main_page_tabs.xml index 85297183..2a5f19d0 100644 --- a/app/src/main/res/layout/fragment_customize_main_page_tabs.xml +++ b/app/src/main/res/layout/fragment_customize_main_page_tabs.xml @@ -462,6 +462,68 @@ android:fontFamily="?attr/font_family" app:drawableStartCompat="@drawable/ic_info_preference_24dp" /> + + + + + + + + + + + + + + + + Tab 3 More Tabs Enabling the following options will cause an unintended behaviour:\nTabs may lose all the content after switching to others. This is the same as refreshing the page. + Show Favorite Multireddits + Show Multireddits Show Favorite Subscribed Subreddits Show Subscribed Subreddits Title -- cgit v1.2.3