aboutsummaryrefslogtreecommitdiff
path: root/security/FingerprintDialog/Application
diff options
context:
space:
mode:
authorTakeshi Hagikura <thagikura@google.com>2015-08-13 20:16:11 +0900
committerTakeshi Hagikura <thagikura@google.com>2015-08-13 20:16:15 +0900
commitde9a9557cc51f89720cdad69b6aa5f22fdb691fa (patch)
tree920863dd9f5d59459617994b9ee4674f40a0fbaf /security/FingerprintDialog/Application
parent1419e7b659d97938397e53a58c815144bfddfa41 (diff)
downloadandroid-de9a9557cc51f89720cdad69b6aa5f22fdb691fa.tar.gz
Fix NPE in FingerprintAuthenticationDialogFragment for MainActivity
by having the explicit reference to the Activity. Bug: 22542567 Bug: 23045395 Change-Id: I1cfac9723ac2c2df461e972c6ae643f484cd9675
Diffstat (limited to 'security/FingerprintDialog/Application')
-rw-r--r--security/FingerprintDialog/Application/src/main/java/com/example/android/fingerprintdialog/FingerprintAuthenticationDialogFragment.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/security/FingerprintDialog/Application/src/main/java/com/example/android/fingerprintdialog/FingerprintAuthenticationDialogFragment.java b/security/FingerprintDialog/Application/src/main/java/com/example/android/fingerprintdialog/FingerprintAuthenticationDialogFragment.java
index 8909f752..b17ebb0b 100644
--- a/security/FingerprintDialog/Application/src/main/java/com/example/android/fingerprintdialog/FingerprintAuthenticationDialogFragment.java
+++ b/security/FingerprintDialog/Application/src/main/java/com/example/android/fingerprintdialog/FingerprintAuthenticationDialogFragment.java
@@ -16,6 +16,7 @@
package com.example.android.fingerprintdialog;
+import android.app.Activity;
import android.app.DialogFragment;
import android.content.SharedPreferences;
import android.hardware.fingerprint.FingerprintManager;
@@ -54,6 +55,7 @@ public class FingerprintAuthenticationDialogFragment extends DialogFragment
private FingerprintManager.CryptoObject mCryptoObject;
private FingerprintUiHelper mFingerprintUiHelper;
+ private MainActivity mActivity;
@Inject FingerprintUiHelper.FingerprintUiHelperBuilder mFingerprintUiHelperBuilder;
@Inject InputMethodManager mInputMethodManager;
@@ -135,6 +137,12 @@ public class FingerprintAuthenticationDialogFragment extends DialogFragment
mFingerprintUiHelper.stopListening();
}
+ @Override
+ public void onAttach(Activity activity) {
+ super.onAttach(activity);
+ mActivity = (MainActivity) activity;
+ }
+
/**
* Sets the crypto object to be passed in when authenticating with fingerprint.
*/
@@ -167,7 +175,6 @@ public class FingerprintAuthenticationDialogFragment extends DialogFragment
if (!checkPassword(mPassword.getText().toString())) {
return;
}
- MainActivity activity = ((MainActivity) getActivity());
if (mStage == Stage.NEW_FINGERPRINT_ENROLLED) {
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putBoolean(getString(R.string.use_fingerprint_to_authenticate_key),
@@ -176,12 +183,12 @@ public class FingerprintAuthenticationDialogFragment extends DialogFragment
if (mUseFingerprintFutureCheckBox.isChecked()) {
// Re-create the key so that fingerprints including new ones are validated.
- activity.createKey();
+ mActivity.createKey();
mStage = Stage.FINGERPRINT;
}
}
mPassword.setText("");
- ((MainActivity) getActivity()).onPurchased(false /* without Fingerprint */);
+ mActivity.onPurchased(false /* without Fingerprint */);
dismiss();
}
@@ -238,7 +245,7 @@ public class FingerprintAuthenticationDialogFragment extends DialogFragment
public void onAuthenticated() {
// Callback from FingerprintUiHelper. Let the activity know that authentication was
// successful.
- ((MainActivity) getActivity()).onPurchased(true /* withFingerprint */);
+ mActivity.onPurchased(true /* withFingerprint */);
dismiss();
}