diff options
| author | 2021-02-01 23:43:59 +0000 | |
|---|---|---|
| committer | 2021-02-01 23:43:59 +0000 | |
| commit | b1d600feade19760d2ce53571bdf45e039798f15 (patch) | |
| tree | e0d5e78f6a8c6c31c18da79041fd19e9eb91021c | |
| parent | a06b20b4dccdcbcb4f5546c02eef4813bba0692b (diff) | |
| parent | 200d3e76654108b270a9624bc3a9f62f24cae8c6 (diff) | |
Merge "Do not clear the existing no calling states" into sc-dev
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java index 5f90077640ec..f6165f666c89 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java @@ -316,11 +316,23 @@ public class StatusBarSignalPolicy implements NetworkControllerImpl.SignalCallba mIconController.removeAllIconsForSlot(mSlotMobile); mMobileStates.clear(); + List<NoCallingIconState> noCallingStates = new ArrayList<NoCallingIconState>(); + noCallingStates.addAll(mNoCallingStates); mNoCallingStates.clear(); final int n = subs.size(); for (int i = 0; i < n; i++) { mMobileStates.add(new MobileIconState(subs.get(i).getSubscriptionId())); - mNoCallingStates.add(new NoCallingIconState(subs.get(i).getSubscriptionId())); + boolean isNewSub = true; + for (NoCallingIconState state : noCallingStates) { + if (state.subId == subs.get(i).getSubscriptionId()) { + mNoCallingStates.add(state); + isNewSub = false; + break; + } + } + if (isNewSub) { + mNoCallingStates.add(new NoCallingIconState(subs.get(i).getSubscriptionId())); + } } } |