Merge "Delay invoking biometric prompt." into sc-dev
diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java
index 7666a36..e4c08e7 100644
--- a/src/com/android/settings/password/BiometricFragment.java
+++ b/src/com/android/settings/password/BiometricFragment.java
@@ -47,7 +47,6 @@
     private int mUserId;
 
     // Created/Initialized once and retained
-    private PromptInfo mPromptInfo;
     private BiometricPrompt mBiometricPrompt;
     private CancellationSignal mCancellationSignal;
 
@@ -127,7 +126,7 @@
         final Bundle bundle = getArguments();
         final PromptInfo promptInfo = bundle.getParcelable(KEY_PROMPT_INFO);
 
-        final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(getContext())
+        mBiometricPrompt = new BiometricPrompt.Builder(getContext())
                 .setTitle(promptInfo.getTitle())
                 .setUseDefaultTitle() // use default title if title is null/empty
                 .setDeviceCredentialAllowed(true)
@@ -140,13 +139,19 @@
                 .setConfirmationRequired(promptInfo.isConfirmationRequested())
                 .setDisallowBiometricsIfPolicyExists(
                         promptInfo.isDisallowBiometricsIfPolicyExists())
-                .setReceiveSystemEvents(true);
+                .setReceiveSystemEvents(true)
+                .build();
+    }
 
-        mBiometricPrompt = builder.build();
-        mCancellationSignal = new CancellationSignal();
+    @Override
+    public void onResume() {
+        super.onResume();
 
-        mBiometricPrompt.authenticateUser(mCancellationSignal, mClientExecutor,
-                mAuthenticationCallback, mUserId);
+        if (mCancellationSignal == null) {
+            mCancellationSignal = new CancellationSignal();
+            mBiometricPrompt.authenticateUser(mCancellationSignal, mClientExecutor,
+                    mAuthenticationCallback, mUserId);
+        }
     }
 
     @Override
@@ -154,4 +159,3 @@
         return SettingsEnums.BIOMETRIC_FRAGMENT;
     }
 }
-
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index 6241cc9..03e83a4 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -150,17 +150,6 @@
         }
     };
 
-    private String getStringForError(int errorCode) {
-        switch (errorCode) {
-            case BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED:
-                return getString(com.android.internal.R.string.biometric_error_user_canceled);
-            case BiometricConstants.BIOMETRIC_ERROR_CANCELED:
-                return getString(com.android.internal.R.string.biometric_error_canceled);
-            default:
-                return null;
-        }
-    }
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);