From f6bd8b06025c2eeb7663f3ac1c4447847a819570 Mon Sep 17 00:00:00 2001 From: Helen Qin Date: Wed, 3 May 2023 01:22:18 +0000 Subject: [PATCH] Report user_cancellation when the user back scroll from the UI activity Bug: 280518183 Test: manual (see bug for recording) Change-Id: I243b32a23fa01d79038582f4dc1ddbd4c2e66703 --- .../CredentialSelectorActivity.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorActivity.kt b/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorActivity.kt index 1fb5e3f853b27..54a8678df9cc0 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorActivity.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorActivity.kt @@ -25,6 +25,7 @@ import android.os.Bundle import android.os.ResultReceiver import android.util.Log import androidx.activity.ComponentActivity +import androidx.activity.OnBackPressedCallback import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.setContent import androidx.activity.viewModels @@ -48,11 +49,12 @@ import com.android.credentialmanager.ui.theme.PlatformTheme class CredentialSelectorActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + Log.d(Constants.LOG_TAG, "Creating new CredentialSelectorActivity") overrideActivityTransition(Activity.OVERRIDE_TRANSITION_OPEN, 0, 0) overrideActivityTransition(Activity.OVERRIDE_TRANSITION_CLOSE, 0, 0) - Log.d(Constants.LOG_TAG, "Creating new CredentialSelectorActivity") + try { val (isCancellationRequest, shouldShowCancellationUi, _) = maybeCancelUIUponRequest(intent) @@ -61,6 +63,18 @@ class CredentialSelectorActivity : ComponentActivity() { } val userConfigRepo = UserConfigRepo(this) val credManRepo = CredentialManagerRepo(this, intent, userConfigRepo) + + val backPressedCallback = object : OnBackPressedCallback( + true // default to enabled + ) { + override fun handleOnBackPressed() { + credManRepo.onUserCancel() + Log.d(Constants.LOG_TAG, "Activity back triggered: finish the activity.") + this@CredentialSelectorActivity.finish() + } + } + onBackPressedDispatcher.addCallback(this, backPressedCallback) + setContent { PlatformTheme { CredentialManagerBottomSheet(