Merge "Always send userId to FaceService" into qt-r1-dev
am: e5c0b58738
Change-Id: Icaab5dcf538c6c79182951cb0d255bb777bf4a54
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user