From 92939804ddba9cc4f5949ac59a33ce4d59f81bb8 Mon Sep 17 00:00:00 2001 From: Gideon Okuro Date: Tue, 4 Jun 2024 21:43:41 +0300 Subject: [PATCH] all: modern back press (fixes #2028) (#2029) Co-authored-by: dogi --- .../kotlin/io/treehouses/remote/InitialActivity.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/io/treehouses/remote/InitialActivity.kt b/app/src/main/kotlin/io/treehouses/remote/InitialActivity.kt index 01be8a2e9..4f9d586f9 100644 --- a/app/src/main/kotlin/io/treehouses/remote/InitialActivity.kt +++ b/app/src/main/kotlin/io/treehouses/remote/InitialActivity.kt @@ -11,6 +11,7 @@ import android.view.MenuItem import android.view.View import android.view.inputmethod.InputMethodManager import android.widget.Toast +import androidx.activity.OnBackPressedCallback import androidx.appcompat.app.ActionBarDrawerToggle import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.Toolbar @@ -58,6 +59,12 @@ class InitialActivity : BaseInitialActivity() { } checkStatusNow() openCallFragment(HomeFragment()) + + onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + handleCustomOnBackPressed() + } + }) } private fun startGPSService() { @@ -85,8 +92,7 @@ class InitialActivity : BaseInitialActivity() { bind.navView.setNavigationItemSelectedListener(this) } - override fun onBackPressed() { - super.onBackPressed() + fun handleCustomOnBackPressed() { if (bind.drawerLayout.isDrawerOpen(GravityCompat.START)) bind.drawerLayout.closeDrawer(GravityCompat.START) else { val f = supportFragmentManager.findFragmentById(R.id.fragment_container)