Fix bug where fingerprint for wrong userId was attempted to be removed.

- cleaned up private API to ensure userId is distinct from groupId.
- fixed bug where we were sending the wrong userId when attempting to
- fix warning about wrong fingerId when receiving final id of 0.

Fixes bug 28268635

Change-Id: Ic8abfbf6fbf173db2d57a76ac2e38b2a71ffd19e
This commit is contained in:
Jim Miller
2016-04-20 14:06:00 -07:00
parent c2dae39ab4
commit 5a8e522c6c

View File

@@ -651,8 +651,10 @@ public class ChooseLockGeneric extends SettingsActivity {
if (mFingerprintManager != null && mFingerprintManager.isHardwareDetected() if (mFingerprintManager != null && mFingerprintManager.isHardwareDetected()
&& mFingerprintManager.hasEnrolledFingerprints(userId)) { && mFingerprintManager.hasEnrolledFingerprints(userId)) {
mFingerprintManager.setActiveUser(userId); mFingerprintManager.setActiveUser(userId);
mFingerprintManager.remove( // For the purposes of M and N, groupId is the same as userId.
new Fingerprint(null, userId, 0, 0), userId, final int groupId = userId;
Fingerprint finger = new Fingerprint(null, groupId, 0, 0);
mFingerprintManager.remove(finger, userId,
new RemovalCallback() { new RemovalCallback() {
@Override @Override
public void onRemovalError(Fingerprint fp, int errMsgId, public void onRemovalError(Fingerprint fp, int errMsgId,