diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-09-30 20:26:49 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-09-30 20:26:49 +0000 |
commit | 132a22a89390dc61d59c359e6eb9b0e3f7f0961e (patch) | |
tree | 2dcc14bdba5b13371870616bfd4881b2bb6dd456 | |
parent | f28b8b74184d2484c69b75bce00124bc6d3dd4d7 (diff) | |
parent | 10960bd13424e0a230141dfa3a263de9ed5e782d (diff) |
Merge "Use Sim state cache when available"
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java | 14 |
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; |