diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-12-12 20:07:40 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-12-12 20:07:40 +0000 |
| commit | c4b8527dcdbe4793e7bcd6c7bbdbe53559c0d368 (patch) | |
| tree | be04003e826217be6b62fb2f6b05a38c95926098 /core/java/android | |
| parent | fe07ee91280342a54533ecd426a258f7b474e5b2 (diff) | |
| parent | 1f16c2db3ce78675c692d76058a19ab9cb445cf5 (diff) | |
Merge "Update framework together with HIDL for accessibility"
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/hardware/biometrics/BiometricFaceConstants.java | 15 | ||||
| -rw-r--r-- | core/java/android/hardware/face/FaceManager.java | 19 | ||||
| -rw-r--r-- | core/java/android/hardware/face/IFaceService.aidl | 8 |
3 files changed, 27 insertions, 15 deletions
diff --git a/core/java/android/hardware/biometrics/BiometricFaceConstants.java b/core/java/android/hardware/biometrics/BiometricFaceConstants.java index 1d9330d4dfed..9d37d9939127 100644 --- a/core/java/android/hardware/biometrics/BiometricFaceConstants.java +++ b/core/java/android/hardware/biometrics/BiometricFaceConstants.java @@ -28,6 +28,21 @@ import android.hardware.face.FaceManager; */ public interface BiometricFaceConstants { // + // Accessibility constants + // + /** + * Require the user to look at the device during enrollment and + * authentication. Note this is to accommodate people who have limited + * vision. + */ + public static final int FEATURE_REQUIRE_ATTENTION = 1; + /** + * Require a diverse set of poses during enrollment. Note this is to + * accommodate people with limited mobility. + */ + public static final int FEATURE_REQUIRE_REQUIRE_DIVERSITY = 2; + + // // Error messages from face authentication hardware during initialization, enrollment, // authentication or removal. Must agree with the list in HAL h file // diff --git a/core/java/android/hardware/face/FaceManager.java b/core/java/android/hardware/face/FaceManager.java index 322863a6577d..bac23b3c00f9 100644 --- a/core/java/android/hardware/face/FaceManager.java +++ b/core/java/android/hardware/face/FaceManager.java @@ -207,11 +207,8 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan * @hide */ @RequiresPermission(MANAGE_BIOMETRIC) - public void enroll(byte[] token, CancellationSignal cancel, int flags, - int userId, EnrollmentCallback callback) { - if (userId == UserHandle.USER_CURRENT) { - userId = getCurrentUserId(); - } + public void enroll(byte[] token, CancellationSignal cancel, + EnrollmentCallback callback, int[] disabledFeatures) { if (callback == null) { throw new IllegalArgumentException("Must supply an enrollment callback"); } @@ -228,8 +225,8 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan if (mService != null) { try { mEnrollmentCallback = callback; - mService.enroll(mToken, token, userId, mServiceReceiver, flags, - mContext.getOpPackageName()); + mService.enroll(mToken, token, mServiceReceiver, + mContext.getOpPackageName(), disabledFeatures); } catch (RemoteException e) { Log.w(TAG, "Remote exception in enroll: ", e); if (callback != null) { @@ -284,10 +281,10 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan * @hide */ @RequiresPermission(MANAGE_BIOMETRIC) - public void setRequireAttention(boolean requireAttention, byte[] token) { + public void setFeature(int feature, boolean enabled, byte[] token) { if (mService != null) { try { - mService.setRequireAttention(requireAttention, token); + mService.setFeature(feature, enabled, token); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -298,11 +295,11 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan * @hide */ @RequiresPermission(MANAGE_BIOMETRIC) - public boolean getRequireAttention(byte[] token) { + public boolean getFeature(int feature) { boolean result = true; if (mService != null) { try { - mService.getRequireAttention(token); + result = mService.getFeature(feature); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } diff --git a/core/java/android/hardware/face/IFaceService.aidl b/core/java/android/hardware/face/IFaceService.aidl index a15dcec3b276..a1c88f81e3e7 100644 --- a/core/java/android/hardware/face/IFaceService.aidl +++ b/core/java/android/hardware/face/IFaceService.aidl @@ -50,8 +50,8 @@ interface IFaceService { int callingUid, int callingPid, int callingUserId, boolean fromClient); // Start face enrollment - void enroll(IBinder token, in byte [] cryptoToken, int userId, IFaceServiceReceiver receiver, - int flags, String opPackageName); + void enroll(IBinder token, in byte [] cryptoToken, IFaceServiceReceiver receiver, + String opPackageName, in int [] disabledFeatures); // Cancel enrollment in progress void cancelEnrollment(IBinder token); @@ -98,9 +98,9 @@ interface IFaceService { // Enumerate all faces void enumerate(IBinder token, int userId, IFaceServiceReceiver receiver); - int setRequireAttention(boolean requireAttention, in byte [] token); + int setFeature(int feature, boolean enabled, in byte [] token); - boolean getRequireAttention(in byte [] token); + boolean getFeature(int feature); void userActivity(); } |
