diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c975aaf..c131319 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,7 @@ - + @@ -16,8 +18,10 @@ android:roundIcon="@mipmap/ic_launcher" android:supportsRtl="true" android:usesCleartextTraffic="true" + android:enableOnBackInvokedCallback="true" android:networkSecurityConfig="@xml/network_security_config" - android:theme="@style/AppTheme.SplashScreen"> + android:theme="@style/AppTheme.SplashScreen" + tools:targetApi="tiramisu"> updateAppOnDrawerClose = null @@ -135,6 +141,7 @@ internal class MessagesActivity : } invalidateOptionsMenu() } + onBackPressedCallback.isEnabled = false } } ) @@ -242,12 +249,15 @@ internal class MessagesActivity : refreshAll.setOnClickListener { refreshAll() } } - override fun onBackPressed() { - if (binding.drawerLayout.isDrawerOpen(GravityCompat.START)) { - binding.drawerLayout.closeDrawer(GravityCompat.START) - } else { - super.onBackPressed() + private fun addBackPressCallback() { + onBackPressedCallback = object : OnBackPressedCallback(false) { + override fun handleOnBackPressed() { + if (binding.drawerLayout.isDrawerOpen(GravityCompat.START)) { + binding.drawerLayout.closeDrawer(GravityCompat.START) + } + } } + onBackPressedDispatcher.addCallback(this, onBackPressedCallback) } override fun onNavigationItemSelected(item: MenuItem): Boolean {