Add generateChallenge() in onResume()
Fixes: 133498264
Fixes: 133440610
Test: open FaceSettings from Settings with and without an enrolled face
Test: open FaceSettings from the notification that asks to re-enroll
Change-Id: I80ca7644f96a538614962232fb3951d1a91d87c7
(cherry picked from commit d59150eca6d7c0d0ea8a3fcba2a1add4beb36f05)
diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java
index 48370d9..05e3778 100644
--- a/src/com/android/settings/biometrics/face/FaceSettings.java
+++ b/src/com/android/settings/biometrics/face/FaceSettings.java
@@ -145,7 +145,11 @@
if (savedInstanceState != null) {
mToken = savedInstanceState.getByteArray(KEY_TOKEN);
}
+ }
+ @Override
+ public void onResume() {
+ super.onResume();
if (mToken == null) {
final long challenge = mFaceManager.generateChallenge();
ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(getActivity(), this);
@@ -155,13 +159,7 @@
Log.e(TAG, "Password not set");
finish();
}
- }
- }
-
- @Override
- public void onResume() {
- super.onResume();
- if (mToken != null) {
+ } else {
mAttentionController.setToken(mToken);
mEnrollController.setToken(mToken);
}
@@ -196,13 +194,12 @@
}
@Override
- public void onDestroy() {
- super.onDestroy();
- if (getActivity().isFinishing()) {
- final int result = mFaceManager.revokeChallenge();
- if (result < 0) {
- Log.w(TAG, "revokeChallenge failed, result: " + result);
- }
+ public void onStop() {
+ super.onStop();
+ mToken = null;
+ final int result = mFaceManager.revokeChallenge();
+ if (result < 0) {
+ Log.w(TAG, "revokeChallenge failed, result: " + result);
}
}