Merge "Update strings for summary in device unlock page" into main
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c05626e..971e40e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -833,6 +833,8 @@
<string name="security_settings_face_preference_summary">Face added</string>
<!-- Message shown in summary field when Face Unlock is not set up. [CHAR LIMIT=54] -->
<string name="security_settings_face_preference_summary_none">Setup needed</string>
+ <!-- Message shown in summary field when Face Unlock is not set up. [CHAR LIMIT=54] -->
+ <string name="security_settings_face_preference_summary_none_new">Add face</string>
<!-- Title shown for menu item that launches face settings or enrollment. [CHAR LIMIT=32] -->
<string name="security_settings_face_preference_title_new">Face</string>
<!-- Title shown for menu item that launches face settings or enrollment, for work profile. [CHAR LIMIT=50] -->
@@ -1006,6 +1008,8 @@
}</string>
<!-- message shown in summary field when no fingerprints are registered -->
<string name="security_settings_fingerprint_preference_summary_none">Setup needed</string>
+ <!-- message shown in summary field when no fingerprints are registered -->
+ <string name="security_settings_fingerprint_preference_summary_none_new">Add fingerprint</string>
<!-- Introduction title shown in fingerprint enrollment to introduce the fingerprint feature [CHAR LIMIT=29] -->
<string name="security_settings_fingerprint_enroll_introduction_title">Set up your fingerprint</string>
<!-- Introduction title shown in fingerprint enrollment when asking for parental consent for fingerprint unlock [CHAR LIMIT=29] -->
@@ -1771,6 +1775,8 @@
<!-- Summary for "Configure lockscreen" when lock screen is off [CHAR LIMIT=45] -->
<string name="unlock_set_unlock_mode_off">None</string>
+ <!-- Summary for "Configure lockscreen" when lock screen is off [CHAR LIMIT=45] -->
+ <string name="unlock_set_unlock_mode_off_new">Add PIN, pattern, password, or swipe</string>
<!-- Summary for "Configure lockscreen" when security is disabled [CHAR LIMIT=45] -->
<string name="unlock_set_unlock_mode_none">Swipe</string>
<!-- Summary for "Configure lockscreen" when security pattern is enabled [CHAR LIMIT=45] -->
diff --git a/src/com/android/settings/biometrics/face/FaceStatusUtils.java b/src/com/android/settings/biometrics/face/FaceStatusUtils.java
index 302d677..ee5277e 100644
--- a/src/com/android/settings/biometrics/face/FaceStatusUtils.java
+++ b/src/com/android/settings/biometrics/face/FaceStatusUtils.java
@@ -98,11 +98,14 @@
return mContext.getString(
com.android.settingslib.widget.restricted.R.string.disabled_by_admin);
} else {
+ int summaryNoneResId = Flags.biometricsOnboardingEducation()
+ ? R.string.security_settings_face_preference_summary_none_new
+ : R.string.security_settings_face_preference_summary_none;
return mContext.getResources()
.getString(
hasEnrolled()
? R.string.security_settings_face_preference_summary
- : R.string.security_settings_face_preference_summary_none);
+ : summaryNoneResId);
}
}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java
index 1ca564c..b7ca3aa 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java
@@ -108,7 +108,9 @@
R.string.security_settings_fingerprint_preference_summary);
} else {
return mContext.getString(
- R.string.security_settings_fingerprint_preference_summary_none);
+ Flags.biometricsOnboardingEducation()
+ ? R.string.security_settings_fingerprint_preference_summary_none_new
+ : R.string.security_settings_fingerprint_preference_summary_none);
}
}
diff --git a/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java b/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java
index b168568..e74db34 100644
--- a/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java
+++ b/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java
@@ -178,7 +178,9 @@
if (!mLockPatternUtils.isSecure(userId)) {
if (userId == mProfileChallengeUserId
|| mLockPatternUtils.isLockScreenDisabled(userId)) {
- return R.string.unlock_set_unlock_mode_off;
+ return com.android.settings.flags.Flags.biometricsOnboardingEducation()
+ ? R.string.unlock_set_unlock_mode_off_new
+ : R.string.unlock_set_unlock_mode_off;
} else {
return R.string.unlock_set_unlock_mode_none;
}
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceStatusPreferenceControllerTest.java
index c426f94..8f56514 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceStatusPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceStatusPreferenceControllerTest.java
@@ -36,6 +36,9 @@
import android.hardware.face.Face;
import android.hardware.face.FaceManager;
import android.os.UserManager;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
@@ -50,6 +53,7 @@
import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -67,6 +71,8 @@
private static final String TEST_PREF_KEY = "baz";
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
@Mock
private LockPatternUtils mLockPatternUtils;
@Mock
@@ -125,7 +131,8 @@
}
@Test
- public void updateState_noFace_shouldShowDefaultSummary() {
+ @DisableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void updateState_noFace_flagOff_shouldShowDefaultSummary() {
when(mFaceManager.isHardwareDetected()).thenReturn(true);
mController.updateState(mPreference);
@@ -136,6 +143,18 @@
}
@Test
+ @EnableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void updateState_noFace_flagOn_shouldShowDefaultSummary() {
+ when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.getSummary()).isEqualTo(
+ mContext.getString(R.string.security_settings_face_preference_summary_none_new));
+ assertThat(mPreference.isVisible()).isTrue();
+ }
+
+ @Test
public void updateState_hasFace_shouldShowSummary() {
when(mFaceManager.isHardwareDetected()).thenReturn(true);
when(mFaceManager.getEnrolledFaces(anyInt()))
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceControllerTest.java
index 000ee933..de8c070 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceControllerTest.java
@@ -36,6 +36,9 @@
import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager;
import android.os.UserManager;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
@@ -51,6 +54,7 @@
import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -66,6 +70,8 @@
@Config(shadows = {ShadowRestrictedLockUtilsInternal.class})
public class FingerprintStatusPreferenceControllerTest {
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
@Mock
private LockPatternUtils mLockPatternUtils;
@Mock
@@ -125,7 +131,8 @@
}
@Test
- public void updateState_noFingerprint_shouldShowDefaultSummary() {
+ @DisableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void updateState_noFingerprint_flagOff_shouldShowDefaultSummary() {
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
mController.updateState(mPreference);
@@ -136,6 +143,19 @@
}
@Test
+ @EnableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void updateState_noFingerprint_flagOn_shouldShowDefaultSummary() {
+ when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.getSummary()).isEqualTo(
+ mContext.getString(
+ R.string.security_settings_fingerprint_preference_summary_none_new));
+ assertThat(mPreference.isVisible()).isTrue();
+ }
+
+ @Test
public void updateState_hasFingerprint_shouldShowSummary() {
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
diff --git a/tests/unit/src/com/android/settings/biometrics/face/FaceStatusUtilsTest.java b/tests/unit/src/com/android/settings/biometrics/face/FaceStatusUtilsTest.java
index f5d090a..87c43ac 100644
--- a/tests/unit/src/com/android/settings/biometrics/face/FaceStatusUtilsTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/face/FaceStatusUtilsTest.java
@@ -172,7 +172,8 @@
}
@Test
- public void getSummary_whenNotEnrolled_returnsSummaryNone() {
+ @DisableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void getSummary_whenNotEnrolled_flagOff_returnsSummaryNone() {
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(false);
assertThat(mFaceStatusUtils.getSummary())
@@ -182,6 +183,17 @@
}
@Test
+ @EnableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void getSummary_whenNotEnrolled_flagOn_returnsSummaryNone() {
+ when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(false);
+
+ assertThat(mFaceStatusUtils.getSummary())
+ .isEqualTo(ResourcesUtils.getResourcesString(
+ mApplicationContext,
+ "security_settings_face_preference_summary_none_new"));
+ }
+
+ @Test
public void getSummary_whenEnrolled_returnsSummary() {
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
diff --git a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtilsTest.java b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtilsTest.java
index 375c1ff..b603f4b 100644
--- a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtilsTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtilsTest.java
@@ -179,7 +179,8 @@
}
@Test
- public void getSummary_whenNotEnrolled_returnsSummaryNone() {
+ @DisableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void getSummary_whenNotEnrolled_flagOff_returnsSummaryNone() {
when(mFingerprintManager.hasEnrolledTemplates(anyInt())).thenReturn(false);
assertThat(mFingerprintStatusUtils.getSummary())
@@ -189,6 +190,17 @@
}
@Test
+ @EnableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void getSummary_whenNotEnrolled_flagOn_returnsSummaryNone() {
+ when(mFingerprintManager.hasEnrolledTemplates(anyInt())).thenReturn(false);
+
+ assertThat(mFingerprintStatusUtils.getSummary())
+ .isEqualTo(ResourcesUtils.getResourcesString(
+ mApplicationContext,
+ "security_settings_fingerprint_preference_summary_none_new"));
+ }
+
+ @Test
public void getSummary_whenEnrolled_returnsSummary() {
final int enrolledFingerprintsCount = 2;
final int stringResId = ResourcesUtils.getResourcesId(
diff --git a/tests/unit/src/com/android/settings/safetycenter/FaceSafetySourceTest.java b/tests/unit/src/com/android/settings/safetycenter/FaceSafetySourceTest.java
index 9a162ae..9335ced 100644
--- a/tests/unit/src/com/android/settings/safetycenter/FaceSafetySourceTest.java
+++ b/tests/unit/src/com/android/settings/safetycenter/FaceSafetySourceTest.java
@@ -187,7 +187,7 @@
assertSafetySourceDisabledDataSetWithSingularSummary(
"security_settings_face_preference_title_new",
- "security_settings_face_preference_summary_none");
+ "security_settings_face_preference_summary_none_new");
}
@Test
@@ -205,7 +205,7 @@
assertSafetySourceDisabledDataSetWithSingularSummary(
"security_settings_face_preference_title_new",
- "security_settings_face_preference_summary_none");
+ "security_settings_face_preference_summary_none_new");
}
@Test
@@ -220,7 +220,7 @@
assertSafetySourceEnabledDataSetWithSingularSummary(
"security_settings_face_preference_title_new",
- "security_settings_face_preference_summary_none",
+ "security_settings_face_preference_summary_none_new",
FaceEnrollIntroductionInternal.class.getName());
}
diff --git a/tests/unit/src/com/android/settings/safetycenter/FingerprintSafetySourceTest.java b/tests/unit/src/com/android/settings/safetycenter/FingerprintSafetySourceTest.java
index fd109f6..91e7953 100644
--- a/tests/unit/src/com/android/settings/safetycenter/FingerprintSafetySourceTest.java
+++ b/tests/unit/src/com/android/settings/safetycenter/FingerprintSafetySourceTest.java
@@ -203,7 +203,7 @@
assertSafetySourceDisabledDataSetWithSingularSummary(
"security_settings_fingerprint",
- "security_settings_fingerprint_preference_summary_none");
+ "security_settings_fingerprint_preference_summary_none_new");
}
@Test
@@ -222,7 +222,7 @@
assertSafetySourceDisabledDataSetWithSingularSummary(
"security_settings_fingerprint",
- "security_settings_fingerprint_preference_summary_none");
+ "security_settings_fingerprint_preference_summary_none_new");
}
@Test
@@ -238,7 +238,7 @@
assertSafetySourceEnabledDataSetWithSingularSummary(
"security_settings_fingerprint",
- "security_settings_fingerprint_preference_summary_none",
+ "security_settings_fingerprint_preference_summary_none_new",
FingerprintSettings.class.getName());
}
diff --git a/tests/unit/src/com/android/settings/security/ScreenLockPreferenceDetailsUtilsTest.java b/tests/unit/src/com/android/settings/security/ScreenLockPreferenceDetailsUtilsTest.java
index 2535870..2e674e0 100644
--- a/tests/unit/src/com/android/settings/security/ScreenLockPreferenceDetailsUtilsTest.java
+++ b/tests/unit/src/com/android/settings/security/ScreenLockPreferenceDetailsUtilsTest.java
@@ -32,10 +32,13 @@
import android.content.res.Resources;
import android.os.UserManager;
import android.os.storage.StorageManager;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
import android.platform.test.annotations.RequiresFlagsDisabled;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.platform.test.flag.junit.SetFlagsRule;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -65,6 +68,8 @@
private static final int USER_ID = 11;
@Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+ @Rule
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
@Mock
private LockPatternUtils mLockPatternUtils;
@@ -118,7 +123,8 @@
}
@Test
- public void getSummary_unsecureAndDisabledPattern_shouldReturnUnlockModeOff() {
+ @DisableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void getSummary_unsecureAndDisabledPattern_flagOff_shouldReturnUnlockModeOff() {
final String summary = prepareString("unlock_set_unlock_mode_off", "unlockModeOff");
when(mLockPatternUtils.isSecure(USER_ID)).thenReturn(false);
@@ -128,6 +134,17 @@
}
@Test
+ @EnableFlags(com.android.settings.flags.Flags.FLAG_BIOMETRICS_ONBOARDING_EDUCATION)
+ public void getSummary_unsecureAndDisabledPattern_flagOn_shouldReturnUnlockModeOff() {
+ final String summary = prepareString("unlock_set_unlock_mode_off_new", "unlockModeOff");
+
+ when(mLockPatternUtils.isSecure(USER_ID)).thenReturn(false);
+ when(mLockPatternUtils.isLockScreenDisabled(anyInt())).thenReturn(true);
+
+ assertThat(mScreenLockPreferenceDetailsUtils.getSummary(USER_ID)).isEqualTo(summary);
+ }
+
+ @Test
public void getSummary_unsecurePattern_shouldReturnUnlockModeNone() {
final String summary =
prepareString("unlock_set_unlock_mode_none", "unlockModeNone");