From 3a059797cdd0efd10c260de143f0f1a7d1c57da0 Mon Sep 17 00:00:00 2001 From: Helen Qin Date: Thu, 2 Mar 2023 06:52:34 +0000 Subject: Fix the CredMan UI module to adopt the new credentials apis. Bug: 271283162 Test: local deployment Change-Id: I4d29a35c05fc96b5890c68cda911c6deb02491bf --- .../src/com/android/credentialmanager/DataConverter.kt | 17 ++--------------- .../src/com/android/credentialmanager/TestUtils.kt | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt b/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt index a834994a5b0f..1f6c8ec5897b 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt @@ -52,9 +52,7 @@ import androidx.credentials.CreateCustomCredentialRequest import androidx.credentials.CreatePasswordRequest import androidx.credentials.CredentialOption import androidx.credentials.CreatePublicKeyCredentialRequest -import androidx.credentials.CreatePublicKeyCredentialRequestPrivileged import androidx.credentials.GetPublicKeyCredentialOption -import androidx.credentials.GetPublicKeyCredentialOptionPrivileged import androidx.credentials.PublicKeyCredential.Companion.TYPE_PUBLIC_KEY_CREDENTIAL import androidx.credentials.provider.Action import androidx.credentials.provider.AuthenticationAction @@ -186,8 +184,6 @@ class GetFlowUtils { ) if (credentialOptionJetpack is GetPublicKeyCredentialOption) { credentialOptionJetpack.preferImmediatelyAvailableCredentials - } else if (credentialOptionJetpack is GetPublicKeyCredentialOptionPrivileged) { - credentialOptionJetpack.preferImmediatelyAvailableCredentials } else { false } @@ -448,23 +444,14 @@ class CreateFlowUtils { createCredentialRequestJetpack.preferImmediatelyAvailableCredentials, ) } - is CreatePublicKeyCredentialRequestPrivileged -> { - newRequestDisplayInfoFromPasskeyJson( - requestJson = createCredentialRequestJetpack.requestJson, - appLabel = appLabel, - context = context, - preferImmediatelyAvailableCredentials = - createCredentialRequestJetpack.preferImmediatelyAvailableCredentials, - ) - } is CreateCustomCredentialRequest -> { // TODO: directly use the display info once made public val displayInfo = CreateCredentialRequest.DisplayInfo .parseFromCredentialDataBundle(createCredentialRequest.credentialData) ?: return null RequestDisplayInfo( - title = displayInfo.userId, - subtitle = displayInfo.userDisplayName, + title = displayInfo.userId.toString(), + subtitle = displayInfo.userDisplayName?.toString(), type = CredentialType.UNKNOWN, appName = appLabel, typeIcon = displayInfo.credentialTypeIcon?.loadDrawable(context) diff --git a/packages/CredentialManager/src/com/android/credentialmanager/TestUtils.kt b/packages/CredentialManager/src/com/android/credentialmanager/TestUtils.kt index 9216429eac52..75b12ff756ad 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/TestUtils.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/TestUtils.kt @@ -25,7 +25,10 @@ import android.credentials.Credential.TYPE_PASSWORD_CREDENTIAL import android.credentials.ui.AuthenticationEntry import android.credentials.ui.Entry import android.net.Uri +import android.os.Bundle import android.provider.Settings +import androidx.credentials.provider.BeginGetPasswordOption +import androidx.credentials.provider.BeginGetPublicKeyCredentialOption import androidx.credentials.provider.CreateEntry import androidx.credentials.provider.PasswordCredentialEntry import androidx.credentials.provider.PublicKeyCredentialEntry @@ -82,7 +85,9 @@ class GetTestUtils { return Entry( key, subkey, - RemoteCredentialEntry(pendingIntent).slice + RemoteCredentialEntry(pendingIntent, BeginGetPublicKeyCredentialOption( + Bundle(), "id", "requestjson" + )).slice ) } @@ -137,7 +142,8 @@ class GetTestUtils { intent, (PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_ONE_SHOT) ) - val passwordEntry = PasswordCredentialEntry.Builder(context, userName, pendingIntent) + val passwordEntry = PasswordCredentialEntry.Builder( + context, userName, pendingIntent, BeginGetPasswordOption(Bundle(), "id")) .setDisplayName(userDisplayName).setLastUsedTime(lastUsedTime).build() return Entry(key, subkey, passwordEntry.slice, Intent()) } @@ -158,8 +164,12 @@ class GetTestUtils { intent, (PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_ONE_SHOT) ) - val passkeyEntry = PublicKeyCredentialEntry.Builder(context, userName, pendingIntent) - .setDisplayName(userDisplayName).setLastUsedTime(lastUsedTime).build() + val passkeyEntry = PublicKeyCredentialEntry.Builder( + context, + userName, + pendingIntent, + BeginGetPublicKeyCredentialOption(Bundle(), "id", "requestjson") + ).setDisplayName(userDisplayName).setLastUsedTime(lastUsedTime).build() return Entry(key, subkey, passkeyEntry.slice, Intent()) } } -- cgit v1.2.3-59-g8ed1b