Merge "Fix the flicker of FingerprintSettings before FingerprintEnrollIntro."

This commit is contained in:
Hao Dong
2022-11-08 20:40:10 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 2 deletions

View File

@@ -78,7 +78,9 @@ public class FingerprintStatusUtils {
* 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();
}
/**

View File

@@ -179,8 +179,20 @@ public class FingerprintStatusUtilsTest {
}
@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());