From 8a707ebec7721bbc3904d369f506064e0b2bed58 Mon Sep 17 00:00:00 2001 From: kubasz Date: Fri, 13 Sep 2019 16:53:54 +0200 Subject: [PATCH] Fix removing badges on other profiles. Deselect mini drawer if item not present. --- .../java/pl/szczodrzynski/navlib/drawer/NavDrawer.kt | 9 +++++++++ navlib/src/main/res/layout/nav_view.xml | 1 + 2 files changed, 10 insertions(+) diff --git a/navlib/src/main/java/pl/szczodrzynski/navlib/drawer/NavDrawer.kt b/navlib/src/main/java/pl/szczodrzynski/navlib/drawer/NavDrawer.kt index bfcf721..850af45 100644 --- a/navlib/src/main/java/pl/szczodrzynski/navlib/drawer/NavDrawer.kt +++ b/navlib/src/main/java/pl/szczodrzynski/navlib/drawer/NavDrawer.kt @@ -23,6 +23,7 @@ import com.mikepenz.materialdrawer.holder.StringHolder import com.mikepenz.materialdrawer.model.BaseDrawerItem import com.mikepenz.materialdrawer.model.ProfileDrawerItem import com.mikepenz.materialdrawer.model.ProfileSettingDrawerItem +import com.mikepenz.materialdrawer.model.interfaces.Badgeable import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem import com.mikepenz.materialdrawer.model.interfaces.IProfile import pl.szczodrzynski.navlib.* @@ -491,6 +492,7 @@ class NavDrawer( if (drawer?.currentSelection != id.toLong() || !fireOnClick) drawer?.setSelection(id.toLong(), fireOnClick) + miniDrawer?.setSelection(-1L) if (drawerMode == DRAWER_MODE_MINI) miniDrawer?.setSelection(id.toLong()) } @@ -629,6 +631,13 @@ class NavDrawer( currentProfileObj = profileList.singleOrNull { it.id == currentProfile } + drawer?.drawerItems?.forEachIndexed { index, item -> + if (item is Badgeable<*>) { + item.withBadge(null) + drawer!!.updateItem(item) + } + } + Log.d("NavDebug", "updateBadges()") unreadCounterList.map { it.drawerItemId = unreadCounterTypeMap[it.type] diff --git a/navlib/src/main/res/layout/nav_view.xml b/navlib/src/main/res/layout/nav_view.xml index ef33bad..92b12b2 100644 --- a/navlib/src/main/res/layout/nav_view.xml +++ b/navlib/src/main/res/layout/nav_view.xml @@ -48,6 +48,7 @@ android:layout_height="match_parent">