From f81ca0688e446deac0cff6065a1642629fe5a1cf Mon Sep 17 00:00:00 2001 From: tarsin Date: Thu, 23 Mar 2023 13:03:49 +0800 Subject: [PATCH] Workaround for drawerLayout handle OnBackPressedInvoked only above API 33 --- .../main/java/com/hippo/ehviewer/ui/MainActivity.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 a13cae29a..c638a330c 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.kt @@ -118,6 +118,18 @@ class MainActivity : EhActivity() { startActivity(intent) } + @Suppress("OVERRIDE_DEPRECATION") + override fun onBackPressed() { + check(Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) + val isDrawerOpen = binding.drawView.isDrawerOpen(GravityCompat.START) or + binding.drawView.isDrawerOpen(GravityCompat.END) + if (isDrawerOpen) { + binding.drawView.closeDrawers() + } else { + super.onBackPressed() + } + } + override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent) lifecycleScope.launchUI {