From 92de384c712dcb98f3b2ce2035bb8931fd403b48 Mon Sep 17 00:00:00 2001 From: Ilya Matyukhin Date: Thu, 5 Nov 2020 14:11:58 -0800 Subject: [PATCH] Move the face HIDL code under the hidl package Bug: 171335732 Test: atest com.android.server.biometrics Test: face unlock works on device Change-Id: I485d728583562a64987a876f2f8e058e53c30c73 --- .../biometrics/sensors/face/FaceService.java | 5 +- .../biometrics/sensors/face/UsageStats.java | 10 +- .../sensors/face/{ => hidl}/Face10.java | 303 +++++++++--------- .../{ => hidl}/FaceAuthenticationClient.java | 3 +- .../face/{ => hidl}/FaceEnrollClient.java | 2 +- .../FaceGenerateChallengeClient.java | 3 +- .../face/{ => hidl}/FaceGetFeatureClient.java | 2 +- .../{ => hidl}/FaceInternalCleanupClient.java | 2 +- .../FaceInternalEnumerateClient.java | 2 +- .../face/{ => hidl}/FaceRemovalClient.java | 2 +- .../{ => hidl}/FaceResetLockoutClient.java | 2 +- .../{ => hidl}/FaceRevokeChallengeClient.java | 2 +- .../face/{ => hidl}/FaceSetFeatureClient.java | 2 +- .../FaceUpdateActiveUserClient.java | 2 +- .../biometrics/sensors/face/Face10Test.java | 8 +- 15 files changed, 182 insertions(+), 168 deletions(-) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/Face10.java (76%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceAuthenticationClient.java (98%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceEnrollClient.java (99%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceGenerateChallengeClient.java (96%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceGetFeatureClient.java (98%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceInternalCleanupClient.java (98%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceInternalEnumerateClient.java (97%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceRemovalClient.java (97%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceResetLockoutClient.java (97%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceRevokeChallengeClient.java (96%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceSetFeatureClient.java (98%) rename services/core/java/com/android/server/biometrics/sensors/face/{ => hidl}/FaceUpdateActiveUserClient.java (98%) 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 c63518279cafe..00a708d21fa7d 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 @@ -66,7 +66,7 @@ public class FaceService extends SystemService { private final LockoutResetDispatcher mLockoutResetDispatcher; private final LockPatternUtils mLockPatternUtils; @NonNull - private List mServiceProviders; + private final List mServiceProviders; @Nullable private ServiceProvider getProviderForSensor(int sensorId) { @@ -498,7 +498,8 @@ public class FaceService extends SystemService { @BiometricManager.Authenticators.Types int strength) { Utils.checkPermission(getContext(), USE_BIOMETRIC_INTERNAL); mServiceProviders.add( - new Face10(getContext(), sensorId, strength, mLockoutResetDispatcher)); + new com.android.server.biometrics.sensors.face.hidl.Face10(getContext(), + sensorId, strength, mLockoutResetDispatcher)); } } diff --git a/services/core/java/com/android/server/biometrics/sensors/face/UsageStats.java b/services/core/java/com/android/server/biometrics/sensors/face/UsageStats.java index 4841bf437cdcb..d99abcd4b3d21 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/UsageStats.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/UsageStats.java @@ -28,7 +28,7 @@ import java.util.ArrayDeque; * Keep a short historical buffer of stats, with an aggregated usage time. */ -class UsageStats { +public class UsageStats { private static final int EVENT_LOG_SIZE = 100; /** @@ -44,7 +44,7 @@ class UsageStats { private int mVendorError; private int mUser; - AuthenticationEvent(long startTime, long latency, boolean authenticated, int error, + public AuthenticationEvent(long startTime, long latency, boolean authenticated, int error, int vendorError, int user) { mStartTime = startTime; mLatency = latency; @@ -76,14 +76,14 @@ class UsageStats { private long mRejectLatency; private SparseLongArray mErrorLatency; - UsageStats(Context context) { + public UsageStats(Context context) { mAuthenticationEvents = new ArrayDeque<>(); mErrorCount = new SparseIntArray(); mErrorLatency = new SparseLongArray(); mContext = context; } - void addEvent(AuthenticationEvent event) { + public void addEvent(AuthenticationEvent event) { if (mAuthenticationEvents.size() >= EVENT_LOG_SIZE) { mAuthenticationEvents.removeFirst(); } @@ -101,7 +101,7 @@ class UsageStats { } } - void print(PrintWriter pw) { + public void print(PrintWriter pw) { pw.println("Events since last reboot: " + mAuthenticationEvents.size()); for (AuthenticationEvent event : mAuthenticationEvents) { pw.println(event.toString(mContext)); diff --git a/services/core/java/com/android/server/biometrics/sensors/face/Face10.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java similarity index 76% rename from services/core/java/com/android/server/biometrics/sensors/face/Face10.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java index 15f8c53736724..7b70bd8a87306 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/Face10.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.annotation.Nullable; @@ -63,6 +63,10 @@ import com.android.server.biometrics.sensors.LockoutResetDispatcher; import com.android.server.biometrics.sensors.LockoutTracker; import com.android.server.biometrics.sensors.PerformanceTracker; import com.android.server.biometrics.sensors.RemovalConsumer; +import com.android.server.biometrics.sensors.face.FaceUtils; +import com.android.server.biometrics.sensors.face.LockoutHalImpl; +import com.android.server.biometrics.sensors.face.ServiceProvider; +import com.android.server.biometrics.sensors.face.UsageStats; import org.json.JSONArray; import org.json.JSONException; @@ -82,7 +86,7 @@ import java.util.Map; * Supports a single instance of the {@link android.hardware.biometrics.face.V1_0} or * its extended minor versions. */ -class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { +public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { private static final String TAG = "Face10"; private static final int ENROLL_TIMEOUT_SEC = 75; @@ -120,166 +124,175 @@ class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { private final IBiometricsFaceClientCallback mDaemonCallback = new IBiometricsFaceClientCallback.Stub() { - @Override - public void onEnrollResult(long deviceId, int faceId, int userId, int remaining) { - mHandler.post(() -> { - final CharSequence name = FaceUtils.getInstance() - .getUniqueName(mContext, userId); - final Face face = new Face(name, faceId, deviceId); + @Override + public void onEnrollResult(long deviceId, int faceId, int userId, int remaining) { + mHandler.post(() -> { + final CharSequence name = FaceUtils.getInstance() + .getUniqueName(mContext, userId); + final Face face = new Face(name, faceId, deviceId); - final ClientMonitor client = mScheduler.getCurrentClient(); - if (!(client instanceof FaceEnrollClient)) { - Slog.e(TAG, "onEnrollResult for non-enroll client: " - + Utils.getClientName(client)); - return; + final ClientMonitor client = mScheduler.getCurrentClient(); + if (!(client instanceof FaceEnrollClient)) { + Slog.e(TAG, "onEnrollResult for non-enroll client: " + + Utils.getClientName(client)); + return; + } + + final FaceEnrollClient enrollClient = (FaceEnrollClient) client; + enrollClient.onEnrollResult(face, remaining); + }); } - final FaceEnrollClient enrollClient = (FaceEnrollClient) client; - enrollClient.onEnrollResult(face, remaining); - }); - } + @Override + public void onAuthenticated(long deviceId, int faceId, int userId, + ArrayList token) { + mHandler.post(() -> { + final ClientMonitor client = mScheduler.getCurrentClient(); + if (!(client instanceof AuthenticationConsumer)) { + Slog.e(TAG, "onAuthenticated for non-authentication consumer: " + + Utils.getClientName(client)); + return; + } - @Override - public void onAuthenticated(long deviceId, int faceId, int userId, ArrayList token) { - mHandler.post(() -> { - final ClientMonitor client = mScheduler.getCurrentClient(); - if (!(client instanceof AuthenticationConsumer)) { - Slog.e(TAG, "onAuthenticated for non-authentication consumer: " - + Utils.getClientName(client)); - return; + final AuthenticationConsumer authenticationConsumer = + (AuthenticationConsumer) client; + final boolean authenticated = faceId != 0; + final Face face = new Face("", faceId, deviceId); + authenticationConsumer.onAuthenticated(face, authenticated, token); + }); } - final AuthenticationConsumer authenticationConsumer = - (AuthenticationConsumer) client; - final boolean authenticated = faceId != 0; - final Face face = new Face("", faceId, deviceId); - authenticationConsumer.onAuthenticated(face, authenticated, token); - }); - } + @Override + public void onAcquired(long deviceId, int userId, int acquiredInfo, + int vendorCode) { + mHandler.post(() -> { + final ClientMonitor client = mScheduler.getCurrentClient(); + if (!(client instanceof AcquisitionClient)) { + Slog.e(TAG, "onAcquired for non-acquire client: " + + Utils.getClientName(client)); + return; + } - @Override - public void onAcquired(long deviceId, int userId, int acquiredInfo, int vendorCode) { - mHandler.post(() -> { - final ClientMonitor client = mScheduler.getCurrentClient(); - if (!(client instanceof AcquisitionClient)) { - Slog.e(TAG, "onAcquired for non-acquire client: " - + Utils.getClientName(client)); - return; + final AcquisitionClient acquisitionClient = + (AcquisitionClient) client; + acquisitionClient.onAcquired(acquiredInfo, vendorCode); + }); } - final AcquisitionClient acquisitionClient = (AcquisitionClient) client; - acquisitionClient.onAcquired(acquiredInfo, vendorCode); - }); - } + @Override + public void onError(long deviceId, int userId, int error, int vendorCode) { + mHandler.post(() -> { + final ClientMonitor client = mScheduler.getCurrentClient(); + Slog.d(TAG, "handleError" + + ", client: " + (client != null ? client.getOwnerString() : null) + + ", error: " + error + + ", vendorCode: " + vendorCode); + if (!(client instanceof Interruptable)) { + Slog.e(TAG, "onError for non-error consumer: " + Utils.getClientName( + client)); + return; + } - @Override - public void onError(long deviceId, int userId, int error, int vendorCode) { - mHandler.post(() -> { - final ClientMonitor client = mScheduler.getCurrentClient(); - Slog.d(TAG, "handleError" - + ", client: " + (client != null ? client.getOwnerString() : null) - + ", error: " + error - + ", vendorCode: " + vendorCode); - if (!(client instanceof Interruptable)) { - Slog.e(TAG, "onError for non-error consumer: " + Utils.getClientName(client)); - return; + final Interruptable interruptable = (Interruptable) client; + interruptable.onError(error, vendorCode); + + if (error == BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE) { + Slog.e(TAG, "Got ERROR_HW_UNAVAILABLE"); + mDaemon = null; + mCurrentUserId = UserHandle.USER_NULL; + } + }); } - final Interruptable interruptable = (Interruptable) client; - interruptable.onError(error, vendorCode); + @Override + public void onRemoved(long deviceId, ArrayList removed, int userId) { + mHandler.post(() -> { + final ClientMonitor client = mScheduler.getCurrentClient(); + if (!(client instanceof RemovalConsumer)) { + Slog.e(TAG, "onRemoved for non-removal consumer: " + + Utils.getClientName(client)); + return; + } - if (error == BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE) { - Slog.e(TAG, "Got ERROR_HW_UNAVAILABLE"); - mDaemon = null; - mCurrentUserId = UserHandle.USER_NULL; - } - }); - } + final RemovalConsumer removalConsumer = (RemovalConsumer) client; - @Override - public void onRemoved(long deviceId, ArrayList removed, int userId) { - mHandler.post(() -> { - final ClientMonitor client = mScheduler.getCurrentClient(); - if (!(client instanceof RemovalConsumer)) { - Slog.e(TAG, "onRemoved for non-removal consumer: " - + Utils.getClientName(client)); - return; + if (!removed.isEmpty()) { + // Convert to old fingerprint-like behavior, where remove() receives + // one removal + // at a time. This way, remove can share some more common code. + for (int i = 0; i < removed.size(); i++) { + final int id = removed.get(i); + final Face face = new Face("", id, deviceId); + final int remaining = removed.size() - i - 1; + Slog.d(TAG, "Removed, faceId: " + id + ", remaining: " + remaining); + removalConsumer.onRemoved(face, remaining); + } + } else { + removalConsumer.onRemoved(null, 0 /* remaining */); + } + + Settings.Secure.putIntForUser(mContext.getContentResolver(), + Settings.Secure.FACE_UNLOCK_RE_ENROLL, 0, UserHandle.USER_CURRENT); + }); } - final RemovalConsumer removalConsumer = (RemovalConsumer) client; + @Override + public void onEnumerate(long deviceId, ArrayList faceIds, int userId) { + mHandler.post(() -> { + final ClientMonitor client = mScheduler.getCurrentClient(); + if (!(client instanceof EnumerateConsumer)) { + Slog.e(TAG, "onEnumerate for non-enumerate consumer: " + + Utils.getClientName(client)); + return; + } - if (!removed.isEmpty()) { - // Convert to old fingerprint-like behavior, where remove() receives one removal - // at a time. This way, remove can share some more common code. - for (int i = 0; i < removed.size(); i++) { - final int id = removed.get(i); - final Face face = new Face("", id, deviceId); - final int remaining = removed.size() - i - 1; - Slog.d(TAG, "Removed, faceId: " + id + ", remaining: " + remaining); - removalConsumer.onRemoved(face, remaining); - } - } else { - removalConsumer.onRemoved(null, 0 /* remaining */); + final EnumerateConsumer enumerateConsumer = (EnumerateConsumer) client; + + if (!faceIds.isEmpty()) { + // Convert to old fingerprint-like behavior, where enumerate() + // receives one + // template at a time. This way, enumerate can share some more common + // code. + for (int i = 0; i < faceIds.size(); i++) { + final Face face = new Face("", faceIds.get(i), deviceId); + enumerateConsumer.onEnumerationResult(face, faceIds.size() - i - 1); + } + } else { + // For face, the HIDL contract is to receive an empty list when there + // are no + // templates enrolled. Send a null identifier since we don't consume + // them + // anywhere, and send remaining == 0 so this code can be shared with + // Fingerprint@2.1 + enumerateConsumer.onEnumerationResult(null /* identifier */, 0); + } + }); } - Settings.Secure.putIntForUser(mContext.getContentResolver(), - Settings.Secure.FACE_UNLOCK_RE_ENROLL, 0, UserHandle.USER_CURRENT); - }); - } + @Override + public void onLockoutChanged(long duration) { + mHandler.post(() -> { + Slog.d(TAG, "onLockoutChanged: " + duration); + final @LockoutTracker.LockoutMode int lockoutMode; + if (duration == 0) { + lockoutMode = LockoutTracker.LOCKOUT_NONE; + } else if (duration == -1 || duration == Long.MAX_VALUE) { + lockoutMode = LockoutTracker.LOCKOUT_PERMANENT; + } else { + lockoutMode = LockoutTracker.LOCKOUT_TIMED; + } - @Override - public void onEnumerate(long deviceId, ArrayList faceIds, int userId) { - mHandler.post(() -> { - final ClientMonitor client = mScheduler.getCurrentClient(); - if (!(client instanceof EnumerateConsumer)) { - Slog.e(TAG, "onEnumerate for non-enumerate consumer: " - + Utils.getClientName(client)); - return; + mLockoutTracker.setCurrentUserLockoutMode(lockoutMode); + + if (duration == 0) { + mLockoutResetDispatcher.notifyLockoutResetCallbacks(mSensorId); + } + }); } - - final EnumerateConsumer enumerateConsumer = (EnumerateConsumer) client; - - if (!faceIds.isEmpty()) { - // Convert to old fingerprint-like behavior, where enumerate() receives one - // template at a time. This way, enumerate can share some more common code. - for (int i = 0; i < faceIds.size(); i++) { - final Face face = new Face("", faceIds.get(i), deviceId); - enumerateConsumer.onEnumerationResult(face, faceIds.size() - i - 1); - } - } else { - // For face, the HIDL contract is to receive an empty list when there are no - // templates enrolled. Send a null identifier since we don't consume them - // anywhere, and send remaining == 0 so this code can be shared with - // Fingerprint@2.1 - enumerateConsumer.onEnumerationResult(null /* identifier */, 0); - } - }); - } - - @Override - public void onLockoutChanged(long duration) { - mHandler.post(() -> { - Slog.d(TAG, "onLockoutChanged: " + duration); - final @LockoutTracker.LockoutMode int lockoutMode; - if (duration == 0) { - lockoutMode = LockoutTracker.LOCKOUT_NONE; - } else if (duration == -1 || duration == Long.MAX_VALUE) { - lockoutMode = LockoutTracker.LOCKOUT_PERMANENT; - } else { - lockoutMode = LockoutTracker.LOCKOUT_TIMED; - } - - mLockoutTracker.setCurrentUserLockoutMode(lockoutMode); - - if (duration == 0) { - mLockoutResetDispatcher.notifyLockoutResetCallbacks(mSensorId); - } - }); - } - }; + }; @VisibleForTesting - Face10(@NonNull Context context, int sensorId, + public Face10(@NonNull Context context, int sensorId, @BiometricManager.Authenticators.Types int strength, @NonNull LockoutResetDispatcher lockoutResetDispatcher, boolean supportsSelfIllumination, int maxTemplatesAllowed) { @@ -304,7 +317,7 @@ class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { } } - Face10(@NonNull Context context, int sensorId, + public Face10(@NonNull Context context, int sensorId, @BiometricManager.Authenticators.Types int strength, @NonNull LockoutResetDispatcher lockoutResetDispatcher) { this(context, sensorId, strength, lockoutResetDispatcher, @@ -479,8 +492,8 @@ class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { public void scheduleRevokeChallenge(int sensorId, int userId, @NonNull IBinder token, @NonNull String opPackageName, long challenge) { mHandler.post(() -> { - if (mCurrentChallengeOwner != null && - !mCurrentChallengeOwner.getOwnerString().contentEquals(opPackageName)) { + if (mCurrentChallengeOwner != null + && !mCurrentChallengeOwner.getOwnerString().contentEquals(opPackageName)) { Slog.e(TAG, "scheduleRevokeChallenge, package: " + opPackageName + " attempting to revoke challenge owned by: " + mCurrentChallengeOwner.getOwnerString()); @@ -717,10 +730,10 @@ class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { JSONArray sets = new JSONArray(); for (UserInfo user : UserManager.get(mContext).getUsers()) { final int userId = user.getUserHandle().getIdentifier(); - final int N = FaceUtils.getInstance().getBiometricsForUser(mContext, userId).size(); + final int c = FaceUtils.getInstance().getBiometricsForUser(mContext, userId).size(); JSONObject set = new JSONObject(); set.put("id", userId); - set.put("count", N); + set.put("count", c); set.put("accept", performanceTracker.getAcceptForUser(userId)); set.put("reject", performanceTracker.getRejectForUser(userId)); set.put("acquire", performanceTracker.getAcquireForUser(userId)); @@ -816,7 +829,7 @@ class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { try { devnull = new FileOutputStream("/dev/null"); final NativeHandle handle = new NativeHandle( - new FileDescriptor[] { devnull.getFD(), fd }, + new FileDescriptor[]{devnull.getFD(), fd}, new int[0], false); daemon.debug(handle, new ArrayList(Arrays.asList(args))); } catch (IOException | RemoteException ex) { diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceAuthenticationClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceAuthenticationClient.java similarity index 98% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceAuthenticationClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceAuthenticationClient.java index 892d6a48488d9..ce880aa8aeed0 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceAuthenticationClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceAuthenticationClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.app.Notification; @@ -40,6 +40,7 @@ import com.android.server.biometrics.Utils; import com.android.server.biometrics.sensors.AuthenticationClient; import com.android.server.biometrics.sensors.ClientMonitorCallbackConverter; import com.android.server.biometrics.sensors.LockoutTracker; +import com.android.server.biometrics.sensors.face.UsageStats; import java.util.ArrayList; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceEnrollClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceEnrollClient.java similarity index 99% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceEnrollClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceEnrollClient.java index 989b5c938cbc6..1a7544fc7f015 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceEnrollClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceEnrollClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.annotation.Nullable; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceGenerateChallengeClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceGenerateChallengeClient.java similarity index 96% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceGenerateChallengeClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceGenerateChallengeClient.java index 406a7ccedc334..c3d54c2b7fbb6 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceGenerateChallengeClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceGenerateChallengeClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.annotation.Nullable; @@ -24,7 +24,6 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Slog; -import com.android.server.biometrics.sensors.ClientMonitor; import com.android.server.biometrics.sensors.ClientMonitorCallbackConverter; import com.android.server.biometrics.sensors.GenerateChallengeClient; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceGetFeatureClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceGetFeatureClient.java similarity index 98% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceGetFeatureClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceGetFeatureClient.java index 33b2b6ada24c0..e25bb812caa63 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceGetFeatureClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceGetFeatureClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.annotation.Nullable; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalCleanupClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceInternalCleanupClient.java similarity index 98% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceInternalCleanupClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceInternalCleanupClient.java index 7626587f5519c..abfda499cf0f3 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalCleanupClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceInternalCleanupClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.content.Context; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalEnumerateClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceInternalEnumerateClient.java similarity index 97% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceInternalEnumerateClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceInternalEnumerateClient.java index 4166dff853320..9a0974b472cb0 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalEnumerateClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceInternalEnumerateClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.content.Context; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceRemovalClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceRemovalClient.java similarity index 97% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceRemovalClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceRemovalClient.java index 31ae3a387f909..acae89928460f 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceRemovalClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceRemovalClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.content.Context; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceResetLockoutClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceResetLockoutClient.java similarity index 97% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceResetLockoutClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceResetLockoutClient.java index f4324bedb4c65..8df9b9f305de0 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceResetLockoutClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceResetLockoutClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.content.Context; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceRevokeChallengeClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceRevokeChallengeClient.java similarity index 96% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceRevokeChallengeClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceRevokeChallengeClient.java index a10c573f34fcc..e5edfafcef61b 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceRevokeChallengeClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceRevokeChallengeClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.content.Context; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceSetFeatureClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceSetFeatureClient.java similarity index 98% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceSetFeatureClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceSetFeatureClient.java index 94abb7f378df4..0e2072823684b 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceSetFeatureClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceSetFeatureClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.content.Context; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceUpdateActiveUserClient.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceUpdateActiveUserClient.java similarity index 98% rename from services/core/java/com/android/server/biometrics/sensors/face/FaceUpdateActiveUserClient.java rename to services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceUpdateActiveUserClient.java index 05b176d28e28e..22275e5f9d326 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceUpdateActiveUserClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/FaceUpdateActiveUserClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server.biometrics.sensors.face; +package com.android.server.biometrics.sensors.face.hidl; import android.annotation.NonNull; import android.content.Context; diff --git a/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/Face10Test.java b/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/Face10Test.java index b73a783af2990..b0f7b0c0dc50e 100644 --- a/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/Face10Test.java +++ b/services/tests/servicestests/src/com/android/server/biometrics/sensors/face/Face10Test.java @@ -43,7 +43,7 @@ public class Face10Test { private Context mContext; private LockoutResetDispatcher mLockoutResetDispatcher; - private Face10 mFace10; + private com.android.server.biometrics.sensors.face.hidl.Face10 mFace10; private IBinder mBinder; private static void waitForIdle() { @@ -55,9 +55,9 @@ public class Face10Test { MockitoAnnotations.initMocks(this); mLockoutResetDispatcher = new LockoutResetDispatcher(mContext); - mFace10 = new Face10(mContext, SENSOR_ID, BiometricManager.Authenticators.BIOMETRIC_STRONG, - mLockoutResetDispatcher, false /* supportsSelfIllumination */, - 1 /* maxTemplatesAllowed */); + mFace10 = new com.android.server.biometrics.sensors.face.hidl.Face10(mContext, SENSOR_ID, + BiometricManager.Authenticators.BIOMETRIC_STRONG, mLockoutResetDispatcher, + false /* supportsSelfIllumination */, 1 /* maxTemplatesAllowed */); mBinder = new Binder(); }