Merge "Clean up fingerprint enrollment API" into nyc-dev

This commit is contained in:
Jim Miller
2016-04-28 23:48:41 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 10 deletions

View File

@@ -51,7 +51,8 @@ public abstract class EnrollClient extends ClientMonitor {
" getGroupId():" + getGroupId()); " getGroupId():" + getGroupId());
} }
if (remaining == 0) { if (remaining == 0) {
FingerprintUtils.getInstance().addFingerprintForUser(getContext(), fingerId, groupId); FingerprintUtils.getInstance().addFingerprintForUser(getContext(), fingerId,
getTargetUserId());
} }
return sendEnrollResult(fingerId, groupId, remaining); return sendEnrollResult(fingerId, groupId, remaining);
} }

View File

@@ -540,13 +540,15 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
startClient(client, true /* initiatedByClient */); startClient(client, true /* initiatedByClient */);
} }
private void startEnrollment(IBinder token, byte [] cryptoToken, int callingUserId, int groupId, private void startEnrollment(IBinder token, byte [] cryptoToken, int userId,
IFingerprintServiceReceiver receiver, int flags, boolean restricted, IFingerprintServiceReceiver receiver, int flags, boolean restricted,
String opPackageName) { String opPackageName) {
updateActiveGroup(groupId, opPackageName); updateActiveGroup(userId, opPackageName);
final int groupId = userId; // default group for fingerprint enrollment
EnrollClient client = new EnrollClient(getContext(), mHalDeviceId, token, receiver, EnrollClient client = new EnrollClient(getContext(), mHalDeviceId, token, receiver,
callingUserId, groupId, cryptoToken, restricted, opPackageName) { userId, groupId, cryptoToken, restricted, opPackageName) {
@Override @Override
public IFingerprintDaemon getFingerprintDaemon() { public IFingerprintDaemon getFingerprintDaemon() {
@@ -680,15 +682,14 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
} }
@Override // Binder call @Override // Binder call
public void enroll(final IBinder token, final byte[] cryptoToken, final int groupId, public void enroll(final IBinder token, final byte[] cryptoToken, final int userId,
final IFingerprintServiceReceiver receiver, final int flags, final IFingerprintServiceReceiver receiver, final int flags,
final String opPackageName) { final String opPackageName) {
checkPermission(MANAGE_FINGERPRINT); checkPermission(MANAGE_FINGERPRINT);
final int limit = mContext.getResources().getInteger( final int limit = mContext.getResources().getInteger(
com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser); com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
final int callingUserId = UserHandle.getCallingUserId();
final int enrolled = FingerprintService.this. final int enrolled = FingerprintService.this.getEnrolledFingerprints(userId).size();
getEnrolledFingerprints(callingUserId).size();
if (enrolled >= limit) { if (enrolled >= limit) {
Slog.w(TAG, "Too many fingerprints registered"); Slog.w(TAG, "Too many fingerprints registered");
return; return;
@@ -696,7 +697,7 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
// Group ID is arbitrarily set to parent profile user ID. It just represents // Group ID is arbitrarily set to parent profile user ID. It just represents
// the default fingerprints for the user. // the default fingerprints for the user.
if (!isCurrentUserOrProfile(groupId)) { if (!isCurrentUserOrProfile(userId)) {
return; return;
} }
@@ -704,7 +705,7 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
mHandler.post(new Runnable() { mHandler.post(new Runnable() {
@Override @Override
public void run() { public void run() {
startEnrollment(token, cryptoToken, callingUserId, groupId, receiver, flags, startEnrollment(token, cryptoToken, userId, receiver, flags,
restricted, opPackageName); restricted, opPackageName);
} }
}); });