Merge "Always send userId to FaceService" into qt-r1-dev

am: e5c0b58738

Change-Id: Icaab5dcf538c6c79182951cb0d255bb777bf4a54
This commit is contained in:
Kevin Chyn
2019-07-03 16:14:33 -07:00
committed by android-build-merger
3 changed files with 25 additions and 17 deletions

View File

@@ -262,7 +262,7 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan
* @hide * @hide
*/ */
@RequiresPermission(MANAGE_BIOMETRIC) @RequiresPermission(MANAGE_BIOMETRIC)
public void enroll(byte[] token, CancellationSignal cancel, public void enroll(int userId, byte[] token, CancellationSignal cancel,
EnrollmentCallback callback, int[] disabledFeatures) { EnrollmentCallback callback, int[] disabledFeatures) {
if (callback == null) { if (callback == null) {
throw new IllegalArgumentException("Must supply an enrollment callback"); throw new IllegalArgumentException("Must supply an enrollment callback");
@@ -281,7 +281,7 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan
try { try {
mEnrollmentCallback = callback; mEnrollmentCallback = callback;
Trace.beginSection("FaceManager#enroll"); Trace.beginSection("FaceManager#enroll");
mService.enroll(mToken, token, mServiceReceiver, mService.enroll(userId, mToken, token, mServiceReceiver,
mContext.getOpPackageName(), disabledFeatures); mContext.getOpPackageName(), disabledFeatures);
} catch (RemoteException e) { } catch (RemoteException e) {
Log.w(TAG, "Remote exception in enroll: ", e); Log.w(TAG, "Remote exception in enroll: ", e);
@@ -339,12 +339,13 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan
* @hide * @hide
*/ */
@RequiresPermission(MANAGE_BIOMETRIC) @RequiresPermission(MANAGE_BIOMETRIC)
public void setFeature(int feature, boolean enabled, byte[] token, public void setFeature(int userId, int feature, boolean enabled, byte[] token,
SetFeatureCallback callback) { SetFeatureCallback callback) {
if (mService != null) { if (mService != null) {
try { try {
mSetFeatureCallback = callback; mSetFeatureCallback = callback;
mService.setFeature(feature, enabled, token, mServiceReceiver); mService.setFeature(userId, feature, enabled, token, mServiceReceiver,
mContext.getOpPackageName());
} catch (RemoteException e) { } catch (RemoteException e) {
throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer();
} }
@@ -355,11 +356,11 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan
* @hide * @hide
*/ */
@RequiresPermission(MANAGE_BIOMETRIC) @RequiresPermission(MANAGE_BIOMETRIC)
public void getFeature(int feature, GetFeatureCallback callback) { public void getFeature(int userId, int feature, GetFeatureCallback callback) {
if (mService != null) { if (mService != null) {
try { try {
mGetFeatureCallback = callback; mGetFeatureCallback = callback;
mService.getFeature(feature, mServiceReceiver); mService.getFeature(userId, feature, mServiceReceiver, mContext.getOpPackageName());
} catch (RemoteException e) { } catch (RemoteException e) {
throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer();
} }
@@ -414,7 +415,8 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan
try { try {
mRemovalCallback = callback; mRemovalCallback = callback;
mRemovalFace = face; mRemovalFace = face;
mService.remove(mToken, face.getBiometricId(), userId, mServiceReceiver); mService.remove(mToken, face.getBiometricId(), userId, mServiceReceiver,
mContext.getOpPackageName());
} catch (RemoteException e) { } catch (RemoteException e) {
Log.w(TAG, "Remote exception in remove: ", e); Log.w(TAG, "Remote exception in remove: ", e);
if (callback != null) { if (callback != null) {

View File

@@ -50,14 +50,15 @@ interface IFaceService {
int callingUid, int callingPid, int callingUserId, boolean fromClient); int callingUid, int callingPid, int callingUserId, boolean fromClient);
// Start face enrollment // Start face enrollment
void enroll(IBinder token, in byte [] cryptoToken, IFaceServiceReceiver receiver, void enroll(int userId, IBinder token, in byte [] cryptoToken, IFaceServiceReceiver receiver,
String opPackageName, in int [] disabledFeatures); String opPackageName, in int [] disabledFeatures);
// Cancel enrollment in progress // Cancel enrollment in progress
void cancelEnrollment(IBinder token); void cancelEnrollment(IBinder token);
// Any errors resulting from this call will be returned to the listener // Any errors resulting from this call will be returned to the listener
void remove(IBinder token, int faceId, int userId, IFaceServiceReceiver receiver); void remove(IBinder token, int faceId, int userId, IFaceServiceReceiver receiver,
String opPackageName);
// Rename the face specified by faceId to the given name // Rename the face specified by faceId to the given name
void rename(int faceId, String name); void rename(int faceId, String name);
@@ -98,10 +99,10 @@ interface IFaceService {
// Enumerate all faces // Enumerate all faces
void enumerate(IBinder token, int userId, IFaceServiceReceiver receiver); void enumerate(IBinder token, int userId, IFaceServiceReceiver receiver);
void setFeature(int feature, boolean enabled, in byte [] token, void setFeature(int userId, int feature, boolean enabled, in byte [] token,
IFaceServiceReceiver receiver); IFaceServiceReceiver receiver, String opPackageName);
void getFeature(int feature, IFaceServiceReceiver receiver); void getFeature(int userId, int feature, IFaceServiceReceiver receiver, String opPackageName);
void userActivity(); void userActivity();
} }

View File

@@ -346,10 +346,11 @@ public class FaceService extends BiometricServiceBase {
} }
@Override // Binder call @Override // Binder call
public void enroll(final IBinder token, final byte[] cryptoToken, public void enroll(int userId, final IBinder token, final byte[] cryptoToken,
final IFaceServiceReceiver receiver, final String opPackageName, final IFaceServiceReceiver receiver, final String opPackageName,
final int[] disabledFeatures) { final int[] disabledFeatures) {
checkPermission(MANAGE_BIOMETRIC); checkPermission(MANAGE_BIOMETRIC);
updateActiveGroup(userId, opPackageName);
mNotificationManager.cancelAsUser(NOTIFICATION_TAG, NOTIFICATION_ID, mNotificationManager.cancelAsUser(NOTIFICATION_TAG, NOTIFICATION_ID,
UserHandle.CURRENT); UserHandle.CURRENT);
@@ -448,8 +449,9 @@ public class FaceService extends BiometricServiceBase {
@Override // Binder call @Override // Binder call
public void remove(final IBinder token, final int faceId, final int userId, public void remove(final IBinder token, final int faceId, final int userId,
final IFaceServiceReceiver receiver) { final IFaceServiceReceiver receiver, final String opPackageName) {
checkPermission(MANAGE_BIOMETRIC); checkPermission(MANAGE_BIOMETRIC);
updateActiveGroup(userId, opPackageName);
if (token == null) { if (token == null) {
Slog.w(TAG, "remove(): token is null"); Slog.w(TAG, "remove(): token is null");
@@ -612,9 +614,10 @@ public class FaceService extends BiometricServiceBase {
} }
@Override @Override
public void setFeature(int feature, boolean enabled, final byte[] token, public void setFeature(int userId, int feature, boolean enabled, final byte[] token,
IFaceServiceReceiver receiver) { IFaceServiceReceiver receiver, final String opPackageName) {
checkPermission(MANAGE_BIOMETRIC); checkPermission(MANAGE_BIOMETRIC);
updateActiveGroup(userId, opPackageName);
mHandler.post(() -> { mHandler.post(() -> {
if (!FaceService.this.hasEnrolledBiometrics(mCurrentUserId)) { if (!FaceService.this.hasEnrolledBiometrics(mCurrentUserId)) {
@@ -644,8 +647,10 @@ public class FaceService extends BiometricServiceBase {
} }
@Override @Override
public void getFeature(int feature, IFaceServiceReceiver receiver) { public void getFeature(int userId, int feature, IFaceServiceReceiver receiver,
final String opPackageName) {
checkPermission(MANAGE_BIOMETRIC); checkPermission(MANAGE_BIOMETRIC);
updateActiveGroup(userId, opPackageName);
mHandler.post(() -> { mHandler.post(() -> {
// This should ideally return tri-state, but the user isn't shown settings unless // This should ideally return tri-state, but the user isn't shown settings unless