Bug fix - when enrolled, biometrics have ok safety state.
Bug: 222336582 Test: atest SettingsUnitTests Change-Id: Ia90329fa126b181e87ff7ed626ba33eca1e6bf7d
This commit is contained in:
@@ -55,6 +55,13 @@ public class CombinedBiometricStatusUtils {
|
||||
return Utils.hasFingerprintHardware(mContext) && Utils.hasFaceHardware(mContext);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether at least one face template or fingerprint has been enrolled.
|
||||
*/
|
||||
public boolean hasEnrolled() {
|
||||
return hasEnrolledFingerprints() || hasEnrolledFace();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the {@link EnforcedAdmin} in case parental consent is required to change both
|
||||
* face and fingerprint settings.
|
||||
@@ -84,8 +91,7 @@ public class CombinedBiometricStatusUtils {
|
||||
public String getSummary() {
|
||||
final int numFingerprintsEnrolled = mFingerprintManager != null
|
||||
? mFingerprintManager.getEnrolledFingerprints(mUserId).size() : 0;
|
||||
final boolean faceEnrolled = mFaceManager != null
|
||||
&& mFaceManager.hasEnrolledTemplates(mUserId);
|
||||
final boolean faceEnrolled = hasEnrolledFace();
|
||||
|
||||
if (faceEnrolled && numFingerprintsEnrolled > 1) {
|
||||
return mContext.getString(
|
||||
@@ -105,6 +111,14 @@ public class CombinedBiometricStatusUtils {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasEnrolledFingerprints() {
|
||||
return mFingerprintManager != null && mFingerprintManager.hasEnrolledFingerprints(mUserId);
|
||||
}
|
||||
|
||||
private boolean hasEnrolledFace() {
|
||||
return mFaceManager != null && mFaceManager.hasEnrolledTemplates(mUserId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the class name of the Settings page corresponding to combined biometric settings.
|
||||
*/
|
||||
|
||||
@@ -75,7 +75,10 @@ public class FaceStatusUtils {
|
||||
: FaceEnrollIntroduction.class.getName();
|
||||
}
|
||||
|
||||
private boolean hasEnrolled() {
|
||||
/**
|
||||
* Returns whether at least one face template has been enrolled.
|
||||
*/
|
||||
public boolean hasEnrolled() {
|
||||
return mFaceManager.hasEnrolledTemplates(mUserId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,10 @@ public class FingerprintStatusUtils {
|
||||
: FingerprintEnrollIntroduction.class.getName();
|
||||
}
|
||||
|
||||
private boolean hasEnrolled() {
|
||||
/**
|
||||
* Returns whether at least one fingerprint has been enrolled.
|
||||
*/
|
||||
public boolean hasEnrolled() {
|
||||
return mFingerprintManager.hasEnrolledFingerprints(mUserId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,7 @@ public final class BiometricsSafetySource {
|
||||
combinedBiometricStatusUtils.getSettingsClassName(), disablingAdmin,
|
||||
Bundle.EMPTY),
|
||||
disablingAdmin == null /* enabled */,
|
||||
combinedBiometricStatusUtils.hasEnrolled(),
|
||||
safetyEvent);
|
||||
return;
|
||||
}
|
||||
@@ -82,6 +83,7 @@ public final class BiometricsSafetySource {
|
||||
faceStatusUtils.getSettingsClassName(), disablingAdmin,
|
||||
Bundle.EMPTY),
|
||||
disablingAdmin == null /* enabled */,
|
||||
faceStatusUtils.hasEnrolled(),
|
||||
safetyEvent);
|
||||
|
||||
return;
|
||||
@@ -101,6 +103,7 @@ public final class BiometricsSafetySource {
|
||||
fingerprintStatusUtils.getSettingsClassName(), disablingAdmin,
|
||||
Bundle.EMPTY),
|
||||
disablingAdmin == null /* enabled */,
|
||||
fingerprintStatusUtils.hasEnrolled(),
|
||||
safetyEvent);
|
||||
}
|
||||
}
|
||||
@@ -114,12 +117,14 @@ public final class BiometricsSafetySource {
|
||||
}
|
||||
|
||||
private static void setBiometricSafetySourceData(Context context, String title, String summary,
|
||||
Intent clickIntent, boolean enabled, SafetyEvent safetyEvent) {
|
||||
Intent clickIntent, boolean enabled, boolean hasEnrolled, SafetyEvent safetyEvent) {
|
||||
final PendingIntent pendingIntent = createPendingIntent(context, clickIntent);
|
||||
final int statusLevel =
|
||||
enabled && hasEnrolled ? SafetySourceStatus.STATUS_LEVEL_OK
|
||||
: SafetySourceStatus.STATUS_LEVEL_NONE;
|
||||
|
||||
final SafetySourceStatus status = new SafetySourceStatus.Builder(title, summary,
|
||||
SafetySourceStatus.STATUS_LEVEL_NONE, pendingIntent)
|
||||
.setEnabled(enabled).build();
|
||||
final SafetySourceStatus status = new SafetySourceStatus.Builder(
|
||||
title, summary, statusLevel, pendingIntent).setEnabled(enabled).build();
|
||||
final SafetySourceData safetySourceData =
|
||||
new SafetySourceData.Builder().setStatus(status).build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user