Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ef0489d authored by Helen Qin's avatar Helen Qin Committed by Android (Google) Code Review
Browse files

Merge "Skip provider switching dialog when app sets a preferred default." into udc-dev

parents 0d477056 ca8137f7
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -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
@@ -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
            )
        )
+3 −3
Original line number Diff line number Diff line
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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,
}