Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02a08b8a authored by Kevin Chyn's avatar Kevin Chyn Committed by android-build-merger
Browse files

Merge "Do not use canAuthenticate() to check if user can reset lockout" into qt-r1-dev

am: 8f0cd654

Change-Id: Ib4e4f5b1fd57471664ce9aa6a6d2a43d4fbbdcb4
parents ff51db8e 8f0cd654
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -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
+3 −0
Original line number Diff line number Diff line
@@ -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);

+17 −0
Original line number Diff line number Diff line
@@ -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 {
+1 −1
Original line number Diff line number Diff line
@@ -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() {