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

Commit fa000e10 authored by Austin Delgado's avatar Austin Delgado
Browse files

Update Biometric Prompt icon types

Bug: 427450479
Flag: android.hardware.biometrics.add_fallback
Test: atest BiometricPromptRequestTest
NO_IFTTT=FallbackOption updated, used in PromptInfo

Change-Id: I69cb3902c6522e371fad407d1b297c3c41072592
parent ff02350e
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -19622,6 +19622,11 @@ package android.hardware.biometrics {
    field public static final int BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
    field public static final long BIOMETRIC_NO_AUTHENTICATION = -1L; // 0xffffffffffffffffL
    field public static final int BIOMETRIC_SUCCESS = 0; // 0x0
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int ICON_TYPE_ACCOUNT = 2; // 0x2
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int ICON_TYPE_GENERIC = 3; // 0x3
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int ICON_TYPE_PASSWORD = 0; // 0x0
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int ICON_TYPE_QR_CODE = 1; // 0x1
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int ICON_TYPE_SETTING = 4; // 0x4
  }
  public static interface BiometricManager.Authenticators {
@@ -19631,14 +19636,6 @@ package android.hardware.biometrics {
    field @FlaggedApi("android.hardware.biometrics.identity_check_api") public static final int IDENTITY_CHECK = 65536; // 0x10000
  }
  @FlaggedApi("android.hardware.biometrics.add_fallback") public static interface BiometricManager.IconType {
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int ACCOUNT = 2; // 0x2
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int GENERIC = 3; // 0x3
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int PASSWORD = 0; // 0x0
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int QR_CODE = 1; // 0x1
    field @FlaggedApi("android.hardware.biometrics.add_fallback") public static final int SETTING = 4; // 0x4
  }
  public static class BiometricManager.Strings {
    method @Nullable @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public CharSequence getButtonLabel();
    method @Nullable @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public CharSequence getPromptMessage();
+37 −39
Original line number Diff line number Diff line
@@ -178,51 +178,49 @@ public class BiometricManager {
    }

    /**
     * An {@link IntDef} representing the icons for biometric prompt fallbacks
     */
    @FlaggedApi(FLAG_ADD_FALLBACK)
    public interface IconType {
        /**
     * An {@link IntDef} representing the different icon types that can be used in the biometric
     * prompt fallback options
     * @hide
     */
        @IntDef({PASSWORD,
                QR_CODE,
                ACCOUNT,
                GENERIC,
                SETTING})
    @IntDef(prefix = { "ICON_TYPE_" }, value = {
            ICON_TYPE_PASSWORD,
            ICON_TYPE_QR_CODE,
            ICON_TYPE_ACCOUNT,
            ICON_TYPE_GENERIC,
            ICON_TYPE_SETTING
    })
    @Retention(RetentionPolicy.SOURCE)
        @interface Types {}
    public @interface IconType {}

    /**
         * Password icon
     * An icon representing a password.
     */
    @FlaggedApi(FLAG_ADD_FALLBACK)
        int PASSWORD = 0;
    public static final int ICON_TYPE_PASSWORD = 0;

    /**
         * QR code icon
     * An icon representing a QR code.
     */
    @FlaggedApi(FLAG_ADD_FALLBACK)
        int QR_CODE = 1;
    public static final int ICON_TYPE_QR_CODE = 1;

    /**
         * Account icon
     * An icon representing a user account.
     */
    @FlaggedApi(FLAG_ADD_FALLBACK)
        int ACCOUNT = 2;
    public static final int ICON_TYPE_ACCOUNT = 2;

    /**
         * Generic icon
     * A generic icon.
     */
    @FlaggedApi(FLAG_ADD_FALLBACK)
        int GENERIC = 3;
    public static final int ICON_TYPE_GENERIC = 3;

    /**
         * Gear icon
     * An icon representing settings (a gear).
     */
    @FlaggedApi(FLAG_ADD_FALLBACK)
        int SETTING = 4;
    }
    public static final int ICON_TYPE_SETTING = 4;

    /**
     * Types of authenticators, defined at a level of granularity supported by
+7 −7
Original line number Diff line number Diff line
@@ -487,7 +487,7 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan
        @NonNull
        @FlaggedApi(FLAG_ADD_FALLBACK)
        public Builder addFallbackOption(@NonNull CharSequence text,
                @BiometricManager.IconType.Types int iconType,
                @BiometricManager.IconType int iconType,
                @NonNull @CallbackExecutor Executor executor,
                @NonNull DialogInterface.OnClickListener listener) {
            if (TextUtils.isEmpty(text)) {
@@ -513,12 +513,12 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan
        }

        @FlaggedApi(FLAG_ADD_FALLBACK)
        private static boolean isValidIconType(@BiometricManager.IconType.Types int iconType) {
            return iconType == BiometricManager.IconType.PASSWORD
                    || iconType == BiometricManager.IconType.QR_CODE
                    || iconType == BiometricManager.IconType.ACCOUNT
                    || iconType == BiometricManager.IconType.GENERIC
                    || iconType == BiometricManager.IconType.SETTING;
        private static boolean isValidIconType(@BiometricManager.IconType int iconType) {
            return iconType == BiometricManager.ICON_TYPE_PASSWORD
                    || iconType == BiometricManager.ICON_TYPE_QR_CODE
                    || iconType == BiometricManager.ICON_TYPE_ACCOUNT
                    || iconType == BiometricManager.ICON_TYPE_GENERIC
                    || iconType == BiometricManager.ICON_TYPE_SETTING;
        }

        /**
+3 −3
Original line number Diff line number Diff line
@@ -30,18 +30,18 @@ import androidx.annotation.NonNull;
@FlaggedApi(FLAG_ADD_FALLBACK)
public final class FallbackOption implements Parcelable {
    @NonNull private final CharSequence mText;
    @BiometricManager.IconType.Types private final int mIconType;
    @BiometricManager.IconType private final int mIconType;

    public @NonNull CharSequence getText() {
        return mText;
    }

    public @BiometricManager.IconType.Types int getIconType() {
    public @BiometricManager.IconType int getIconType() {
        return mIconType;
    }

    public FallbackOption(@NonNull CharSequence text,
            @BiometricManager.IconType.Types int iconType) {
            @BiometricManager.IconType int iconType) {
        this.mText = text;
        this.mIconType = iconType;
    }
+2 −2
Original line number Diff line number Diff line
package com.android.systemui.biometrics.domain.model

import android.graphics.Bitmap
import android.hardware.biometrics.BiometricManager.IconType
import android.hardware.biometrics.BiometricManager
import android.hardware.biometrics.FallbackOption
import android.hardware.biometrics.PromptContentItemBulletedText
import android.hardware.biometrics.PromptContentViewWithMoreOptionsButton
@@ -36,7 +36,7 @@ class BiometricPromptRequestTest : SysuiTestCase() {
        val title = "what"
        val subtitle = "a"
        val description = "request"
        val fallbackOptions = listOf(FallbackOption("Account", IconType.ACCOUNT))
        val fallbackOptions = listOf(FallbackOption("Account", BiometricManager.ICON_TYPE_ACCOUNT))
        val contentView =
            PromptVerticalListContentView.Builder()
                .setDescription("content description")