diff options
author | Takeshi Hagikura <thagikura@google.com> | 2015-08-13 20:16:11 +0900 |
---|---|---|
committer | Takeshi Hagikura <thagikura@google.com> | 2015-08-13 20:16:15 +0900 |
commit | de9a9557cc51f89720cdad69b6aa5f22fdb691fa (patch) | |
tree | 920863dd9f5d59459617994b9ee4674f40a0fbaf /security/FingerprintDialog/Application | |
parent | 1419e7b659d97938397e53a58c815144bfddfa41 (diff) | |
download | android-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.java | 15 |
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(); } |