@@ -8,12 +8,15 @@ import android.view.Menu
88import android.view.MenuItem
99import android.view.View
1010import android.widget.Toast
11+ import androidx.activity.OnBackPressedCallback
1112import androidx.appcompat.app.AppCompatActivity
1213import androidx.core.app.ActivityCompat
1314import com.github.mikephil.charting.charts.Chart
1415import com.google.android.material.snackbar.Snackbar
1516import info.appdev.chartexample.R
1617import java.text.DateFormatSymbols
18+ import androidx.core.view.size
19+ import androidx.core.view.get
1720
1821abstract class DemoBase : AppCompatActivity (), ActivityCompat.OnRequestPermissionsResultCallback {
1922
@@ -37,21 +40,25 @@ abstract class DemoBase : AppCompatActivity(), ActivityCompat.OnRequestPermissio
3740
3841 tfRegular = Typeface .createFromAsset(assets, " OpenSans-Regular.ttf" )
3942 tfLight = Typeface .createFromAsset(assets, " OpenSans-Light.ttf" )
43+
44+ onBackPressedDispatcher.addCallback(this , backPressedCallback)
4045 }
4146
4247 override fun onPrepareOptionsMenu (menu : Menu ? ): Boolean {
4348 menu?.let {
44- for (i in 0 until menu.size() ) {
45- val menuItem: MenuItem = menu.getItem(i)
49+ for (i in 0 until menu.size) {
50+ val menuItem: MenuItem = menu[i]
4651 optionMenus.add(menuItem.title.toString())
4752 }
4853 }
4954 return super .onPrepareOptionsMenu(menu)
5055 }
5156
52- override fun onBackPressed () {
53- super .onBackPressed()
54- overridePendingTransition(R .anim.move_left_in_activity, R .anim.move_right_out_activity)
57+ private val backPressedCallback = object : OnBackPressedCallback (true ) {
58+ override fun handleOnBackPressed () {
59+ overridePendingTransition(R .anim.move_left_in_activity, R .anim.move_right_out_activity)
60+ onBackPressedDispatcher.onBackPressed()
61+ }
5562 }
5663
5764 override fun onRequestPermissionsResult (requestCode : Int , permissions : Array <String >, grantResults : IntArray ) {
0 commit comments