From 0c38673139c60671bc2b8a12aa946a994bac6945 Mon Sep 17 00:00:00 2001 From: akbarabdul80 Date: Sun, 1 Aug 2021 18:19:06 +0700 Subject: [PATCH] Update selected list in LeftDrawerMgr when switching pages --- .../servando/calendula/HomePagerActivity.java | 9 +++++++++ .../calendula/activities/LeftDrawerMgr.java | 17 +++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/Calendula/src/main/java/es/usc/citius/servando/calendula/HomePagerActivity.java b/Calendula/src/main/java/es/usc/citius/servando/calendula/HomePagerActivity.java index 6301bf906..a6aaa72c2 100644 --- a/Calendula/src/main/java/es/usc/citius/servando/calendula/HomePagerActivity.java +++ b/Calendula/src/main/java/es/usc/citius/servando/calendula/HomePagerActivity.java @@ -139,6 +139,7 @@ public class HomePagerActivity extends CalendulaActivity implements private LeftDrawerMgr drawerMgr; private Patient activePatient; private int pendingRefresh = -2; + private int pagerPositionNow = 0; private Queue pendingEvents = new LinkedList<>(); private Handler handler; @@ -580,6 +581,7 @@ public void onPageScrolled(int position, float positionOffset, int positionOffse public void onPageSelected(int position) { updateTitle(position); updateScrim(position); + pagerPositionNow = position; fabMgr.onViewPagerItemChange(position); if (position == HomePages.HOME.ordinal() && !((DailyAgendaFragment) getViewPagerFragment(HomePages.HOME)).isExpanded()) { appBarLayout.setExpanded(true); @@ -591,6 +593,7 @@ public void onPageSelected(int position) { CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams(); ((DisableableAppBarLayoutBehavior) layoutParams.getBehavior()).setEnabled(false); } + drawerMgr.changePageSelected(position); invalidateOptionsMenu(); } @@ -644,6 +647,12 @@ private void launchActivity(Intent i) { this.overridePendingTransition(0, 0); } + @Override + protected void onResumeFragments() { + super.onResumeFragments(); + drawerMgr.changePageSelected(pagerPositionNow); + } + /* public void askForWEEPermissionsIfNeeded() { String p = Manifest.permission.WRITE_EXTERNAL_STORAGE; diff --git a/Calendula/src/main/java/es/usc/citius/servando/calendula/activities/LeftDrawerMgr.java b/Calendula/src/main/java/es/usc/citius/servando/calendula/activities/LeftDrawerMgr.java index c376e086b..a5c1a245b 100644 --- a/Calendula/src/main/java/es/usc/citius/servando/calendula/activities/LeftDrawerMgr.java +++ b/Calendula/src/main/java/es/usc/citius/servando/calendula/activities/LeftDrawerMgr.java @@ -237,6 +237,23 @@ public void onPagerPositionChange(int pagerPosition) { } } + public void changePageSelected(int pagerPosition) { + switch (pagerPosition) { + case 0: + drawer.setSelection(HOME, false); + break; + case 1: + drawer.setSelection(MEDICINES, false); + break; + case 2: + drawer.setSelection(ROUTINES, false); + break; + case 3: + drawer.setSelection(SCHEDULES, false); + break; + } + } + @Override public boolean onProfileChanged(View view, IProfile profile, boolean current) {