From 9390eef3679af9aaa9eab214881225e83faa1f64 Mon Sep 17 00:00:00 2001 From: Tejas-67 Date: Fri, 21 Jun 2024 00:20:02 +0530 Subject: [PATCH] refractor: ProfileAndDeviceActivity.kt, AppVersionActivity.kt --- .../appversion/AppVersionActivity.kt | 18 ++++++++++++++++-- .../ProfileAndDeviceIdActivity.kt | 17 +++++++++++++++-- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/oppia/android/app/administratorcontrols/appversion/AppVersionActivity.kt b/app/src/main/java/org/oppia/android/app/administratorcontrols/appversion/AppVersionActivity.kt index e41600bb929..781b17db19e 100644 --- a/app/src/main/java/org/oppia/android/app/administratorcontrols/appversion/AppVersionActivity.kt +++ b/app/src/main/java/org/oppia/android/app/administratorcontrols/appversion/AppVersionActivity.kt @@ -4,6 +4,7 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.view.MenuItem +import androidx.activity.OnBackPressedCallback import org.oppia.android.app.activity.ActivityComponentImpl import org.oppia.android.app.activity.InjectableAutoLocalizedAppCompatActivity import org.oppia.android.app.model.ScreenName.APP_VERSION_ACTIVITY @@ -19,16 +20,29 @@ class AppVersionActivity : InjectableAutoLocalizedAppCompatActivity() { super.onCreate(savedInstanceState) (activityComponent as ActivityComponentImpl).inject(this) appVersionActivityPresenter.handleOnCreate() + handleBackPress() } override fun onOptionsItemSelected(item: MenuItem): Boolean { if (item.itemId == android.R.id.home) { - @Suppress("DEPRECATION") // TODO(#5404): Migrate to a back pressed dispatcher. - onBackPressed() + onBackPressedDispatcher.onBackPressed() } return super.onOptionsItemSelected(item) } + private fun handleBackPress() { + onBackPressedDispatcher.addCallback( + this@AppVersionActivity, + object: OnBackPressedCallback(true){ + override fun handleOnBackPressed() { + isEnabled = false + onBackPressedDispatcher.onBackPressed() + isEnabled = true + } + } + ) + } + companion object { /** Returns an [Intent] to start this activity. */ fun createAppVersionActivityIntent(context: Context): Intent { diff --git a/app/src/main/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivity.kt b/app/src/main/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivity.kt index cf6fb025db6..4e34a4d37d4 100644 --- a/app/src/main/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivity.kt +++ b/app/src/main/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivity.kt @@ -4,6 +4,7 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.view.MenuItem +import androidx.activity.OnBackPressedCallback import org.oppia.android.app.activity.ActivityComponentImpl import org.oppia.android.app.activity.InjectableAutoLocalizedAppCompatActivity import org.oppia.android.app.model.ScreenName.PROFILE_AND_DEVICE_ID_ACTIVITY @@ -24,16 +25,28 @@ class ProfileAndDeviceIdActivity : InjectableAutoLocalizedAppCompatActivity() { super.onCreate(savedInstanceState) (activityComponent as ActivityComponentImpl).inject(this) profileAndDeviceIdActivityPresenter.handleOnCreate() + handleBackPress() } override fun onOptionsItemSelected(item: MenuItem): Boolean { if (item.itemId == android.R.id.home) { - @Suppress("DEPRECATION") // TODO(#5404): Migrate to a back pressed dispatcher. - onBackPressed() + onBackPressedDispatcher.onBackPressed() } return super.onOptionsItemSelected(item) } + private fun handleBackPress(){ + onBackPressedDispatcher.addCallback( + this@ProfileAndDeviceIdActivity, + object: OnBackPressedCallback(true){ + override fun handleOnBackPressed() { + isEnabled = false + onBackPressedDispatcher.onBackPressed() + isEnabled = true + } + } + ) + } companion object { /** Returns an [Intent] to launch [ProfileAndDeviceIdActivity]. */ fun createIntent(context: Context): Intent {