summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2017-10-06 03:43:31 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-10-06 03:43:31 +0000
commitb7dc3a3b21217c752cdffcdaa0a788cacb2861bd (patch)
tree9252aeebcc1fedf833d22b210388e500344cbc74
parenta666dbb628f31c51d2a1afd4927da67c891f009a (diff)
parent7130675c53713058304d9fa5964878f5b908492c (diff)
Merge "Fix NPE when removing PIN locked SIM during E911 call"
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java6
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java6
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: