diff options
| author | 2022-10-05 13:16:20 +0000 | |
|---|---|---|
| committer | 2022-10-05 13:16:20 +0000 | |
| commit | 97e255ebc48a69b84142f3bd67cdc172fd2b3221 (patch) | |
| tree | cbf69f42b26d522f11a7233f3836b0d6a005859c | |
| parent | c01528ffbe82a00db1cd8137759c6fc13138a052 (diff) | |
Revert "Remove IPC calls from KeyguardUpdateMonitor"
This reverts commit c01528ffbe82a00db1cd8137759c6fc13138a052.
Bug: 251142195
Reason for revert: b/251142195 broke a lot of Droidmonitored tests
Change-Id: Ice67c31eb377bbf4634a9c338445b947b31706df
10 files changed, 33 insertions, 88 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index ca19b78211b7..f259a542908c 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -2182,8 +2182,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab private void updateFaceEnrolled(int userId) { mIsFaceEnrolled = whitelistIpcs( () -> mFaceManager != null && mFaceManager.isHardwareDetected() - && mBiometricEnabledForUser.get(userId)) - && mAuthController.isFaceAuthEnrolled(userId); + && mFaceManager.hasEnrolledTemplates(userId) + && mBiometricEnabledForUser.get(userId)); } public boolean isFaceSupported() { diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java index ef3c34a2a960..1ceb6b3ca172 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java @@ -151,7 +151,6 @@ public class AuthController extends CoreStartable implements CommandQueue.Callba @Nullable private List<FingerprintSensorPropertiesInternal> mSidefpsProps; @NonNull private final SparseBooleanArray mUdfpsEnrolledForUser; - @NonNull private final SparseBooleanArray mFaceEnrolledForUser; @NonNull private final SensorPrivacyManager mSensorPrivacyManager; private final WakefulnessLifecycle mWakefulnessLifecycle; private boolean mAllFingerprintAuthenticatorsRegistered; @@ -346,15 +345,6 @@ public class AuthController extends CoreStartable implements CommandQueue.Callba } } } - if (mFaceProps == null) { - Log.d(TAG, "handleEnrollmentsChanged, mFaceProps is null"); - } else { - for (FaceSensorPropertiesInternal prop : mFaceProps) { - if (prop.sensorId == sensorId) { - mFaceEnrolledForUser.put(userId, hasEnrollments); - } - } - } for (Callback cb : mCallbacks) { cb.onEnrollmentsChanged(modality); } @@ -719,7 +709,6 @@ public class AuthController extends CoreStartable implements CommandQueue.Callba mWindowManager = windowManager; mInteractionJankMonitor = jankMonitor; mUdfpsEnrolledForUser = new SparseBooleanArray(); - mFaceEnrolledForUser = new SparseBooleanArray(); mVibratorHelper = vibrator; mOrientationListener = new BiometricDisplayListener( @@ -1068,7 +1057,7 @@ public class AuthController extends CoreStartable implements CommandQueue.Callba return false; } - return mFaceEnrolledForUser.get(userId); + return mFaceManager.hasEnrolledTemplates(userId); } /** diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java index 85ec83cf3777..271bce9890c6 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java @@ -588,9 +588,8 @@ public class FaceService extends SystemService { } try { final SensorProps[] props = face.getSensorProps(); - final FaceProvider provider = new FaceProvider(getContext(), - mBiometricStateCallback, props, instance, mLockoutResetDispatcher, - BiometricContext.getInstance(getContext())); + final FaceProvider provider = new FaceProvider(getContext(), props, instance, + mLockoutResetDispatcher, BiometricContext.getInstance(getContext())); providers.add(provider); } catch (RemoteException e) { Slog.e(TAG, "Remote exception in getSensorProps: " + fqName); @@ -601,14 +600,14 @@ public class FaceService extends SystemService { } @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL) + @Override // Binder call public void registerAuthenticators( @NonNull List<FaceSensorPropertiesInternal> hidlSensors) { mRegistry.registerAll(() -> { final List<ServiceProvider> providers = new ArrayList<>(); for (FaceSensorPropertiesInternal hidlSensor : hidlSensors) { providers.add( - Face10.newInstance(getContext(), mBiometricStateCallback, - hidlSensor, mLockoutResetDispatcher)); + Face10.newInstance(getContext(), hidlSensor, mLockoutResetDispatcher)); } providers.addAll(getAidlProviders()); return providers; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/aidl/BiometricTestSessionImpl.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/BiometricTestSessionImpl.java index 43b58963bcc6..73c272f7a779 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/aidl/BiometricTestSessionImpl.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/aidl/BiometricTestSessionImpl.java @@ -16,6 +16,8 @@ package com.android.server.biometrics.sensors.face.aidl; +import static android.Manifest.permission.TEST_BIOMETRIC; + import android.annotation.NonNull; import android.content.Context; import android.hardware.biometrics.ITestSession; @@ -31,8 +33,8 @@ import android.os.RemoteException; import android.util.Slog; import com.android.server.biometrics.HardwareAuthTokenUtils; +import com.android.server.biometrics.Utils; import com.android.server.biometrics.sensors.BaseClientMonitor; -import com.android.server.biometrics.sensors.BiometricStateCallback; import com.android.server.biometrics.sensors.ClientMonitorCallback; import com.android.server.biometrics.sensors.face.FaceUtils; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java index 2d7b2e6a1607..6bff179e8eb7 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java @@ -52,10 +52,8 @@ import com.android.server.biometrics.log.BiometricContext; import com.android.server.biometrics.log.BiometricLogger; import com.android.server.biometrics.sensors.AuthenticationClient; import com.android.server.biometrics.sensors.BaseClientMonitor; -import com.android.server.biometrics.sensors.BiometricStateCallback; import com.android.server.biometrics.sensors.ClientMonitorCallback; import com.android.server.biometrics.sensors.ClientMonitorCallbackConverter; -import com.android.server.biometrics.sensors.ClientMonitorCompositeCallback; import com.android.server.biometrics.sensors.InvalidationRequesterClient; import com.android.server.biometrics.sensors.LockoutResetDispatcher; import com.android.server.biometrics.sensors.PerformanceTracker; @@ -82,7 +80,6 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { private boolean mTestHalEnabled; @NonNull private final Context mContext; - @NonNull private final BiometricStateCallback mBiometricStateCallback; @NonNull private final String mHalInstanceName; @NonNull @VisibleForTesting final SparseArray<Sensor> mSensors; // Map of sensors that this HAL supports @@ -124,14 +121,11 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { } } - public FaceProvider(@NonNull Context context, - @NonNull BiometricStateCallback biometricStateCallback, - @NonNull SensorProps[] props, + public FaceProvider(@NonNull Context context, @NonNull SensorProps[] props, @NonNull String halInstanceName, @NonNull LockoutResetDispatcher lockoutResetDispatcher, @NonNull BiometricContext biometricContext) { mContext = context; - mBiometricStateCallback = biometricStateCallback; mHalInstanceName = halInstanceName; mSensors = new SparseArray<>(); mHandler = new Handler(Looper.getMainLooper()); @@ -370,19 +364,8 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { mBiometricContext, maxTemplatesPerUser, debugConsent); scheduleForSensor(sensorId, client, new ClientMonitorCallback() { @Override - public void onClientStarted(@NonNull BaseClientMonitor clientMonitor) { - mBiometricStateCallback.onClientStarted(clientMonitor); - } - - @Override - public void onBiometricAction(int action) { - mBiometricStateCallback.onBiometricAction(action); - } - - @Override public void onClientFinished(@NonNull BaseClientMonitor clientMonitor, boolean success) { - mBiometricStateCallback.onClientFinished(clientMonitor, success); if (success) { scheduleLoadAuthenticatorIdsForUser(sensorId, userId); scheduleInvalidationRequest(sensorId, userId); @@ -412,7 +395,7 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { token, id, callback, userId, opPackageName, sensorId, createLogger(BiometricsProtoEnums.ACTION_AUTHENTICATE, statsClient), mBiometricContext, isStrongBiometric); - scheduleForSensor(sensorId, client, mBiometricStateCallback); + scheduleForSensor(sensorId, client); }); return id; @@ -439,7 +422,7 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { mBiometricContext, isStrongBiometric, mUsageStats, mSensors.get(sensorId).getLockoutCache(), allowBackgroundAuthentication, isKeyguardBypassEnabled); - scheduleForSensor(sensorId, client, mBiometricStateCallback); + scheduleForSensor(sensorId, client); }); } @@ -494,7 +477,7 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { BiometricsProtoEnums.CLIENT_UNKNOWN), mBiometricContext, mSensors.get(sensorId).getAuthenticatorIds()); - scheduleForSensor(sensorId, client, mBiometricStateCallback); + scheduleForSensor(sensorId, client); }); } @@ -582,8 +565,7 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { if (favorHalEnrollments) { client.setFavorHalEnrollments(); } - scheduleForSensor(sensorId, client, new ClientMonitorCompositeCallback(callback, - mBiometricStateCallback)); + scheduleForSensor(sensorId, client, callback); }); } diff --git a/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java index f1c6512ed9fb..800d4b8acf61 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java @@ -57,7 +57,6 @@ import com.android.server.biometrics.log.BiometricLogger; import com.android.server.biometrics.sensors.AuthenticationConsumer; import com.android.server.biometrics.sensors.BaseClientMonitor; import com.android.server.biometrics.sensors.BiometricScheduler; -import com.android.server.biometrics.sensors.BiometricStateCallback; import com.android.server.biometrics.sensors.EnumerateConsumer; import com.android.server.biometrics.sensors.ErrorConsumer; import com.android.server.biometrics.sensors.Interruptable; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/hidl/BiometricTestSessionImpl.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/BiometricTestSessionImpl.java index 698d0644b9b5..14af216a9dc5 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/hidl/BiometricTestSessionImpl.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/BiometricTestSessionImpl.java @@ -16,6 +16,8 @@ package com.android.server.biometrics.sensors.face.hidl; +import static android.Manifest.permission.TEST_BIOMETRIC; + import android.annotation.NonNull; import android.content.Context; import android.hardware.biometrics.ITestSession; @@ -28,8 +30,8 @@ import android.os.Binder; import android.os.RemoteException; import android.util.Slog; +import com.android.server.biometrics.Utils; import com.android.server.biometrics.sensors.BaseClientMonitor; -import com.android.server.biometrics.sensors.BiometricStateCallback; import com.android.server.biometrics.sensors.ClientMonitorCallback; import com.android.server.biometrics.sensors.face.FaceUtils; @@ -51,7 +53,6 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { @NonNull private final Set<Integer> mEnrollmentIds; @NonNull private final Random mRandom; - private final IFaceServiceReceiver mReceiver = new IFaceServiceReceiver.Stub() { @Override public void onEnrollResult(Face face, int remaining) { @@ -115,8 +116,7 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { }; BiometricTestSessionImpl(@NonNull Context context, int sensorId, - @NonNull ITestSessionCallback callback, - @NonNull Face10 face10, + @NonNull ITestSessionCallback callback, @NonNull Face10 face10, @NonNull Face10.HalResultController halResultController) { mContext = context; mSensorId = sensorId; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java index 0e0ee1966024..c0a119ff5f1e 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java @@ -62,10 +62,8 @@ import com.android.server.biometrics.sensors.AuthenticationConsumer; import com.android.server.biometrics.sensors.BaseClientMonitor; import com.android.server.biometrics.sensors.BiometricNotificationUtils; import com.android.server.biometrics.sensors.BiometricScheduler; -import com.android.server.biometrics.sensors.BiometricStateCallback; import com.android.server.biometrics.sensors.ClientMonitorCallback; import com.android.server.biometrics.sensors.ClientMonitorCallbackConverter; -import com.android.server.biometrics.sensors.ClientMonitorCompositeCallback; import com.android.server.biometrics.sensors.EnumerateConsumer; import com.android.server.biometrics.sensors.ErrorConsumer; import com.android.server.biometrics.sensors.LockoutResetDispatcher; @@ -112,7 +110,6 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { private boolean mTestHalEnabled; @NonNull private final FaceSensorPropertiesInternal mSensorProperties; - @NonNull private final BiometricStateCallback mBiometricStateCallback; @NonNull private final Context mContext; @NonNull private final BiometricScheduler mScheduler; @NonNull private final Handler mHandler; @@ -339,7 +336,6 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { @VisibleForTesting Face10(@NonNull Context context, - @NonNull BiometricStateCallback biometricStateCallback, @NonNull FaceSensorPropertiesInternal sensorProps, @NonNull LockoutResetDispatcher lockoutResetDispatcher, @NonNull Handler handler, @@ -347,7 +343,6 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { @NonNull BiometricContext biometricContext) { mSensorProperties = sensorProps; mContext = context; - mBiometricStateCallback = biometricStateCallback; mSensorId = sensorProps.sensorId; mScheduler = scheduler; mHandler = handler; @@ -371,12 +366,11 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { } public static Face10 newInstance(@NonNull Context context, - @NonNull BiometricStateCallback biometricStateCallback, @NonNull FaceSensorPropertiesInternal sensorProps, @NonNull LockoutResetDispatcher lockoutResetDispatcher) { final Handler handler = new Handler(Looper.getMainLooper()); - return new Face10(context, biometricStateCallback, sensorProps, lockoutResetDispatcher, - handler, new BiometricScheduler(TAG, BiometricScheduler.SENSOR_TYPE_FACE, + return new Face10(context, sensorProps, lockoutResetDispatcher, handler, + new BiometricScheduler(TAG, BiometricScheduler.SENSOR_TYPE_FACE, null /* gestureAvailabilityTracker */), BiometricContext.getInstance(context)); } @@ -621,19 +615,8 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { mScheduler.scheduleClientMonitor(client, new ClientMonitorCallback() { @Override - public void onClientStarted(@NonNull BaseClientMonitor clientMonitor) { - mBiometricStateCallback.onClientStarted(clientMonitor); - } - - @Override - public void onBiometricAction(int action) { - mBiometricStateCallback.onBiometricAction(action); - } - - @Override public void onClientFinished(@NonNull BaseClientMonitor clientMonitor, boolean success) { - mBiometricStateCallback.onClientFinished(clientMonitor, success); if (success) { // Update authenticatorIds scheduleUpdateActiveUserWithoutHandler(client.getTargetUserId()); @@ -678,7 +661,7 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { createLogger(BiometricsProtoEnums.ACTION_AUTHENTICATE, statsClient), mBiometricContext, isStrongBiometric, mLockoutTracker, mUsageStats, allowBackgroundAuthentication, isKeyguardBypassEnabled); - mScheduler.scheduleClientMonitor(client, mBiometricStateCallback); + mScheduler.scheduleClientMonitor(client); }); } @@ -713,7 +696,7 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { createLogger(BiometricsProtoEnums.ACTION_REMOVE, BiometricsProtoEnums.CLIENT_UNKNOWN), mBiometricContext, mAuthenticatorIds); - mScheduler.scheduleClientMonitor(client, mBiometricStateCallback); + mScheduler.scheduleClientMonitor(client); }); } @@ -731,7 +714,7 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { createLogger(BiometricsProtoEnums.ACTION_REMOVE, BiometricsProtoEnums.CLIENT_UNKNOWN), mBiometricContext, mAuthenticatorIds); - mScheduler.scheduleClientMonitor(client, mBiometricStateCallback); + mScheduler.scheduleClientMonitor(client); }); } @@ -823,15 +806,14 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { BiometricsProtoEnums.CLIENT_UNKNOWN), mBiometricContext, enrolledList, FaceUtils.getLegacyInstance(mSensorId), mAuthenticatorIds); - mScheduler.scheduleClientMonitor(client, new ClientMonitorCompositeCallback(callback, - mBiometricStateCallback)); + mScheduler.scheduleClientMonitor(client, callback); }); } @Override public void scheduleInternalCleanup(int sensorId, int userId, @Nullable ClientMonitorCallback callback) { - scheduleInternalCleanup(userId, mBiometricStateCallback); + scheduleInternalCleanup(userId, callback); } @Override @@ -1029,7 +1011,7 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { @Override public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, @NonNull String opPackageName) { - return new BiometricTestSessionImpl(mContext, mSensorId, callback, - this, mHalResultController); + return new BiometricTestSessionImpl(mContext, mSensorId, callback, this, + mHalResultController); } } diff --git a/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/aidl/FaceProviderTest.java b/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/aidl/FaceProviderTest.java index 41f743367aeb..12b8264fc20c 100644 --- a/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/aidl/FaceProviderTest.java +++ b/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/aidl/FaceProviderTest.java @@ -39,7 +39,6 @@ import androidx.test.filters.SmallTest; import com.android.server.biometrics.log.BiometricContext; import com.android.server.biometrics.sensors.BiometricScheduler; -import com.android.server.biometrics.sensors.BiometricStateCallback; import com.android.server.biometrics.sensors.HalClientMonitor; import com.android.server.biometrics.sensors.LockoutResetDispatcher; @@ -64,8 +63,6 @@ public class FaceProviderTest { private IFace mDaemon; @Mock private BiometricContext mBiometricContext; - @Mock - private BiometricStateCallback mBiometricStateCallback; private SensorProps[] mSensorProps; private LockoutResetDispatcher mLockoutResetDispatcher; @@ -94,8 +91,8 @@ public class FaceProviderTest { mLockoutResetDispatcher = new LockoutResetDispatcher(mContext); - mFaceProvider = new TestableFaceProvider(mDaemon, mContext, mBiometricStateCallback, - mSensorProps, TAG, mLockoutResetDispatcher, mBiometricContext); + mFaceProvider = new TestableFaceProvider(mDaemon, mContext, mSensorProps, TAG, + mLockoutResetDispatcher, mBiometricContext); } @SuppressWarnings("rawtypes") @@ -143,13 +140,11 @@ public class FaceProviderTest { TestableFaceProvider(@NonNull IFace daemon, @NonNull Context context, - @NonNull BiometricStateCallback biometricStateCallback, @NonNull SensorProps[] props, @NonNull String halInstanceName, @NonNull LockoutResetDispatcher lockoutResetDispatcher, @NonNull BiometricContext biometricContext) { - super(context, biometricStateCallback, props, halInstanceName, lockoutResetDispatcher, - biometricContext); + super(context, props, halInstanceName, lockoutResetDispatcher, biometricContext); mDaemon = daemon; } diff --git a/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/hidl/Face10Test.java b/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/hidl/Face10Test.java index a2cade7ad797..116d2d5a66a0 100644 --- a/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/hidl/Face10Test.java +++ b/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/hidl/Face10Test.java @@ -43,7 +43,6 @@ import androidx.test.filters.SmallTest; import com.android.server.biometrics.log.BiometricContext; import com.android.server.biometrics.sensors.BiometricScheduler; -import com.android.server.biometrics.sensors.BiometricStateCallback; import com.android.server.biometrics.sensors.LockoutResetDispatcher; import org.junit.Before; @@ -74,8 +73,6 @@ public class Face10Test { private BiometricScheduler mScheduler; @Mock private BiometricContext mBiometricContext; - @Mock - private BiometricStateCallback mBiometricStateCallback; private final Handler mHandler = new Handler(Looper.getMainLooper()); private LockoutResetDispatcher mLockoutResetDispatcher; @@ -106,8 +103,8 @@ public class Face10Test { resetLockoutRequiresChallenge); Face10.sSystemClock = Clock.fixed(Instant.ofEpochMilli(100), ZoneId.of("PST")); - mFace10 = new Face10(mContext, mBiometricStateCallback, sensorProps, - mLockoutResetDispatcher, mHandler, mScheduler, mBiometricContext); + mFace10 = new Face10(mContext, sensorProps, mLockoutResetDispatcher, mHandler, mScheduler, + mBiometricContext); mBinder = new Binder(); } |