diff options
| author | 2023-05-10 04:49:27 +0000 | |
|---|---|---|
| committer | 2023-05-10 04:49:27 +0000 | |
| commit | 9f64db5079eb53b2385f19fac780522e60091824 (patch) | |
| tree | cb0f76edc06450a568f1330c4127dc207e05b153 | |
| parent | f14751bda9d77e968c96f220ea9d013acb2c8e3f (diff) | |
| parent | c58528f3f4d80a95a187c14d8fbddf2c47c3deb5 (diff) | |
Merge "Bug fixes for the create flow auto select." into udc-dev am: c58528f3f4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23125172
Change-Id: If31c3b826325eaa32546e9c540ce49ce6c4410fe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
3 files changed, 10 insertions, 3 deletions
diff --git a/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt b/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt index d3ec644fcc59..b86eec04d542 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt @@ -480,7 +480,10 @@ class CreateFlowUtils { createCredentialRequestJetpack.preferImmediatelyAvailableCredentials, appPreferredDefaultProviderId = appPreferredDefaultProviderId, userSetDefaultProviderIds = requestInfo.defaultProviderIds.toSet(), - isAutoSelectRequest = createCredentialRequestJetpack.isAutoSelectAllowed, + // The jetpack library requires a fix to parse this value correctly for + // the password type. For now, directly parse it ourselves. + isAutoSelectRequest = createCredentialRequest.credentialData.getBoolean( + Constants.BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS, false), ) is CreatePublicKeyCredentialRequest -> { newRequestDisplayInfoFromPasskeyJson( @@ -491,7 +494,10 @@ class CreateFlowUtils { createCredentialRequestJetpack.preferImmediatelyAvailableCredentials, appPreferredDefaultProviderId = appPreferredDefaultProviderId, userSetDefaultProviderIds = requestInfo.defaultProviderIds.toSet(), - isAutoSelectRequest = createCredentialRequestJetpack.isAutoSelectAllowed, + // The jetpack library requires a fix to parse this value correctly for + // the passkey type. For now, directly parse it ourselves. + isAutoSelectRequest = createCredentialRequest.credentialData.getBoolean( + Constants.BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS, false), ) } is CreateCustomCredentialRequest -> { diff --git a/packages/CredentialManager/src/com/android/credentialmanager/common/Constants.kt b/packages/CredentialManager/src/com/android/credentialmanager/common/Constants.kt index 37e21a8fc161..c6dc5945d886 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/common/Constants.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/common/Constants.kt @@ -19,5 +19,7 @@ package com.android.credentialmanager.common class Constants { companion object Constants { const val LOG_TAG = "CredentialSelector" + const val BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS = + "androidx.credentials.BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED" } }
\ No newline at end of file diff --git a/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateModel.kt b/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateModel.kt index cf7a943f2c66..e9e8c2e0ccbf 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateModel.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/createflow/CreateModel.kt @@ -42,7 +42,6 @@ internal fun isFlowAutoSelectable( // applicable. uiState.currentScreenState != CreateScreenState.PASSKEY_INTRO && uiState.currentScreenState != CreateScreenState.MORE_ABOUT_PASSKEYS_INTRO && - uiState.remoteEntry == null && uiState.sortedCreateOptionsPairs.size == 1 && uiState.activeEntry?.activeEntryInfo?.let { it is CreateOptionInfo && it.allowAutoSelect |