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

Commit 18a29a62 authored by Joy Babafemi's avatar Joy Babafemi
Browse files

Revert inline suggestions style to default IME style

Maintains the "no max width" Credman spec
Sets tint blend mode for icon color

Screenshots in comments

Bug: 319126175
Change-Id: I3fb631ae48bce49f4b9011b74682cc506acf4e32
parent d6211262
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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
@@ -351,6 +352,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) {
+4 −47
Original line number Diff line number Diff line
@@ -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()
        }
    }