From a34e766f70bd70ea981dce09dd072e61b2e3b797 Mon Sep 17 00:00:00 2001 From: tarsin Date: Mon, 2 Jan 2023 09:35:53 +0800 Subject: [PATCH] Fix drawer OnBackPressedCallback --- .../com/hippo/ehviewer/ui/MainActivity.kt | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.kt b/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.kt index 1138f417f..5e0290d14 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.kt @@ -603,25 +603,12 @@ class MainActivity : StageActivity(), NavigationView.OnNavigationItemSelectedLis private val mDrawerOnBackPressedCallback = object : OnBackPressedCallback(false), DrawerListener { - override fun handleOnBackPressed() { - mDrawerLayout?.closeDrawers() - } - - override fun onDrawerSlide(drawerView: View, slideOffset: Float) {} - override fun onDrawerOpened(drawerView: View) { - isEnabled = true - } - + val slideThreshold = 0.05 + override fun handleOnBackPressed() { mDrawerLayout?.closeDrawers() } + override fun onDrawerSlide(drawerView: View, slideOffset: Float) { isEnabled = slideOffset > slideThreshold } + override fun onDrawerOpened(drawerView: View) {} override fun onDrawerClosed(drawerView: View) {} - override fun onDrawerStateChanged(newState: Int) { - when (newState) { - DrawerLayout.STATE_DRAGGING, DrawerLayout.STATE_SETTLING -> isEnabled = true - DrawerLayout.STATE_IDLE -> { - // Note that it's impossible to have two drawers open at the same time - if ((mDrawerLayout?.isDrawerVisible(GravityCompat.START) == true) == (mDrawerLayout?.isDrawerVisible(GravityCompat.END) == true)) isEnabled = false - } - } - } + override fun onDrawerStateChanged(newState: Int) {} } companion object {