summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-09-30 20:26:49 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-09-30 20:26:49 +0000
commit132a22a89390dc61d59c359e6eb9b0e3f7f0961e (patch)
tree2dcc14bdba5b13371870616bfd4881b2bb6dd456
parentf28b8b74184d2484c69b75bce00124bc6d3dd4d7 (diff)
parent10960bd13424e0a230141dfa3a263de9ed5e782d (diff)
Merge "Use Sim state cache when available"
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 47d911df90a9..a6b3be23417e 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -219,7 +219,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
private final Context mContext;
private final boolean mIsPrimaryUser;
- HashMap<Integer, SimData> mSimDatas = new HashMap<Integer, SimData>();
+ HashMap<Integer, SimData> mSimDatas = new HashMap<>();
HashMap<Integer, ServiceState> mServiceStates = new HashMap<Integer, ServiceState>();
private int mRingMode;
@@ -2512,8 +2512,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
@MainThread
public void reportSimUnlocked(int subId) {
if (DEBUG_SIM_STATES) Log.v(TAG, "reportSimUnlocked(subId=" + subId + ")");
- int slotId = SubscriptionManager.getSlotIndex(subId);
- handleSimStateChange(subId, slotId, State.READY);
+ handleSimStateChange(subId, getSlotId(subId), State.READY);
}
/**
@@ -2586,6 +2585,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
}
}
+ private int getSlotId(int subId) {
+ if (!mSimDatas.containsKey(subId)) {
+ refreshSimState(subId, SubscriptionManager.getSlotIndex(subId));
+ }
+ return mSimDatas.get(subId).slotId;
+ }
+
private final TaskStackChangeListener
mTaskStackListener = new TaskStackChangeListener() {
@Override
@@ -2710,7 +2716,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
for (int i = 0; i < list.size(); i++) {
final SubscriptionInfo info = list.get(i);
final int id = info.getSubscriptionId();
- int slotId = SubscriptionManager.getSlotIndex(id);
+ int slotId = getSlotId(id);
if (state == getSimState(id) && bestSlotId > slotId) {
resultId = id;
bestSlotId = slotId;