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);
         }
     }