Loading packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt +2 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.credentials.CredentialOption import android.credentials.selection.Entry import android.credentials.selection.GetCredentialProviderData import android.credentials.selection.ProviderData import android.graphics.BlendMode import android.graphics.drawable.Icon import android.os.Bundle import android.os.CancellationSignal Loading Loading @@ -353,6 +354,7 @@ class CredentialAutofillService : AutofillService() { val sliceBuilder = InlineSuggestionUi .newContentBuilder(pendingIntent) .setTitle(displayName) icon.setTintBlendMode(BlendMode.DST) sliceBuilder.setStartIcon(icon) if (primaryEntry.credentialType == CredentialType.PASSKEY && duplicateDisplayNameForPasskeys[displayName] == true) { Loading packages/CredentialManager/src/com/android/credentialmanager/common/ui/InlinePresentationFactory.kt +4 −47 Original line number Diff line number Diff line Loading @@ -21,63 +21,20 @@ package com.android.credentialmanager.common.ui import android.content.Context import android.util.Size import android.widget.inline.InlinePresentationSpec import androidx.autofill.inline.common.TextViewStyle import androidx.autofill.inline.common.ViewStyle import androidx.autofill.inline.UiVersions import androidx.autofill.inline.UiVersions.Style import androidx.autofill.inline.v1.InlineSuggestionUi import androidx.core.content.ContextCompat import android.util.TypedValue import android.graphics.Typeface class InlinePresentationsFactory { companion object { private const val googleSansMediumFontFamily = "google-sans-medium" private const val googleSansTextFontFamily = "google-sans-text" // There is no min width required for now but this is needed for the spec builder private const val minInlineWidth = 5000 // There is no max width required for now but this is needed for the spec builder private const val maxInlineWidth = 5000 fun modifyInlinePresentationSpec(context: Context, originalSpec: InlinePresentationSpec): InlinePresentationSpec { return InlinePresentationSpec.Builder(Size(originalSpec.minSize.width, originalSpec .minSize.height), Size(minInlineWidth, originalSpec Size(maxInlineWidth, originalSpec .maxSize.height)) .setStyle(UiVersions.newStylesBuilder().addStyle(getStyle(context)).build()) .build() } fun getStyle(context: Context): Style { val textColorPrimary = ContextCompat.getColor(context, com.android.credentialmanager.R.color.text_primary) val textColorSecondary = ContextCompat.getColor(context, com.android.credentialmanager.R.color.text_secondary) val textColorBackground = ContextCompat.getColor(context, com.android.credentialmanager.R.color.inline_background) val chipHorizontalPadding = context.resources.getDimensionPixelSize(com.android .credentialmanager.R.dimen.horizontal_chip_padding) val chipVerticalPadding = context.resources.getDimensionPixelSize(com.android .credentialmanager.R.dimen.vertical_chip_padding) return InlineSuggestionUi.newStyleBuilder() .setChipStyle( ViewStyle.Builder().setPadding(chipHorizontalPadding, chipVerticalPadding, chipHorizontalPadding, chipVerticalPadding).build() ) .setTitleStyle( TextViewStyle.Builder().setTextColor(textColorPrimary).setTextSize (TypedValue.COMPLEX_UNIT_DIP, 14F) .setTypeface(googleSansMediumFontFamily, Typeface.NORMAL).setBackgroundColor(textColorBackground) .build() ) .setSubtitleStyle(TextViewStyle.Builder().setTextColor(textColorSecondary) .setTextSize(TypedValue.COMPLEX_UNIT_DIP, 12F).setTypeface (googleSansTextFontFamily, Typeface.NORMAL).setBackgroundColor (textColorBackground).build()) .setStyle(originalSpec.getStyle()) .build() } } Loading Loading
packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt +2 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.credentials.CredentialOption import android.credentials.selection.Entry import android.credentials.selection.GetCredentialProviderData import android.credentials.selection.ProviderData import android.graphics.BlendMode import android.graphics.drawable.Icon import android.os.Bundle import android.os.CancellationSignal Loading Loading @@ -353,6 +354,7 @@ class CredentialAutofillService : AutofillService() { val sliceBuilder = InlineSuggestionUi .newContentBuilder(pendingIntent) .setTitle(displayName) icon.setTintBlendMode(BlendMode.DST) sliceBuilder.setStartIcon(icon) if (primaryEntry.credentialType == CredentialType.PASSKEY && duplicateDisplayNameForPasskeys[displayName] == true) { Loading
packages/CredentialManager/src/com/android/credentialmanager/common/ui/InlinePresentationFactory.kt +4 −47 Original line number Diff line number Diff line Loading @@ -21,63 +21,20 @@ package com.android.credentialmanager.common.ui import android.content.Context import android.util.Size import android.widget.inline.InlinePresentationSpec import androidx.autofill.inline.common.TextViewStyle import androidx.autofill.inline.common.ViewStyle import androidx.autofill.inline.UiVersions import androidx.autofill.inline.UiVersions.Style import androidx.autofill.inline.v1.InlineSuggestionUi import androidx.core.content.ContextCompat import android.util.TypedValue import android.graphics.Typeface class InlinePresentationsFactory { companion object { private const val googleSansMediumFontFamily = "google-sans-medium" private const val googleSansTextFontFamily = "google-sans-text" // There is no min width required for now but this is needed for the spec builder private const val minInlineWidth = 5000 // There is no max width required for now but this is needed for the spec builder private const val maxInlineWidth = 5000 fun modifyInlinePresentationSpec(context: Context, originalSpec: InlinePresentationSpec): InlinePresentationSpec { return InlinePresentationSpec.Builder(Size(originalSpec.minSize.width, originalSpec .minSize.height), Size(minInlineWidth, originalSpec Size(maxInlineWidth, originalSpec .maxSize.height)) .setStyle(UiVersions.newStylesBuilder().addStyle(getStyle(context)).build()) .build() } fun getStyle(context: Context): Style { val textColorPrimary = ContextCompat.getColor(context, com.android.credentialmanager.R.color.text_primary) val textColorSecondary = ContextCompat.getColor(context, com.android.credentialmanager.R.color.text_secondary) val textColorBackground = ContextCompat.getColor(context, com.android.credentialmanager.R.color.inline_background) val chipHorizontalPadding = context.resources.getDimensionPixelSize(com.android .credentialmanager.R.dimen.horizontal_chip_padding) val chipVerticalPadding = context.resources.getDimensionPixelSize(com.android .credentialmanager.R.dimen.vertical_chip_padding) return InlineSuggestionUi.newStyleBuilder() .setChipStyle( ViewStyle.Builder().setPadding(chipHorizontalPadding, chipVerticalPadding, chipHorizontalPadding, chipVerticalPadding).build() ) .setTitleStyle( TextViewStyle.Builder().setTextColor(textColorPrimary).setTextSize (TypedValue.COMPLEX_UNIT_DIP, 14F) .setTypeface(googleSansMediumFontFamily, Typeface.NORMAL).setBackgroundColor(textColorBackground) .build() ) .setSubtitleStyle(TextViewStyle.Builder().setTextColor(textColorSecondary) .setTextSize(TypedValue.COMPLEX_UNIT_DIP, 12F).setTypeface (googleSansTextFontFamily, Typeface.NORMAL).setBackgroundColor (textColorBackground).build()) .setStyle(originalSpec.getStyle()) .build() } } Loading