Postpone call to postEnroll() until we actually leave activity.
The existing code was calling postEnroll() too soon, which resulted in the inability to add more than one fingerprint. The solution is to only call postEnroll() when we're leaving the activity. Fixes bug 22438498 Change-Id: Ia134899e12b4edc9cced834e99cb2bfd2d51321f
This commit is contained in:
@@ -141,6 +141,7 @@ public class FingerprintSettings extends SubSettings {
|
||||
mHandler.obtainMessage(MSG_FINGER_AUTH_SUCCESS, fingerId, 0).sendToTarget();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAuthenticationFailed() {
|
||||
mHandler.obtainMessage(MSG_FINGER_AUTH_FAIL).sendToTarget();
|
||||
};
|
||||
@@ -174,6 +175,7 @@ public class FingerprintSettings extends SubSettings {
|
||||
}
|
||||
};
|
||||
private final Handler mHandler = new Handler() {
|
||||
@Override
|
||||
public void handleMessage(android.os.Message msg) {
|
||||
switch (msg.what) {
|
||||
case MSG_REFRESH_FINGERPRINT_TEMPLATES:
|
||||
@@ -431,8 +433,6 @@ public class FingerprintSettings extends SubSettings {
|
||||
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
|
||||
}
|
||||
}
|
||||
} else if (requestCode == ADD_FINGERPRINT_REQUEST) {
|
||||
int result = mFingerprintManager.postEnroll();
|
||||
}
|
||||
|
||||
if (mToken == null) {
|
||||
@@ -441,6 +441,15 @@ public class FingerprintSettings extends SubSettings {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
int result = mFingerprintManager.postEnroll();
|
||||
if (result < 0) {
|
||||
Log.w(TAG, "postEnroll failed: result = " + result);
|
||||
}
|
||||
}
|
||||
|
||||
private Drawable getHighlightDrawable() {
|
||||
if (mHighlightDrawable == null) {
|
||||
final Activity activity = getActivity();
|
||||
|
Reference in New Issue
Block a user