From 7f8197da822dea3ce92d3aedb61715d372d7a8e1 Mon Sep 17 00:00:00 2001 From: lbill Date: Tue, 4 Jul 2023 01:25:52 +0000 Subject: [PATCH] Update screen lock and biometrics options in order MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously the screen lock and biometrics order is : UI & UX: b/182806496, b/183649070 - PIN • Face • Fingerprint - Pattern • Face • Fingerprint - Password • Face • Fingerprint By requirement, we need to reverse Fingerprint & Face position - PIN • Fingerprint • Face - Pattern • Fingerprint • Face - Password • Fingerprint • Face Also remove unused strings Fixes: 242143765 Test: Manual login corp, and observe the UI in Choose screen lock Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.password Change-Id: I1938f867360512121ecfdae8e2ca6de7002156f4 --- res/values/strings.xml | 10 ++---- .../settings/biometrics/BiometricUtils.java | 11 ++++--- .../password/ChooseLockGenericTest.java | 32 ++++++++++++------- 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 897d76a8c26..e8978e5216c 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -865,7 +865,7 @@ - Face & Fingerprint Unlock + Fingerprint & Face Unlock Face & Fingerprint Unlock for work @@ -1217,14 +1217,8 @@ Continue without Face Unlock - - Pattern \u2022 Face \u2022 Fingerprint - - PIN \u2022 Face \u2022 Fingerprint - - Password \u2022 Face \u2022 Fingerprint - Continue without face or fingerprint + Continue without fingerprint or face None diff --git a/src/com/android/settings/biometrics/BiometricUtils.java b/src/com/android/settings/biometrics/BiometricUtils.java index 3356dfa9322..4e1a2f329b4 100644 --- a/src/com/android/settings/biometrics/BiometricUtils.java +++ b/src/com/android/settings/biometrics/BiometricUtils.java @@ -527,17 +527,18 @@ public class BiometricUtils { // Assume the flow is "Screen Lock" + "Face" + "Fingerprint" ssb.append(bidi.unicodeWrap(screenLock)); + if (hasFingerprint) { + ssb.append(bidi.unicodeWrap(SEPARATOR)); + ssb.append(bidi.unicodeWrap( + capitalize(context.getString(R.string.security_settings_fingerprint)))); + } + if (isFaceSupported) { ssb.append(bidi.unicodeWrap(SEPARATOR)); ssb.append(bidi.unicodeWrap( capitalize(context.getString(R.string.keywords_face_settings)))); } - if (hasFingerprint) { - ssb.append(bidi.unicodeWrap(SEPARATOR)); - ssb.append(bidi.unicodeWrap( - capitalize(context.getString(R.string.security_settings_fingerprint)))); - } return ssb.toString(); } diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java index 12a540d7c33..5db998a3294 100644 --- a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java +++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java @@ -60,6 +60,7 @@ import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockscreenCredential; import com.android.settings.R; import com.android.settings.biometrics.BiometricEnrollBase; +import com.android.settings.biometrics.BiometricUtils; import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment; import com.android.settings.search.SearchFeatureProvider; import com.android.settings.testutils.FakeFeatureFactory; @@ -543,29 +544,38 @@ public class ChooseLockGenericTest { } @Test - public void updatePreferenceText_supportBiometrics_showFaceAndFingerprint() { + public void updatePreferenceText_supportBiometrics_setScreenLockFingerprintFace_inOrder() { ShadowStorageManager.setIsFileEncrypted(false); final Intent intent = new Intent().putExtra(EXTRA_KEY_FOR_BIOMETRICS, true); initActivity(intent); - final String supportFingerprint = capitalize(mActivity.getResources().getString( R.string.security_settings_fingerprint)); final String supportFace = capitalize(mActivity.getResources().getString( R.string.keywords_face_settings)); - String pinTitle = + + // The strings of golden copy + final String pinFingerprintFace = mActivity.getText(R.string.unlock_set_unlock_pin_title) + + BiometricUtils.SEPARATOR + supportFingerprint + BiometricUtils.SEPARATOR + + supportFace; + final String patternFingerprintFace = mActivity.getText( + R.string.unlock_set_unlock_pattern_title) + BiometricUtils.SEPARATOR + + supportFingerprint + BiometricUtils.SEPARATOR + supportFace; + final String passwordFingerprintFace = mActivity.getText( + R.string.unlock_set_unlock_password_title) + BiometricUtils.SEPARATOR + + supportFingerprint + BiometricUtils.SEPARATOR + supportFace; + + // The strings obtain from preferences + final String pinTitle = (String) mFragment.findPreference(ScreenLockType.PIN.preferenceKey).getTitle(); - String patternTitle = + final String patternTitle = (String) mFragment.findPreference(ScreenLockType.PATTERN.preferenceKey).getTitle(); - String passwordTitle = + final String passwordTitle = (String) mFragment.findPreference(ScreenLockType.PASSWORD.preferenceKey).getTitle(); - assertThat(pinTitle).contains(supportFingerprint); - assertThat(pinTitle).contains(supportFace); - assertThat(patternTitle).contains(supportFingerprint); - assertThat(patternTitle).contains(supportFace); - assertThat(passwordTitle).contains(supportFingerprint); - assertThat(passwordTitle).contains(supportFace); + assertThat(pinTitle).isEqualTo(pinFingerprintFace); + assertThat(patternTitle).isEqualTo(patternFingerprintFace); + assertThat(passwordTitle).isEqualTo(passwordFingerprintFace); } @Test