Skip to content

Commit 0d18403

Browse files
GytisBarakauskasGytis Barakauskas
and
Gytis Barakauskas
authored
MOBILE-2219: Migrate from old back handler to onBackPressedDispatcher (#96)
Co-authored-by: Gytis Barakauskas <[email protected]>
1 parent 574afe9 commit 0d18403

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

common/src/main/java/eu/kevin/common/architecture/BaseFragmentActivity.kt

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package eu.kevin.common.architecture
22

33
import android.content.Context
4+
import android.os.Bundle
5+
import androidx.activity.addCallback
46
import androidx.appcompat.app.AppCompatActivity
57
import androidx.fragment.app.Fragment
68
import androidx.fragment.app.commit
@@ -14,7 +16,15 @@ import eu.kevin.core.plugin.Kevin
1416

1517
abstract class BaseFragmentActivity : AppCompatActivity() {
1618

17-
override fun onBackPressed() {
19+
override fun onCreate(savedInstanceState: Bundle?) {
20+
super.onCreate(savedInstanceState)
21+
22+
onBackPressedDispatcher.addCallback(this) {
23+
handleBackPress()
24+
}
25+
}
26+
27+
private fun handleBackPress() {
1828
with(supportFragmentManager) {
1929
fragments.lastOrNull { it.isVisible }?.let { fragment ->
2030
if (fragment !is Navigable || !fragment.onBackPressed()) {

demo/src/main/java/eu/kevin/demo/main/MainActivity.kt

+6-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package eu.kevin.demo.main
22

33
import android.os.Bundle
44
import android.view.ViewGroup
5+
import androidx.activity.addCallback
56
import androidx.appcompat.app.AppCompatActivity
67
import androidx.core.view.ViewCompat
78
import androidx.core.view.WindowCompat
@@ -56,9 +57,13 @@ internal class MainActivity : AppCompatActivity() {
5657
}
5758
}
5859
}
60+
61+
onBackPressedDispatcher.addCallback(this) {
62+
handleBackPressed()
63+
}
5964
}
6065

61-
override fun onBackPressed() {
66+
private fun handleBackPressed() {
6267
if (binding.mainFragmentContainer.currentItem == 0) {
6368
finish()
6469
} else {

0 commit comments

Comments
 (0)