Loading core/java/android/hardware/biometrics/BiometricPrompt.java +23 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,19 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan return this; } /** * Shows a default subtitle for the prompt if the subtitle would otherwise be * null or empty. Currently for internal use only. * @return This builder. * @hide */ @RequiresPermission(USE_BIOMETRIC_INTERNAL) @NonNull public Builder setUseDefaultSubtitle() { mPromptInfo.setUseDefaultSubtitle(true); return this; } /** * Optional: Sets a description that will be shown on the prompt. * @param description The description to display. Loading Loading @@ -628,6 +641,16 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan return mPromptInfo.getSubtitle(); } /** * Whether to use a default subtitle. For internal use only. * @return See {@link Builder#setUseDefaultSubtitle()}. * @hide */ @RequiresPermission(USE_BIOMETRIC_INTERNAL) public boolean shouldUseDefaultSubtitle() { return mPromptInfo.isUseDefaultSubtitle(); } /** * Gets the description for the prompt, as set by {@link Builder#setDescription(CharSequence)}. * @return The description for the prompt, or null if the prompt has no description. Loading core/java/android/hardware/biometrics/PromptInfo.java +13 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ public class PromptInfo implements Parcelable { @NonNull private CharSequence mTitle; private boolean mUseDefaultTitle; @Nullable private CharSequence mSubtitle; private boolean mUseDefaultSubtitle; @Nullable private CharSequence mDescription; @Nullable private CharSequence mDeviceCredentialTitle; @Nullable private CharSequence mDeviceCredentialSubtitle; Loading @@ -56,6 +57,7 @@ public class PromptInfo implements Parcelable { mTitle = in.readCharSequence(); mUseDefaultTitle = in.readBoolean(); mSubtitle = in.readCharSequence(); mUseDefaultSubtitle = in.readBoolean(); mDescription = in.readCharSequence(); mDeviceCredentialTitle = in.readCharSequence(); mDeviceCredentialSubtitle = in.readCharSequence(); Loading Loading @@ -94,6 +96,7 @@ public class PromptInfo implements Parcelable { dest.writeCharSequence(mTitle); dest.writeBoolean(mUseDefaultTitle); dest.writeCharSequence(mSubtitle); dest.writeBoolean(mUseDefaultSubtitle); dest.writeCharSequence(mDescription); dest.writeCharSequence(mDeviceCredentialTitle); dest.writeCharSequence(mDeviceCredentialSubtitle); Loading Loading @@ -128,6 +131,8 @@ public class PromptInfo implements Parcelable { return true; } else if (mUseDefaultTitle) { return true; } else if (mUseDefaultSubtitle) { return true; } else if (mDeviceCredentialTitle != null) { return true; } else if (mDeviceCredentialSubtitle != null) { Loading @@ -154,6 +159,10 @@ public class PromptInfo implements Parcelable { mSubtitle = subtitle; } public void setUseDefaultSubtitle(boolean useDefaultSubtitle) { mUseDefaultSubtitle = useDefaultSubtitle; } public void setDescription(CharSequence description) { mDescription = description; } Loading Loading @@ -227,6 +236,10 @@ public class PromptInfo implements Parcelable { return mSubtitle; } public boolean isUseDefaultSubtitle() { return mUseDefaultSubtitle; } public CharSequence getDescription() { return mDescription; } Loading services/core/java/com/android/server/biometrics/BiometricService.java +8 −0 Original line number Diff line number Diff line Loading @@ -563,6 +563,14 @@ public class BiometricService extends SystemService { } } // Set the default subtitle if necessary. if (promptInfo.isUseDefaultSubtitle()) { if (TextUtils.isEmpty(promptInfo.getSubtitle())) { promptInfo.setSubtitle(getContext() .getString(R.string.biometric_dialog_default_subtitle)); } } final long requestId = mRequestCounter.get(); mHandler.post(() -> handleAuthenticate( token, requestId, operationId, userId, receiver, opPackageName, promptInfo)); Loading Loading
core/java/android/hardware/biometrics/BiometricPrompt.java +23 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,19 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan return this; } /** * Shows a default subtitle for the prompt if the subtitle would otherwise be * null or empty. Currently for internal use only. * @return This builder. * @hide */ @RequiresPermission(USE_BIOMETRIC_INTERNAL) @NonNull public Builder setUseDefaultSubtitle() { mPromptInfo.setUseDefaultSubtitle(true); return this; } /** * Optional: Sets a description that will be shown on the prompt. * @param description The description to display. Loading Loading @@ -628,6 +641,16 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan return mPromptInfo.getSubtitle(); } /** * Whether to use a default subtitle. For internal use only. * @return See {@link Builder#setUseDefaultSubtitle()}. * @hide */ @RequiresPermission(USE_BIOMETRIC_INTERNAL) public boolean shouldUseDefaultSubtitle() { return mPromptInfo.isUseDefaultSubtitle(); } /** * Gets the description for the prompt, as set by {@link Builder#setDescription(CharSequence)}. * @return The description for the prompt, or null if the prompt has no description. Loading
core/java/android/hardware/biometrics/PromptInfo.java +13 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ public class PromptInfo implements Parcelable { @NonNull private CharSequence mTitle; private boolean mUseDefaultTitle; @Nullable private CharSequence mSubtitle; private boolean mUseDefaultSubtitle; @Nullable private CharSequence mDescription; @Nullable private CharSequence mDeviceCredentialTitle; @Nullable private CharSequence mDeviceCredentialSubtitle; Loading @@ -56,6 +57,7 @@ public class PromptInfo implements Parcelable { mTitle = in.readCharSequence(); mUseDefaultTitle = in.readBoolean(); mSubtitle = in.readCharSequence(); mUseDefaultSubtitle = in.readBoolean(); mDescription = in.readCharSequence(); mDeviceCredentialTitle = in.readCharSequence(); mDeviceCredentialSubtitle = in.readCharSequence(); Loading Loading @@ -94,6 +96,7 @@ public class PromptInfo implements Parcelable { dest.writeCharSequence(mTitle); dest.writeBoolean(mUseDefaultTitle); dest.writeCharSequence(mSubtitle); dest.writeBoolean(mUseDefaultSubtitle); dest.writeCharSequence(mDescription); dest.writeCharSequence(mDeviceCredentialTitle); dest.writeCharSequence(mDeviceCredentialSubtitle); Loading Loading @@ -128,6 +131,8 @@ public class PromptInfo implements Parcelable { return true; } else if (mUseDefaultTitle) { return true; } else if (mUseDefaultSubtitle) { return true; } else if (mDeviceCredentialTitle != null) { return true; } else if (mDeviceCredentialSubtitle != null) { Loading @@ -154,6 +159,10 @@ public class PromptInfo implements Parcelable { mSubtitle = subtitle; } public void setUseDefaultSubtitle(boolean useDefaultSubtitle) { mUseDefaultSubtitle = useDefaultSubtitle; } public void setDescription(CharSequence description) { mDescription = description; } Loading Loading @@ -227,6 +236,10 @@ public class PromptInfo implements Parcelable { return mSubtitle; } public boolean isUseDefaultSubtitle() { return mUseDefaultSubtitle; } public CharSequence getDescription() { return mDescription; } Loading
services/core/java/com/android/server/biometrics/BiometricService.java +8 −0 Original line number Diff line number Diff line Loading @@ -563,6 +563,14 @@ public class BiometricService extends SystemService { } } // Set the default subtitle if necessary. if (promptInfo.isUseDefaultSubtitle()) { if (TextUtils.isEmpty(promptInfo.getSubtitle())) { promptInfo.setSubtitle(getContext() .getString(R.string.biometric_dialog_default_subtitle)); } } final long requestId = mRequestCounter.get(); mHandler.post(() -> handleAuthenticate( token, requestId, operationId, userId, receiver, opPackageName, promptInfo)); Loading