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

Commit 7242651b authored by Diya Bera's avatar Diya Bera
Browse files

Add negative button text when flag is not enabled

Fixes: 420843229
Flag: android.hardware.biometrics.bp_fallback_options
Test: atest UtilsTest
Change-Id: I55a0be70927d55c7a09ba30d210cc9293abccac2
parent 6bb196c8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import static android.text.format.DateUtils.FORMAT_SHOW_DATE;

import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_AUTHENTICATORS;
import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_HIDE_BACKGROUND;
import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT;
import static com.android.settings.password.ConfirmDeviceCredentialActivity.EXTRA_DATA;

import android.app.ActionBar;
@@ -1690,6 +1691,8 @@ public final class Utils extends com.android.settingslib.Utils {
        final Intent intent = new Intent();
        intent.putExtra(BIOMETRIC_PROMPT_AUTHENTICATORS,
                BiometricManager.Authenticators.IDENTITY_CHECK);
        intent.putExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT,
                resources.getString(R.string.cancel));
        intent.putExtra(KeyguardManager.EXTRA_DESCRIPTION,
                resources.getString(R.string.mandatory_biometrics_prompt_description));
        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, true);
+2 −1
Original line number Diff line number Diff line
@@ -168,7 +168,8 @@ public class BiometricFragment extends InstrumentedFragment {
            promptBuilder.setUseDefaultSubtitle();
        }

        if ((promptInfo.getAuthenticators()
        if (!android.hardware.biometrics.Flags.bpFallbackOptions()
                && (promptInfo.getAuthenticators()
                & BiometricManager.Authenticators.DEVICE_CREDENTIAL) == 0) {
            promptBuilder.setNegativeButton(promptInfo.getNegativeButtonText(),
                    getContext().getMainExecutor(),
+5 −0
Original line number Diff line number Diff line
@@ -80,6 +80,8 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
    public static final String CUSTOM_BIOMETRIC_PROMPT_LOGO_DESCRIPTION_KEY =
            "custom_logo_description";
    public static final String BIOMETRIC_PROMPT_AUTHENTICATORS = "biometric_prompt_authenticators";
    public static final String BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT =
            "biometric_prompt_negative_button_text";
    public static final String BIOMETRIC_PROMPT_HIDE_BACKGROUND =
            "biometric_prompt_hide_background";
    public static final String EXTRA_DATA = "extra_data";
@@ -208,6 +210,8 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
                BiometricManager.Authenticators.DEVICE_CREDENTIAL
                        | BiometricManager.Authenticators.BIOMETRIC_WEAK);
        mIntentData = intent.getParcelableExtra(EXTRA_DATA, Intent.class);
        final String negativeButtonText = intent.getStringExtra(
                BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT);
        final boolean frp =
                KeyguardManager.ACTION_CONFIRM_FRP_CREDENTIAL.equals(intent.getAction());
        final boolean repairMode =
@@ -245,6 +249,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
        promptInfo.setDescription(mDetails);
        promptInfo.setDisallowBiometricsIfPolicyExists(mCheckDevicePolicyManager);
        promptInfo.setAuthenticators(mBiometricsAuthenticators);
        promptInfo.setNegativeButtonText(negativeButtonText);

        final String callerPackageName = intent.getStringExtra(EXTRA_PACKAGE_NAME);
        if (isInternalActivity() && callerPackageName != null) {
+2 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import static com.android.internal.hidden_from_bootclasspath.android.hardware.de
import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_AUTHENTICATORS;
import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_HIDE_BACKGROUND;
import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT;

import static com.google.common.truth.Truth.assertThat;

@@ -714,6 +715,7 @@ public class UtilsTest {

        assertThat(intent.getExtra(BIOMETRIC_PROMPT_AUTHENTICATORS)).isEqualTo(
                BiometricManager.Authenticators.IDENTITY_CHECK);
        assertThat(intent.getExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT)).isNotNull();
        assertThat(intent.getExtra(KeyguardManager.EXTRA_DESCRIPTION)).isNotNull();
        assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, false))
                .isTrue();