Merge "Do not use canAuthenticate() to check if user can reset lockout" into qt-r1-dev
This commit is contained in:
@@ -128,6 +128,25 @@ public class BiometricManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermission(USE_BIOMETRIC_INTERNAL)
|
||||
public boolean hasEnrolledBiometrics(int userId) {
|
||||
if (mService != null) {
|
||||
try {
|
||||
return mService.hasEnrolledBiometrics(userId);
|
||||
} catch (RemoteException e) {
|
||||
Slog.w(TAG, "Remote exception in hasEnrolledBiometrics(): " + e);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Listens for changes to biometric eligibility on keyguard from user settings.
|
||||
* @param callback
|
||||
|
||||
@@ -42,6 +42,9 @@ interface IBiometricService {
|
||||
// Checks if biometrics can be used.
|
||||
int canAuthenticate(String opPackageName, int userId);
|
||||
|
||||
// Checks if any biometrics are enrolled.
|
||||
boolean hasEnrolledBiometrics(int userId);
|
||||
|
||||
// Register callback for when keyguard biometric eligibility changes.
|
||||
void registerEnabledOnKeyguardCallback(IBiometricEnabledOnKeyguardCallback callback);
|
||||
|
||||
|
||||
@@ -789,6 +789,23 @@ public class BiometricService extends SystemService {
|
||||
return error;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasEnrolledBiometrics(int userId) {
|
||||
checkInternalPermission();
|
||||
|
||||
final long ident = Binder.clearCallingIdentity();
|
||||
try {
|
||||
for (int i = 0; i < mAuthenticators.size(); i++) {
|
||||
if (mAuthenticators.get(i).mAuthenticator.hasEnrolledTemplates(userId)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(ident);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // Binder call
|
||||
public void registerEnabledOnKeyguardCallback(IBiometricEnabledOnKeyguardCallback callback)
|
||||
throws RemoteException {
|
||||
|
||||
@@ -446,7 +446,7 @@ public class LockSettingsService extends ILockSettings.Stub {
|
||||
|
||||
public boolean hasEnrolledBiometrics(int userId) {
|
||||
BiometricManager bm = mContext.getSystemService(BiometricManager.class);
|
||||
return bm.canAuthenticate(userId) == BiometricManager.BIOMETRIC_SUCCESS;
|
||||
return bm.hasEnrolledBiometrics(userId);
|
||||
}
|
||||
|
||||
public int binderGetCallingUid() {
|
||||
|
||||
Reference in New Issue
Block a user