From 501f3635dc0b4fd47925b3eb6e1f435888b42dc7 Mon Sep 17 00:00:00 2001 From: Derek Jedral Date: Mon, 8 May 2023 11:49:59 -0700 Subject: [PATCH] Remove feature flag for active unlock Active Unlock was guarded behind a feature flag for two main purposes. 1) To select the unlock intent or biometric failure layout. We've settled on unlock intent, so we no longer need the biometric failure codepath. 2) To guard the feature rollout. However, the additional platform guard is not necessary, since this feature availability is still guarded based on whether the secure settings are flipped to valid targets. In order to keep the scope of this CL small, useBiometricFailureLayout always returns false. Another CL will clean up all areas where it and useUnlockIntentLayout are referenced. Test: make RunSettingsRoboTests Bug: b/280306741 Change-Id: I331afe9654b72249d461007c087e7f81783d7625 --- .../activeunlock/ActiveUnlockStatusUtils.java | 8 +--- ...eUnlockStatusPreferenceControllerTest.java | 42 ------------------- .../ActiveUnlockStatusUtilsTest.java | 33 --------------- .../testutils/ActiveUnlockTestUtils.java | 2 + .../testutils/ActiveUnlockTestUtils.java | 2 + 5 files changed, 6 insertions(+), 81 deletions(-) diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java index 8f9da54b610..4d925986081 100644 --- a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java +++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java @@ -75,7 +75,7 @@ public class ActiveUnlockStatusUtils { * used. */ public boolean useUnlockIntentLayout() { - return isAvailable() && UNLOCK_INTENT_LAYOUT.equals(getFlagState()); + return isAvailable(); } /** @@ -84,7 +84,7 @@ public class ActiveUnlockStatusUtils { * should be used. */ public boolean useBiometricFailureLayout() { - return isAvailable() && BIOMETRIC_FAILURE_LAYOUT.equals(getFlagState()); + return false; } /** @@ -156,10 +156,6 @@ public class ActiveUnlockStatusUtils { if (!Utils.hasFingerprintHardware(mContext) && !Utils.hasFaceHardware(mContext)) { return BasePreferenceController.UNSUPPORTED_ON_DEVICE; } - if (!UNLOCK_INTENT_LAYOUT.equals(getFlagState()) - && !BIOMETRIC_FAILURE_LAYOUT.equals(getFlagState())) { - return BasePreferenceController.CONDITIONALLY_UNAVAILABLE; - } if (getAuthority() != null && getIntent() != null) { return BasePreferenceController.AVAILABLE; } diff --git a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceControllerTest.java index 5219a3a3265..079e4c931d5 100644 --- a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceControllerTest.java @@ -32,7 +32,6 @@ import android.os.UserManager; import androidx.preference.PreferenceScreen; -import com.android.settings.R; import com.android.settings.testutils.ActiveUnlockTestUtils; import com.android.settings.testutils.shadow.ShadowDeviceConfig; import com.android.settingslib.RestrictedPreference; @@ -163,47 +162,6 @@ public class ActiveUnlockStatusPreferenceControllerTest { assertThat(mPreference.getSummary().toString()).isEqualTo(summary); } - @Test - public void biometricsNotSetUp_deviceNameIsNotSet_setupBiometricStringShown() { - ActiveUnlockTestUtils.enable(mContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT); - updateSummary("newSummary"); - mController.displayPreference(mPreferenceScreen); - - mController.onStart(); - idleMainLooper(); - - assertThat(mPreference.getSummary()).isEqualTo(mContext.getString( - R.string.security_settings_activeunlock_require_face_fingerprint_setup_title)); - } - - @Test - public void biometricNotSetUp_deviceNameIsSet_summaryShown() { - ActiveUnlockTestUtils.enable(mContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT); - String summary = "newSummary"; - updateSummary(summary); - updateDeviceName("deviceName"); - mController.displayPreference(mPreferenceScreen); - - mController.onStart(); - idleMainLooper(); - - assertThat(mPreference.getSummary()).isEqualTo(summary); - } - - @Test - public void biometricSetUp_summaryShown() { - when(mFingerprintManager.hasEnrolledFingerprints(anyInt())).thenReturn(true); - ActiveUnlockTestUtils.enable(mContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT); - String summary = "newSummary"; - updateSummary(summary); - mController.displayPreference(mPreferenceScreen); - - mController.onStart(); - idleMainLooper(); - - assertThat(mPreference.getSummary()).isEqualTo(summary); - } - private void updateSummary(String summary) { FakeContentProvider.setTileSummary(summary); mContext.getContentResolver().notifyChange(FakeContentProvider.URI, null /* observer */); diff --git a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java index e5eac12c626..df83eae63df 100644 --- a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java +++ b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java @@ -128,15 +128,6 @@ public class ActiveUnlockStatusUtilsTest { assertThat(mActiveUnlockStatusUtils.useBiometricFailureLayout()).isFalse(); } - @Test - public void configIsBiometricFailure_useBiometricFailureLayoutIsTrue() { - ActiveUnlockTestUtils.enable( - mApplicationContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT); - - assertThat(mActiveUnlockStatusUtils.useUnlockIntentLayout()).isFalse(); - assertThat(mActiveUnlockStatusUtils.useBiometricFailureLayout()).isTrue(); - } - @Test public void getTitle_faceEnabled_returnsFacePreferenceTitle() { when(mFingerprintManager.isHardwareDetected()).thenReturn(false); @@ -157,30 +148,6 @@ public class ActiveUnlockStatusUtilsTest { R.string.security_settings_fingerprint_preference_title)); } - @Test - public void getIntro_faceEnabled_returnsIntroWithFace() { - ActiveUnlockTestUtils.enable( - mApplicationContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT); - when(mFingerprintManager.isHardwareDetected()).thenReturn(false); - when(mFaceManager.isHardwareDetected()).thenReturn(true); - - assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock()) - .isEqualTo(mApplicationContext.getString( - R.string.biometric_settings_intro_with_face)); - } - - @Test - public void getIntro_fingerprintEnabled_returnsIntroWithFingerprint() { - ActiveUnlockTestUtils.enable( - mApplicationContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT); - when(mFingerprintManager.isHardwareDetected()).thenReturn(true); - when(mFaceManager.isHardwareDetected()).thenReturn(false); - - assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock()) - .isEqualTo(mApplicationContext.getString( - R.string.biometric_settings_intro_with_fingerprint)); - } - @Test public void getIntro_unlockOnIntentAndFaceEnabled_returnsEmpty() { ActiveUnlockTestUtils.enable( diff --git a/tests/robotests/src/com/android/settings/testutils/ActiveUnlockTestUtils.java b/tests/robotests/src/com/android/settings/testutils/ActiveUnlockTestUtils.java index 0cecaee2939..06ca05c46c3 100644 --- a/tests/robotests/src/com/android/settings/testutils/ActiveUnlockTestUtils.java +++ b/tests/robotests/src/com/android/settings/testutils/ActiveUnlockTestUtils.java @@ -84,5 +84,7 @@ public final class ActiveUnlockTestUtils { ActiveUnlockStatusUtils.CONFIG_FLAG_NAME, null /* value */, false /* makeDefault */); + Settings.Secure.putString(context.getContentResolver(), TARGET_SETTING, null); + Settings.Secure.putString(context.getContentResolver(), PROVIDER_SETTING, null); } } diff --git a/tests/unit/src/com/android/settings/testutils/ActiveUnlockTestUtils.java b/tests/unit/src/com/android/settings/testutils/ActiveUnlockTestUtils.java index 0cecaee2939..06ca05c46c3 100644 --- a/tests/unit/src/com/android/settings/testutils/ActiveUnlockTestUtils.java +++ b/tests/unit/src/com/android/settings/testutils/ActiveUnlockTestUtils.java @@ -84,5 +84,7 @@ public final class ActiveUnlockTestUtils { ActiveUnlockStatusUtils.CONFIG_FLAG_NAME, null /* value */, false /* makeDefault */); + Settings.Secure.putString(context.getContentResolver(), TARGET_SETTING, null); + Settings.Secure.putString(context.getContentResolver(), PROVIDER_SETTING, null); } }