diff options
author | Alex Ning <chineseperson5@gmail.com> | 2019-12-18 10:35:58 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2019-12-18 10:35:58 +0000 |
commit | 5097919a3616b4dab44cc36e24fe8b08d7daf8dc (patch) | |
tree | 6e1ef60397e6e09e09eb33688623ad9b1da067f4 | |
parent | ee02d63345e479b2726185b1168015740b9a5a5a (diff) | |
download | infinity-for-reddit-5097919a3616b4dab44cc36e24fe8b08d7daf8dc.tar infinity-for-reddit-5097919a3616b4dab44cc36e24fe8b08d7daf8dc.tar.gz infinity-for-reddit-5097919a3616b4dab44cc36e24fe8b08d7daf8dc.tar.bz2 infinity-for-reddit-5097919a3616b4dab44cc36e24fe8b08d7daf8dc.tar.lz infinity-for-reddit-5097919a3616b4dab44cc36e24fe8b08d7daf8dc.tar.xz infinity-for-reddit-5097919a3616b4dab44cc36e24fe8b08d7daf8dc.tar.zst infinity-for-reddit-5097919a3616b4dab44cc36e24fe8b08d7daf8dc.zip |
Add a BottomAppBar to navigate to subscriptions and multireddits.
16 files changed, 121 insertions, 52 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 6b592d72..d8021fce 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java @@ -45,6 +45,7 @@ import com.bumptech.glide.RequestManager; import com.bumptech.glide.request.RequestOptions; import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.appbar.CollapsingToolbarLayout; +import com.google.android.material.bottomappbar.BottomAppBar; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.tabs.TabLayout; @@ -162,6 +163,12 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb TabLayout tabLayout; @BindView(R.id.fab_main_activity) FloatingActionButton fab; + @BindView(R.id.bottom_navigation_main_activity) + BottomAppBar bottomNavigationView; + @BindView(R.id.subscriptions_bottom_app_bar_main_activity) + TextView subscriptionsBottomAppBar; + @BindView(R.id.multi_reddit_bottom_app_bar_main_activity) + TextView multiRedditBottomAppBar; AccountViewModel accountViewModel; @Inject @Named("oauth") @@ -353,20 +360,12 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb mNewAccountName = null; if (newAccount == null) { mNullAccessToken = true; - - if (mMenu != null) { - mMenu.findItem(R.id.action_subscriptions_main_activity).setVisible(false); - } } else { mAccessToken = newAccount.getAccessToken(); mAccountName = newAccount.getUsername(); mProfileImageUrl = newAccount.getProfileImageUrl(); mBannerImageUrl = newAccount.getBannerImageUrl(); mKarma = newAccount.getKarma(); - - if (mMenu != null) { - mMenu.findItem(R.id.action_subscriptions_main_activity).setVisible(true); - } } if (enableNotification) { @@ -395,10 +394,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb mBannerImageUrl = account.getBannerImageUrl(); mKarma = account.getKarma(); - if (mMenu != null) { - mMenu.findItem(R.id.action_subscriptions_main_activity).setVisible(true); - } - if (enableNotification) { Constraints constraints = new Constraints.Builder() .setRequiredNetworkType(NetworkType.CONNECTED) @@ -421,20 +416,12 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb } else { if (account == null) { mNullAccessToken = true; - - if (mMenu != null) { - mMenu.findItem(R.id.action_subscriptions_main_activity).setVisible(false); - } } else { mAccessToken = account.getAccessToken(); mAccountName = account.getUsername(); mProfileImageUrl = account.getProfileImageUrl(); mBannerImageUrl = account.getBannerImageUrl(); mKarma = account.getKarma(); - - if (mMenu != null) { - mMenu.findItem(R.id.action_subscriptions_main_activity).setVisible(true); - } } if (enableNotification) { @@ -464,6 +451,21 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb return; } + if (mAccessToken == null) { + bottomNavigationView.setVisibility(View.GONE); + } else { + bottomNavigationView.setVisibility(View.VISIBLE); + subscriptionsBottomAppBar.setOnClickListener(view -> { + Intent intent = new Intent(MainActivity.this, SubscribedThingListingActivity.class); + startActivity(intent); + }); + + multiRedditBottomAppBar.setOnClickListener(view -> { + Intent intent = new Intent(MainActivity.this, MultiRedditListingActivity.class); + startActivity(intent); + }); + } + sectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(sectionsPagerAdapter); viewPager.setOffscreenPageLimit(3); @@ -783,13 +785,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb getMenuInflater().inflate(R.menu.main_activity, menu); mMenu = menu; MenuItem lazyModeItem = mMenu.findItem(R.id.action_lazy_mode_main_activity); - MenuItem subscriptionsItem = mMenu.findItem(R.id.action_subscriptions_main_activity); - - if (mAccessToken != null) { - subscriptionsItem.setVisible(true); - } else { - subscriptionsItem.setVisible(false); - } if (isInLazyMode) { lazyModeItem.setTitle(R.string.action_stop_lazy_mode); @@ -807,12 +802,6 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { - case R.id.action_subscriptions_main_activity: - /*Intent subscriptionsIntent = new Intent(this, SubscribedThingListingActivity.class); - startActivity(subscriptionsIntent);*/ - Intent multiIntent = new Intent(this, MultiRedditListingActivity.class); - startActivity(multiIntent); - return true; case R.id.action_sort_main_activity: if (viewPager.getCurrentItem() == 1 || viewPager.getCurrentItem() == 2) { popularAndAllSortTypeBottomSheetFragment.show(getSupportFragmentManager(), popularAndAllSortTypeBottomSheetFragment.getTag()); @@ -935,11 +924,13 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb } public void postScrollUp() { + bottomNavigationView.performShow(); fab.show(); } public void postScrollDown() { fab.hide(); + bottomNavigationView.performHide(); } @Subscribe diff --git a/app/src/main/res/drawable-hdpi/baseline_add_white_24.png b/app/src/main/res/drawable-hdpi/baseline_add_white_24.png Binary files differdeleted file mode 100755 index ea78104d..00000000 --- a/app/src/main/res/drawable-hdpi/baseline_add_white_24.png +++ /dev/null diff --git a/app/src/main/res/drawable-mdpi/baseline_add_white_24.png b/app/src/main/res/drawable-mdpi/baseline_add_white_24.png Binary files differdeleted file mode 100755 index eeba9f66..00000000 --- a/app/src/main/res/drawable-mdpi/baseline_add_white_24.png +++ /dev/null diff --git a/app/src/main/res/drawable-night/ic_add_bottom_app_bar_24dp.xml b/app/src/main/res/drawable-night/ic_add_bottom_app_bar_24dp.xml new file mode 100644 index 00000000..b6814bc2 --- /dev/null +++ b/app/src/main/res/drawable-night/ic_add_bottom_app_bar_24dp.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M18,13h-5v5c0,0.55 -0.45,1 -1,1s-1,-0.45 -1,-1v-5H6c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1h5V6c0,-0.55 0.45,-1 1,-1s1,0.45 1,1v5h5c0.55,0 1,0.45 1,1s-0.45,1 -1,1z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_outline_check_circle_outline_white_24px.xml b/app/src/main/res/drawable-night/ic_outline_check_circle_outline_bottom_app_bar_24dp.xml index 191a8e4c..191a8e4c 100644 --- a/app/src/main/res/drawable/ic_outline_check_circle_outline_white_24px.xml +++ b/app/src/main/res/drawable-night/ic_outline_check_circle_outline_bottom_app_bar_24dp.xml diff --git a/app/src/main/res/drawable-xhdpi/baseline_add_white_24.png b/app/src/main/res/drawable-xhdpi/baseline_add_white_24.png Binary files differdeleted file mode 100755 index 67bb598e..00000000 --- a/app/src/main/res/drawable-xhdpi/baseline_add_white_24.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxhdpi/baseline_add_white_24.png b/app/src/main/res/drawable-xxhdpi/baseline_add_white_24.png Binary files differdeleted file mode 100755 index 0fdced8f..00000000 --- a/app/src/main/res/drawable-xxhdpi/baseline_add_white_24.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxxhdpi/baseline_add_white_24.png b/app/src/main/res/drawable-xxxhdpi/baseline_add_white_24.png Binary files differdeleted file mode 100755 index d64c22e9..00000000 --- a/app/src/main/res/drawable-xxxhdpi/baseline_add_white_24.png +++ /dev/null diff --git a/app/src/main/res/drawable/ic_add_24dp.xml b/app/src/main/res/drawable/ic_add_24dp.xml new file mode 100644 index 00000000..ed95d188 --- /dev/null +++ b/app/src/main/res/drawable/ic_add_24dp.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:fillColor="#FF000000" + android:pathData="M18,13h-5v5c0,0.55 -0.45,1 -1,1s-1,-0.45 -1,-1v-5H6c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1h5V6c0,-0.55 0.45,-1 1,-1s1,0.45 1,1v5h5c0.55,0 1,0.45 1,1s-0.45,1 -1,1z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_add_bottom_app_bar_24dp.xml b/app/src/main/res/drawable/ic_add_bottom_app_bar_24dp.xml new file mode 100644 index 00000000..a032b560 --- /dev/null +++ b/app/src/main/res/drawable/ic_add_bottom_app_bar_24dp.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:fillColor="#8A000000" + android:pathData="M18,13h-5v5c0,0.55 -0.45,1 -1,1s-1,-0.45 -1,-1v-5H6c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1h5V6c0,-0.55 0.45,-1 1,-1s1,0.45 1,1v5h5c0.55,0 1,0.45 1,1s-0.45,1 -1,1z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_outline_check_circle_outline_bottom_app_bar_24dp.xml b/app/src/main/res/drawable/ic_outline_check_circle_outline_bottom_app_bar_24dp.xml new file mode 100644 index 00000000..e518509a --- /dev/null +++ b/app/src/main/res/drawable/ic_outline_check_circle_outline_bottom_app_bar_24dp.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:fillColor="#8A000000" + android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM16.59,7.58L10,14.17l-2.59,-2.58L6,13l4,4 8,-8z"/> +</vector> diff --git a/app/src/main/res/layout/activity_view_subreddit_detail.xml b/app/src/main/res/layout/activity_view_subreddit_detail.xml index faa42a70..fffa6a96 100644 --- a/app/src/main/res/layout/activity_view_subreddit_detail.xml +++ b/app/src/main/res/layout/activity_view_subreddit_detail.xml @@ -132,6 +132,6 @@ android:layout_margin="@dimen/fab_margin" app:backgroundTint="@color/backgroundColorPrimary" app:tint="@android:color/white" - app:srcCompat="@drawable/baseline_add_white_24" /> + app:srcCompat="@drawable/ic_add_24dp" /> </androidx.coordinatorlayout.widget.CoordinatorLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml index c7993b14..1fcb0353 100644 --- a/app/src/main/res/layout/app_bar_main.xml +++ b/app/src/main/res/layout/app_bar_main.xml @@ -56,14 +56,63 @@ android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> + <com.google.android.material.bottomappbar.BottomAppBar + android:id="@+id/bottom_navigation_main_activity" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="bottom" + android:gravity="center" + app:backgroundTint="?attr/backgroundColor" + app:layout_anchorGravity="start" + app:fabAnimationMode="scale" + app:fabAlignmentMode="center"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:weightSum="3" + android:paddingStart="0dp" + android:paddingEnd="16dp"> + + <TextView + android:id="@+id/subscriptions_bottom_app_bar_main_activity" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:gravity="center" + android:drawableTop="@drawable/ic_outline_check_circle_outline_bottom_app_bar_24dp" + android:text="@string/subscriptions" + android:textColor="@color/defaultTextColor" + android:background="?attr/selectableItemBackgroundBorderless" /> + + <TextView + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:background="@android:color/transparent"/> + + <TextView + android:id="@+id/multi_reddit_bottom_app_bar_main_activity" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:gravity="center" + android:drawableTop="@drawable/ic_outline_check_circle_outline_bottom_app_bar_24dp" + android:text="@string/multi_reddit_listing_activity" + android:textColor="@color/defaultTextColor" + android:background="?attr/selectableItemBackgroundBorderless"/> + + </LinearLayout> + </com.google.android.material.bottomappbar.BottomAppBar> + <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/fab_main_activity" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" - app:backgroundTint="@color/backgroundColorPrimary" - app:tint="@android:color/white" - app:srcCompat="@drawable/baseline_add_white_24" /> + app:backgroundTint="?attr/backgroundColor" + app:srcCompat="@drawable/ic_add_bottom_app_bar_24dp" + app:tint="@null" + app:layout_anchor="@id/bottom_navigation_main_activity" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/app/src/main/res/layout/item_subreddit_listing.xml b/app/src/main/res/layout/item_subreddit_listing.xml index f710ca43..68157c95 100644 --- a/app/src/main/res/layout/item_subreddit_listing.xml +++ b/app/src/main/res/layout/item_subreddit_listing.xml @@ -35,7 +35,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:src="@drawable/baseline_add_white_24" + android:src="@drawable/ic_add_24dp" android:tint="@color/colorPrimaryDarkDayNightTheme" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" diff --git a/app/src/main/res/layout/item_user_listing.xml b/app/src/main/res/layout/item_user_listing.xml index 6ecb1ab7..a69b6a37 100644 --- a/app/src/main/res/layout/item_user_listing.xml +++ b/app/src/main/res/layout/item_user_listing.xml @@ -35,7 +35,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:src="@drawable/baseline_add_white_24" + android:src="@drawable/ic_add_24dp" android:tint="@color/colorPrimaryDarkDayNightTheme" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" diff --git a/app/src/main/res/menu/main_activity.xml b/app/src/main/res/menu/main_activity.xml index cfc38eff..b500d3a7 100644 --- a/app/src/main/res/menu/main_activity.xml +++ b/app/src/main/res/menu/main_activity.xml @@ -3,43 +3,36 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:application="ml.docilealligator.infinityforreddit.Activity.MainActivity"> - <item - android:id="@+id/action_subscriptions_main_activity" - android:orderInCategory="1" - android:title="@string/action_subscriptions" - android:icon="@drawable/ic_outline_check_circle_outline_white_24px" - app:showAsAction="ifRoom" - android:visible="false"/> <item android:id="@+id/action_search_main_activity" - android:orderInCategory="2" + android:orderInCategory="1" android:title="@string/action_search" android:icon="@drawable/ic_search_white_24dp" app:showAsAction="ifRoom" /> <item android:id="@+id/action_sort_main_activity" - android:orderInCategory="3" + android:orderInCategory="2" android:title="@string/action_sort" android:icon="@drawable/ic_outline_sort_24px" app:showAsAction="ifRoom" /> <item android:id="@+id/action_refresh_main_activity" - android:orderInCategory="4" + android:orderInCategory="3" android:title="@string/action_refresh" app:showAsAction="never" /> <item android:id="@+id/action_lazy_mode_main_activity" - android:orderInCategory="5" + android:orderInCategory="4" android:title="@string/action_start_lazy_mode" app:showAsAction="never" /> <item android:id="@+id/action_change_post_layout_main_activity" - android:orderInCategory="6" + android:orderInCategory="5" android:title="@string/action_change_post_layout" app:showAsAction="never" /> </menu>
\ No newline at end of file |