Skip to content

Commit ff08b5d

Browse files
committed
Replace deprecated onBackPressed override with callback
1 parent 7effc51 commit ff08b5d

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

app/src/main/kotlin/co/anitrend/component/screen/MainScreen.kt

+13-9
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import android.os.Bundle
2121
import android.view.Menu
2222
import android.view.MenuItem
2323
import android.widget.Toast
24+
import androidx.activity.OnBackPressedCallback
2425
import androidx.annotation.IdRes
2526
import androidx.core.app.ActivityCompat
2627
import androidx.fragment.app.Fragment
@@ -97,6 +98,13 @@ class MainScreen : AniTrendScreen<MainScreenBinding>() {
9798
}
9899
}
99100

101+
private val onBackPressedCallback =
102+
object : OnBackPressedCallback(true) {
103+
override fun handleOnBackPressed() {
104+
onBackPressedDelegate()
105+
}
106+
}
107+
100108
private suspend fun observeNavigationDrawer() {
101109
navigationDrawer.navigationFlow
102110
.onEach(::onNavigationItemSelected)
@@ -151,6 +159,10 @@ class MainScreen : AniTrendScreen<MainScreenBinding>() {
151159
binding = MainScreenBinding.inflate(layoutInflater)
152160
setContentView(requireBinding().root)
153161
setSupportActionBar(requireBinding().bottomAppBar)
162+
onBackPressedDispatcher.addCallback(
163+
this,
164+
onBackPressedCallback
165+
)
154166
}
155167

156168
override fun initializeComponents(savedInstanceState: Bundle?) {
@@ -213,15 +225,7 @@ class MainScreen : AniTrendScreen<MainScreenBinding>() {
213225
super.onSaveInstanceState(outState)
214226
}
215227

216-
/**
217-
* Called when the activity has detected the user's press of the back
218-
* key. The [getOnBackPressedDispatcher] will be given a
219-
* chance to handle the back button before the default behavior of
220-
* [android.app.Activity.onBackPressed] is invoked.
221-
*
222-
* @see getOnBackPressedDispatcher
223-
*/
224-
override fun onBackPressed() {
228+
private fun onBackPressedDelegate() {
225229
if (navigationDrawer.isShowing()) {
226230
navigationDrawer.dismiss()
227231
return

0 commit comments

Comments
 (0)