diff --git a/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorViewModel.kt b/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorViewModel.kt index 4d2bb4c6016a0..8b74d766a1520 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorViewModel.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/CredentialSelectorViewModel.kt @@ -18,6 +18,7 @@ package com.android.credentialmanager import android.app.Activity import android.os.IBinder +import android.text.TextUtils import android.util.Log import androidx.activity.compose.ManagedActivityResultLauncher import androidx.activity.result.ActivityResult @@ -67,9 +68,9 @@ class CredentialSelectorViewModel( var uiMetrics: UIMetrics = UIMetrics() - init{ + init { uiMetrics.logNormal(LifecycleEvent.CREDMAN_ACTIVITY_INIT, - credManRepo.requestInfo?.appPackageName) + credManRepo.requestInfo?.appPackageName) } /**************************************************************************/ @@ -100,7 +101,7 @@ class CredentialSelectorViewModel( if (this.credManRepo.requestInfo?.token != credManRepo.requestInfo?.token) { this.uiMetrics.resetInstanceId() this.uiMetrics.logNormal(LifecycleEvent.CREDMAN_ACTIVITY_NEW_REQUEST, - credManRepo.requestInfo?.appPackageName) + credManRepo.requestInfo?.appPackageName) } } @@ -174,7 +175,7 @@ class CredentialSelectorViewModel( private fun onInternalError() { Log.w(Constants.LOG_TAG, "UI closed due to illegal internal state") this.uiMetrics.logNormal(LifecycleEvent.CREDMAN_ACTIVITY_INTERNAL_ERROR, - credManRepo.requestInfo?.appPackageName) + credManRepo.requestInfo?.appPackageName) credManRepo.onParsingFailureCancel() uiState = uiState.copy(dialogState = DialogState.COMPLETE) } @@ -314,10 +315,11 @@ class CredentialSelectorViewModel( uiState = uiState.copy( createCredentialUiState = uiState.createCredentialUiState?.copy( currentScreenState = - if (activeEntry.activeProvider.id == - userConfigRepo.getDefaultProviderId()) + if (activeEntry.activeProvider.id == userConfigRepo.getDefaultProviderId() || + !TextUtils.isEmpty(uiState.createCredentialUiState?.requestDisplayInfo + ?.appPreferredDefaultProviderId)) CreateScreenState.CREATION_OPTION_SELECTION - else CreateScreenState.MORE_OPTIONS_ROW_INTRO, + else CreateScreenState.DEFAULT_PROVIDER_CONFIRMATION, activeEntry = activeEntry ) ) diff --git a/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateCredentialComponents.kt b/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateCredentialComponents.kt index 96010cc66821b..9d871ed75494d 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateCredentialComponents.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateCredentialComponents.kt @@ -139,12 +139,12 @@ fun CreateCredentialScreen( onRemoteEntrySelected = viewModel::createFlowOnEntrySelected, onLog = { viewModel.logUiEvent(it) }, ) - CreateScreenState.MORE_OPTIONS_ROW_INTRO -> { + CreateScreenState.DEFAULT_PROVIDER_CONFIRMATION -> { if (createCredentialUiState.activeEntry == null) { viewModel.onIllegalUiState("Expect active entry to be non-null" + " upon default provider dialog.") } else { - MoreOptionsRowIntroCard( + DefaultProviderConfirmationCard( selectedEntry = createCredentialUiState.activeEntry, onIllegalScreenState = viewModel::onIllegalUiState, onChangeDefaultSelected = @@ -420,7 +420,7 @@ fun MoreOptionsSelectionCard( } @Composable -fun MoreOptionsRowIntroCard( +fun DefaultProviderConfirmationCard( selectedEntry: ActiveEntry, onIllegalScreenState: (String) -> Unit, onChangeDefaultSelected: () -> Unit, diff --git a/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateModel.kt b/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateModel.kt index 12bb6298b282e..225dbf2b744f5 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateModel.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateModel.kt @@ -126,6 +126,6 @@ enum class CreateScreenState { PROVIDER_SELECTION, CREATION_OPTION_SELECTION, MORE_OPTIONS_SELECTION, - MORE_OPTIONS_ROW_INTRO, + DEFAULT_PROVIDER_CONFIRMATION, EXTERNAL_ONLY_SELECTION, }