diff options
author | Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> | 2024-08-18 03:53:05 +0000 |
---|---|---|
committer | Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> | 2024-08-18 03:53:05 +0000 |
commit | 9e74c39106a7b9d8c61b3d89c3a7183ae3acf06f (patch) | |
tree | 7f969d1db7d36ac5bf9fc96cf274152f7dfbc4c6 | |
parent | c6028708a4892a951f44f8b8d49d543158b6821c (diff) | |
download | infinity-for-reddit-9e74c39106a7b9d8c61b3d89c3a7183ae3acf06f.tar infinity-for-reddit-9e74c39106a7b9d8c61b3d89c3a7183ae3acf06f.tar.gz infinity-for-reddit-9e74c39106a7b9d8c61b3d89c3a7183ae3acf06f.tar.bz2 infinity-for-reddit-9e74c39106a7b9d8c61b3d89c3a7183ae3acf06f.tar.lz infinity-for-reddit-9e74c39106a7b9d8c61b3d89c3a7183ae3acf06f.tar.xz infinity-for-reddit-9e74c39106a7b9d8c61b3d89c3a7183ae3acf06f.tar.zst infinity-for-reddit-9e74c39106a7b9d8c61b3d89c3a7183ae3acf06f.zip |
Fix wrong drop down icon shown after closing the navigation drawer.
3 files changed, 23 insertions, 27 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/MainActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/MainActivity.java index 60bfabdc..90694bed 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/MainActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/MainActivity.java @@ -280,7 +280,7 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb @Override public void onDrawerClosed(View drawerView) { if (adapter != null) { - adapter.closeAccountSectionWithoutChangeIconResource(true); + adapter.closeAccountManagement(true); } } }); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/HeaderSectionRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/HeaderSectionRecyclerViewAdapter.java index dd612e6c..8ce63cae 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/HeaderSectionRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/HeaderSectionRecyclerViewAdapter.java @@ -135,8 +135,8 @@ public class HeaderSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc public void onAuthenticationSucceeded( @NonNull BiometricPrompt.AuthenticationResult result) { super.onAuthenticationSucceeded(result); - pageToggle.openAccountSection(); - openAccountSection(((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain); + pageToggle.openAccountManagement(); + openAccountManagement(((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain); } }); @@ -147,17 +147,17 @@ public class HeaderSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc biometricPrompt.authenticate(promptInfo); } else { - pageToggle.openAccountSection(); - openAccountSection(((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain); + pageToggle.openAccountManagement(); + openAccountManagement(((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain); } } else { - pageToggle.openAccountSection(); - openAccountSection(((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain); + pageToggle.openAccountManagement(); + openAccountManagement(((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain); } } else { ((NavHeaderViewHolder) holder).binding.accountSwitcherImageViewNavHeaderMain.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_baseline_arrow_drop_down_24dp, null)); - pageToggle.closeAccountSectionWithoutChangeIconResource(); - closeAccountSectionWithoutChangeIconResource(false); + pageToggle.closeAccountManagement(); + closeAccountManagement(false); } }); } @@ -168,19 +168,16 @@ public class HeaderSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc return 1; } - private void openAccountSection(ImageView dropIconImageView) { + private void openAccountManagement(ImageView dropIconImageView) { dropIconImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.ic_baseline_arrow_drop_up_24dp, null)); isInMainPage = false; } - public boolean closeAccountSectionWithoutChangeIconResource(boolean checkIsInMainPage) { - if (!(checkIsInMainPage && isInMainPage)) { - isInMainPage = true; - return true; + public void closeAccountManagement(boolean notifyItemChanged) { + isInMainPage = true; + if (notifyItemChanged) { + notifyItemChanged(0); } - - notifyItemChanged(0); - return false; } public void updateAccountInfo(String profileImageUrl, String bannerImageUrl, int karma) { @@ -223,7 +220,7 @@ public class HeaderSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recyc } public interface PageToggle { - void openAccountSection(); - void closeAccountSectionWithoutChangeIconResource(); + void openAccountManagement(); + void closeAccountManagement(); } } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/NavigationDrawerRecyclerViewMergedAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/NavigationDrawerRecyclerViewMergedAdapter.java index 7fe52d54..06adecd3 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/NavigationDrawerRecyclerViewMergedAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/NavigationDrawerRecyclerViewMergedAdapter.java @@ -39,13 +39,13 @@ public class NavigationDrawerRecyclerViewMergedAdapter { glide, accountName, sharedPreferences, navigationDrawerSharedPreferences, securitySharedPreferences, new HeaderSectionRecyclerViewAdapter.PageToggle() { @Override - public void openAccountSection() { + public void openAccountManagement() { NavigationDrawerRecyclerViewMergedAdapter.this.openAccountSection(); } @Override - public void closeAccountSectionWithoutChangeIconResource() { - NavigationDrawerRecyclerViewMergedAdapter.this.closeAccountSectionWithoutChangeIconResource(); + public void closeAccountManagement() { + NavigationDrawerRecyclerViewMergedAdapter.this.closeAccountManagement(false); } }); accountSectionRecyclerViewAdapter = new AccountSectionRecyclerViewAdapter(baseActivity, customThemeWrapper, @@ -88,7 +88,7 @@ public class NavigationDrawerRecyclerViewMergedAdapter { mainPageConcatAdapter.addAdapter(accountManagementSectionRecyclerViewAdapter); } - public void closeAccountSectionWithoutChangeIconResource() { + public void closeAccountManagement(boolean refreshHeader) { mainPageConcatAdapter.removeAdapter(accountManagementSectionRecyclerViewAdapter); mainPageConcatAdapter.addAdapter(accountSectionRecyclerViewAdapter); @@ -97,11 +97,10 @@ public class NavigationDrawerRecyclerViewMergedAdapter { mainPageConcatAdapter.addAdapter(preferenceSectionRecyclerViewAdapter); mainPageConcatAdapter.addAdapter(favoriteSubscribedSubredditsSectionRecyclerViewAdapter); mainPageConcatAdapter.addAdapter(subscribedSubredditsRecyclerViewAdapter); - } - public void closeAccountSectionWithoutChangeIconResource(boolean checkIsInMainPage) { - closeAccountSectionWithoutChangeIconResource(); - headerSectionRecyclerViewAdapter.closeAccountSectionWithoutChangeIconResource(checkIsInMainPage); + if (refreshHeader) { + headerSectionRecyclerViewAdapter.closeAccountManagement(true); + } } public void updateAccountInfo(String profileImageUrl, String bannerImageUrl, int karma) { |