From fb2d93e5b5a88de5397454b70cb4038f6210dc1d Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Tue, 9 Sep 2025 11:03:45 +0200 Subject: [PATCH] onBackPressed deprecated --- .../chartexample/notimportant/DemoBase.kt | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/info/appdev/chartexample/notimportant/DemoBase.kt b/app/src/main/java/info/appdev/chartexample/notimportant/DemoBase.kt index d9a372fe4..f1ce8e9c1 100644 --- a/app/src/main/java/info/appdev/chartexample/notimportant/DemoBase.kt +++ b/app/src/main/java/info/appdev/chartexample/notimportant/DemoBase.kt @@ -8,12 +8,15 @@ import android.view.Menu import android.view.MenuItem import android.view.View import android.widget.Toast +import androidx.activity.OnBackPressedCallback import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import com.github.mikephil.charting.charts.Chart import com.google.android.material.snackbar.Snackbar import info.appdev.chartexample.R import java.text.DateFormatSymbols +import androidx.core.view.size +import androidx.core.view.get abstract class DemoBase : AppCompatActivity(), ActivityCompat.OnRequestPermissionsResultCallback { @@ -37,21 +40,25 @@ abstract class DemoBase : AppCompatActivity(), ActivityCompat.OnRequestPermissio tfRegular = Typeface.createFromAsset(assets, "OpenSans-Regular.ttf") tfLight = Typeface.createFromAsset(assets, "OpenSans-Light.ttf") + + onBackPressedDispatcher.addCallback(this, backPressedCallback) } override fun onPrepareOptionsMenu(menu: Menu?): Boolean { menu?.let { - for (i in 0 until menu.size()) { - val menuItem: MenuItem = menu.getItem(i) + for (i in 0 until menu.size) { + val menuItem: MenuItem = menu[i] optionMenus.add(menuItem.title.toString()) } } return super.onPrepareOptionsMenu(menu) } - override fun onBackPressed() { - super.onBackPressed() - overridePendingTransition(R.anim.move_left_in_activity, R.anim.move_right_out_activity) + private val backPressedCallback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + overridePendingTransition(R.anim.move_left_in_activity, R.anim.move_right_out_activity) + onBackPressedDispatcher.onBackPressed() + } } override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {