diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-12-25 15:41:56 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-12-25 15:41:56 +0000 |
commit | f7baba9412c53b0abd54e36d74657433efb6e58e (patch) | |
tree | b8ecd329ce2e77686920ece9ebf139622d279639 /app/src/main/java | |
parent | 2113d4a902de2dcc6a0347834118ffc877c865a8 (diff) | |
download | infinity-for-reddit-f7baba9412c53b0abd54e36d74657433efb6e58e.tar infinity-for-reddit-f7baba9412c53b0abd54e36d74657433efb6e58e.tar.gz infinity-for-reddit-f7baba9412c53b0abd54e36d74657433efb6e58e.tar.bz2 infinity-for-reddit-f7baba9412c53b0abd54e36d74657433efb6e58e.tar.lz infinity-for-reddit-f7baba9412c53b0abd54e36d74657433efb6e58e.tar.xz infinity-for-reddit-f7baba9412c53b0abd54e36d74657433efb6e58e.tar.zst infinity-for-reddit-f7baba9412c53b0abd54e36d74657433efb6e58e.zip |
Add an option to hide the bottom app bar. Change the icon color in the bottom app bar.
Diffstat (limited to 'app/src/main/java')
4 files changed, 35 insertions, 3 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java index 240f4b4a..d6eeba0c 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java @@ -3,11 +3,14 @@ package ml.docilealligator.infinityforreddit.Activity; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; +import android.content.res.ColorStateList; import android.content.res.Configuration; import android.content.res.Resources; +import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.util.TypedValue; +import android.view.Gravity; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; @@ -24,6 +27,7 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.widget.Toolbar; import androidx.coordinatorlayout.widget.CoordinatorLayout; +import androidx.core.content.ContextCompat; import androidx.core.view.GravityCompat; import androidx.core.widget.NestedScrollView; import androidx.drawerlayout.widget.DrawerLayout; @@ -139,6 +143,8 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb LinearLayout profileLinearLayout; @BindView(R.id.subscriptions_linear_layout_main_activity) LinearLayout subscriptionLinearLayout; + @BindView(R.id.multi_reddits_linear_layout_main_activity) + LinearLayout multiRedditsLinearLayout; @BindView(R.id.inbox_linear_layout_main_activity) LinearLayout inboxLinearLayout; @BindView(R.id.post_label_main_activity) @@ -448,7 +454,17 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb bottomNavigationView.setVisibility(View.GONE); fab.setVisibility(View.GONE); } else { - bottomNavigationView.setVisibility(View.VISIBLE); + if (mSharedPreferences.getBoolean(SharedPreferencesUtils.BOTTOM_APP_BAR_KEY, false)) { + bottomNavigationView.setVisibility(View.VISIBLE); + } else { + CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams) fab.getLayoutParams(); + lp.setAnchorId(View.NO_ID); + lp.gravity = Gravity.END | Gravity.BOTTOM; + fab.setLayoutParams(lp); + fab.setImageTintList(ColorStateList.valueOf(Color.WHITE)); + fab.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.backgroundColorPrimary))); + } + fab.setVisibility(View.VISIBLE); subscriptionsBottomAppBar.setOnClickListener(view -> { Intent intent = new Intent(MainActivity.this, SubscribedThingListingActivity.class); @@ -603,6 +619,7 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb accountLabelTextView.setVisibility(View.GONE); profileLinearLayout.setVisibility(View.GONE); subscriptionLinearLayout.setVisibility(View.GONE); + multiRedditsLinearLayout.setVisibility(View.GONE); inboxLinearLayout.setVisibility(View.GONE); postLabelTextView.setVisibility(View.GONE); upvotedLinearLayout.setVisibility(View.GONE); @@ -642,6 +659,12 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb drawer.closeDrawers(); }); + multiRedditsLinearLayout.setOnClickListener(view -> { + Intent intent = new Intent(this, MultiRedditListingActivity.class); + startActivity(intent); + drawer.closeDrawers(); + }); + inboxLinearLayout.setOnClickListener(view -> { Intent intent = new Intent(this, ViewMessageActivity.class); startActivity(intent); @@ -956,7 +979,7 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb private PostFragment allPostFragment; SectionsPagerAdapter(FragmentManager fm) { - super(fm); + super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); } @NonNull diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java index 061c3c06..1ed80213 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java @@ -244,7 +244,7 @@ public class SubscribedThingListingActivity extends BaseActivity { private FollowedUsersListingFragment followedUsersListingFragment; public SectionsPagerAdapter(FragmentManager fm) { - super(fm); + super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); } @NonNull diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/MainPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/MainPreferenceFragment.java index 99d06569..8228333e 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/MainPreferenceFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/MainPreferenceFragment.java @@ -49,6 +49,7 @@ public class MainPreferenceFragment extends PreferenceFragmentCompat { SwitchPreference amoledDarkSwitch = findPreference(SharedPreferencesUtils.AMOLED_DARK_KEY); SwitchPreference immersiveInterfaceSwitch = findPreference(SharedPreferencesUtils.IMMERSIVE_INTERFACE_KEY); + SwitchPreference bottomAppBarSwitch = findPreference(SharedPreferencesUtils.BOTTOM_APP_BAR_KEY); SwitchPreference voteButtonsOnTheRightSwitch = findPreference(SharedPreferencesUtils.VOTE_BUTTONS_ON_THE_RIGHT_KEY); SwitchPreference showElapsedTimeSwitch = findPreference(SharedPreferencesUtils.SHOW_ELAPSED_TIME_KEY); SwitchPreference nsfwSwitch = findPreference(SharedPreferencesUtils.NSFW_KEY); @@ -78,6 +79,13 @@ public class MainPreferenceFragment extends PreferenceFragmentCompat { } } + if (bottomAppBarSwitch != null) { + bottomAppBarSwitch.setOnPreferenceChangeListener((preference, newValue) -> { + EventBus.getDefault().post(new RecreateActivityEvent()); + return true; + }); + } + if (voteButtonsOnTheRightSwitch != null) { voteButtonsOnTheRightSwitch.setOnPreferenceChangeListener((preference, newValue) -> { EventBus.getDefault().post(new ChangeVoteButtonsPositionEvent((Boolean) newValue)); 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 6fe83045..ef6354aa 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java @@ -30,6 +30,7 @@ public class SharedPreferencesUtils { public static final String CONTENT_FONT_SIZE_KEY = "content_font_size"; public static final String AMOLED_DARK_KEY = "amoled_dark"; public static final String IMMERSIVE_INTERFACE_KEY = "immersive_interface"; + public static final String BOTTOM_APP_BAR_KEY = "bottom_app_bar"; public static final String VOTE_BUTTONS_ON_THE_RIGHT_KEY = "vote_buttons_on_the_right"; public static final String SORT_TYPE_BEST_POST = "sort_type_best_post"; public static final String SORT_TIME_BEST_POST = "sort_time_best_post"; |