From 28cdab341470dffa5f331379fe9702482681d7de Mon Sep 17 00:00:00 2001 From: kubasz Date: Thu, 26 Mar 2020 18:18:19 +0100 Subject: [PATCH] Add exception catching in reflection. Fix deselecting mini drawer. --- .../szczodrzynski/navlib/drawer/NavDrawer.kt | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) 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 cdbc02b..e936ae5 100644 --- a/navlib/src/main/java/pl/szczodrzynski/navlib/drawer/NavDrawer.kt +++ b/navlib/src/main/java/pl/szczodrzynski/navlib/drawer/NavDrawer.kt @@ -171,17 +171,18 @@ class NavDrawer( miniDrawer = MiniDrawerSliderView(context).apply { drawer = this@NavDrawer.drawer includeSecondaryDrawerItems = false - this::class.java.getDeclaredField("onMiniDrawerItemClickListener").let { - it.isAccessible = true - it.set(this, { v: View?, position: Int, item: IDrawerItem<*>, type: Int -> - if (item is MiniProfileDrawerItem) { - profileSelectionOpen() - open() - true - } - else false - }) - } + try { + this::class.java.getDeclaredField("onMiniDrawerItemClickListener").let { + it.isAccessible = true + it.set(this, { v: View?, position: Int, item: IDrawerItem<*>, type: Int -> + if (item is MiniProfileDrawerItem) { + profileSelectionOpen() + open() + true + } else false + }) + } + } catch (_: Exception) { } } updateMiniDrawer() @@ -478,7 +479,7 @@ class NavDrawer( if (drawer.selectedItemIdentifier != id.toLong() || !fireOnClick) drawer.setSelection(id.toLong(), fireOnClick) - //miniDrawer.setSelection(-1L) + miniDrawer.setSelection(-1L) if (drawerMode == DRAWER_MODE_MINI) miniDrawer.setSelection(id.toLong()) }