diff options
| author | 2017-10-06 03:43:31 +0000 | |
|---|---|---|
| committer | 2017-10-06 03:43:31 +0000 | |
| commit | b7dc3a3b21217c752cdffcdaa0a788cacb2861bd (patch) | |
| tree | 9252aeebcc1fedf833d22b210388e500344cbc74 | |
| parent | a666dbb628f31c51d2a1afd4927da67c891f009a (diff) | |
| parent | 7130675c53713058304d9fa5964878f5b908492c (diff) | |
Merge "Fix NPE when removing PIN locked SIM during E911 call"
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java | 6 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java index fe03fba5bfda..16a0e5af1e0a 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java @@ -64,7 +64,11 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView { // again when the PUK locked SIM is re-entered. case ABSENT: { KeyguardUpdateMonitor.getInstance(getContext()).reportSimUnlocked(mSubId); - mCallback.dismiss(true, KeyguardUpdateMonitor.getCurrentUser()); + // onSimStateChanged callback can fire when the SIM PIN lock is not currently + // active and mCallback is null. + if (mCallback != null) { + mCallback.dismiss(true, KeyguardUpdateMonitor.getCurrentUser()); + } break; } default: diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java index 826a03d1b658..fddb12d0f765 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java @@ -70,7 +70,11 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView { // move into the READY state and the PUK lock keyguard should be removed. case READY: { KeyguardUpdateMonitor.getInstance(getContext()).reportSimUnlocked(mSubId); - mCallback.dismiss(true, KeyguardUpdateMonitor.getCurrentUser()); + // mCallback can be null if onSimStateChanged callback is called when keyguard + // isn't active. + if (mCallback != null) { + mCallback.dismiss(true, KeyguardUpdateMonitor.getCurrentUser()); + } break; } default: |