aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDocile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>2024-08-18 03:53:05 +0000
committerDocile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>2024-08-18 03:53:05 +0000
commit9e74c39106a7b9d8c61b3d89c3a7183ae3acf06f (patch)
tree7f969d1db7d36ac5bf9fc96cf274152f7dfbc4c6
parentc6028708a4892a951f44f8b8d49d543158b6821c (diff)
downloadinfinity-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.
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/MainActivity.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/HeaderSectionRecyclerViewAdapter.java33
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/navigationdrawer/NavigationDrawerRecyclerViewMergedAdapter.java15
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) {