Merge "Fix the flicker of FingerprintSettings before FingerprintEnrollIntro." into tm-qpr-dev
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java
index 71cdcf7..18db774 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java
@@ -78,7 +78,9 @@
* Returns the class name of the Settings page corresponding to fingerprint settings.
*/
public String getSettingsClassName() {
- return FingerprintSettings.class.getName();
+ return !hasEnrolled() && isAvailable()
+ ? FingerprintEnrollIntroductionInternal.class.getName()
+ : FingerprintSettings.class.getName();
}
/**
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 69e5e2f..a5d74a0 100644
--- a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtilsTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtilsTest.java
@@ -179,8 +179,20 @@
}
@Test
- public void getSettingsClassName_whenNotEnrolled_returnsFingerprintSettings() {
+ public void getSettingsClassName_whenNotEnrolled_fingerprintOnly_returnsFingerprintEnrollInduction() {
when(mFingerprintManager.hasEnrolledFingerprints(anyInt())).thenReturn(false);
+ when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+ when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+ assertThat(mFingerprintStatusUtils.getSettingsClassName())
+ .isEqualTo(FingerprintEnrollIntroductionInternal.class.getName());
+ }
+
+ @Test
+ public void getSettingsClassName_whenNotEnrolled_fingerprintNotOnly_returnsFingerprintSettings() {
+ when(mFingerprintManager.hasEnrolledFingerprints(anyInt())).thenReturn(false);
+ when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+ when(mFaceManager.isHardwareDetected()).thenReturn(true);
assertThat(mFingerprintStatusUtils.getSettingsClassName())
.isEqualTo(FingerprintSettings.class.getName());