diff options
Diffstat (limited to 'services/core/java/com/android/server/biometrics/BiometricService.java')
-rw-r--r-- | services/core/java/com/android/server/biometrics/BiometricService.java | 41 |
1 files changed, 10 insertions, 31 deletions
diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java index 91a68ea67b3b..d10223fddbae 100644 --- a/services/core/java/com/android/server/biometrics/BiometricService.java +++ b/services/core/java/com/android/server/biometrics/BiometricService.java @@ -65,15 +65,11 @@ import android.os.IBinder; import android.os.Looper; import android.os.RemoteException; import android.os.ServiceManager; -import android.os.ServiceSpecificException; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; -import android.security.Authorization; import android.security.GateKeeper; -import android.security.KeyStore; -import android.security.authorization.IKeystoreAuthorization; -import android.security.authorization.ResponseCode; +import android.security.KeyStoreAuthorization; import android.service.gatekeeper.IGateKeeperService; import android.text.TextUtils; import android.util.ArraySet; @@ -123,11 +119,9 @@ public class BiometricService extends SystemService { @VisibleForTesting IStatusBarService mStatusBarService; @VisibleForTesting - KeyStore mKeyStore; - @VisibleForTesting ITrustManager mTrustManager; @VisibleForTesting - IKeystoreAuthorization mKeystoreAuthorization; + KeyStoreAuthorization mKeyStoreAuthorization; @VisibleForTesting IGateKeeperService mGateKeeper; @@ -672,19 +666,7 @@ public class BiometricService extends SystemService { int[] authTypesArray = hardwareAuthenticators.stream() .mapToInt(Integer::intValue) .toArray(); - try { - return mKeystoreAuthorization.getLastAuthTime(secureUserId, authTypesArray); - } catch (RemoteException e) { - Slog.w(TAG, "Error getting last auth time: " + e); - return BiometricConstants.BIOMETRIC_NO_AUTHENTICATION; - } catch (ServiceSpecificException e) { - // This is returned when the feature flag test fails in keystore2 - if (e.errorCode == ResponseCode.PERMISSION_DENIED) { - throw new UnsupportedOperationException(); - } - - return BiometricConstants.BIOMETRIC_NO_AUTHENTICATION; - } + return mKeyStoreAuthorization.getLastAuthTime(secureUserId, authTypesArray); } @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL) @@ -866,8 +848,10 @@ public class BiometricService extends SystemService { Slog.d(TAG, "resetLockout(userId=" + userId + ", hat=" + (hardwareAuthToken == null ? "null " : "present") + ")"); - mBiometricContext.getAuthSessionCoordinator() + mHandler.post(() -> { + mBiometricContext.getAuthSessionCoordinator() .resetLockoutFor(userId, Authenticators.BIOMETRIC_STRONG, -1); + }); } @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL) @@ -1009,8 +993,8 @@ public class BiometricService extends SystemService { return ActivityManager.getService(); } - public IKeystoreAuthorization getKeystoreAuthorizationService() { - return Authorization.getService(); + public KeyStoreAuthorization getKeyStoreAuthorization() { + return KeyStoreAuthorization.getInstance(); } public IGateKeeperService getGateKeeperService() { @@ -1034,10 +1018,6 @@ public class BiometricService extends SystemService { return new SettingObserver(context, handler, callbacks); } - public KeyStore getKeyStore() { - return KeyStore.getInstance(); - } - /** * Allows to enable/disable debug logs. */ @@ -1130,7 +1110,7 @@ public class BiometricService extends SystemService { mBiometricContext = injector.getBiometricContext(context); mUserManager = injector.getUserManager(context); mBiometricCameraManager = injector.getBiometricCameraManager(context); - mKeystoreAuthorization = injector.getKeystoreAuthorizationService(); + mKeyStoreAuthorization = injector.getKeyStoreAuthorization(); mGateKeeper = injector.getGateKeeperService(); try { @@ -1150,7 +1130,6 @@ public class BiometricService extends SystemService { @Override public void onStart() { - mKeyStore = mInjector.getKeyStore(); mStatusBarService = mInjector.getStatusBarService(); mTrustManager = mInjector.getTrustManager(); mInjector.publishBinderService(this, mImpl); @@ -1458,7 +1437,7 @@ public class BiometricService extends SystemService { final boolean debugEnabled = mInjector.isDebugEnabled(getContext(), userId); mAuthSession = new AuthSession(getContext(), mBiometricContext, mStatusBarService, - createSysuiReceiver(requestId), mKeyStore, mRandom, + createSysuiReceiver(requestId), mKeyStoreAuthorization, mRandom, createClientDeathReceiver(requestId), preAuthInfo, token, requestId, operationId, userId, createBiometricSensorReceiver(requestId), receiver, opPackageName, promptInfo, debugEnabled, |