Wait with finishing until fingerprints are removed

Bug: 22863210
Change-Id: I490157cc2f9b52ac87cc52e13c7eb57cb4a4a377
This commit is contained in:
Jorim Jaggi
2015-08-10 18:11:07 -07:00
parent 1d29bde1f5
commit f92fbc1c49
2 changed files with 17 additions and 7 deletions

View File

@@ -109,11 +109,18 @@ public class ChooseLockGeneric extends SettingsActivity {
@Override
public void onRemovalSucceeded(Fingerprint fingerprint) {
Log.v(TAG, "Fingerprint removed: " + fingerprint.getFingerId());
if (mFingerprintManager.getEnrolledFingerprints().size() == 0) {
finish();
}
}
@Override
public void onRemovalError(Fingerprint fp, int errMsgId, CharSequence errString) {
Toast.makeText(getActivity(), errString, Toast.LENGTH_SHORT);
Activity activity = getActivity();
if (activity != null) {
Toast.makeText(getActivity(), errString, Toast.LENGTH_SHORT);
}
finish();
}
};
@@ -490,18 +497,18 @@ public class ChooseLockGeneric extends SettingsActivity {
mChooseLockSettingsHelper.utils().clearLock(UserHandle.myUserId());
mChooseLockSettingsHelper.utils().setLockScreenDisabled(disabled,
UserHandle.myUserId());
removeAllFingerprintTemplates();
removeAllFingerprintTemplatesAndFinish();
getActivity().setResult(Activity.RESULT_OK);
finish();
} else {
removeAllFingerprintTemplates();
finish();
removeAllFingerprintTemplatesAndFinish();
}
}
private void removeAllFingerprintTemplates() {
private void removeAllFingerprintTemplatesAndFinish() {
if (mFingerprintManager != null && mFingerprintManager.isHardwareDetected()) {
mFingerprintManager.remove(new Fingerprint(null, 0, 0, 0), mRemovalCallback);
} else {
finish();
}
}

View File

@@ -505,7 +505,10 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
}
public void finish() {
getActivity().onBackPressed();
Activity activity = getActivity();
if (activity != null) {
activity.onBackPressed();
}
}
public boolean startFragment(Fragment caller, String fragmentClass, int titleRes,