Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Commit 6239809

Browse files
committed
fix: convert SettingsActivity to onBackPressedDispatcher
1 parent 7ab2d4c commit 6239809

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

app/src/main/java/app/passwordstore/ui/settings/SettingsActivity.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ package app.passwordstore.ui.settings
77

88
import android.os.Bundle
99
import android.view.MenuItem
10+
import androidx.activity.OnBackPressedCallback
1011
import androidx.appcompat.app.AppCompatActivity
1112
import androidx.core.os.BundleCompat
1213
import app.passwordstore.R
@@ -80,9 +81,17 @@ class SettingsActivity : AppCompatActivity() {
8081
pgpSettings.provideSettings(this)
8182
}
8283
}
84+
val backPressedCallback =
85+
object : OnBackPressedCallback(true) {
86+
override fun handleOnBackPressed() {
87+
preferencesAdapter.goBack()
88+
}
89+
}
90+
onBackPressedDispatcher.addCallback(backPressedCallback)
8391
val adapter = PreferencesAdapter(screen)
8492
adapter.onScreenChangeListener =
8593
PreferencesAdapter.OnScreenChangeListener { subScreen, entering ->
94+
backPressedCallback.isEnabled = entering
8695
supportActionBar?.title =
8796
if (!entering) {
8897
getString(R.string.action_settings)
@@ -117,10 +126,4 @@ class SettingsActivity : AppCompatActivity() {
117126
else -> super.onOptionsItemSelected(item)
118127
}
119128
}
120-
121-
@Deprecated("Deprecated in Java")
122-
@Suppress("DEPRECATION")
123-
override fun onBackPressed() {
124-
if (!preferencesAdapter.goBack()) super.onBackPressed()
125-
}
126129
}

0 commit comments

Comments
 (0)