diff options
| author | Jason Monk <jmonk@google.com> | 2015-06-17 12:52:43 -0400 |
|---|---|---|
| committer | Jason Monk <jmonk@google.com> | 2015-06-17 12:52:43 -0400 |
| commit | f535cf0413ef9b9f36a2fe4336b35abe241a97d9 (patch) | |
| tree | b425cd3fee5a4581092f6dac7a0e26f9e98a6679 /packages | |
| parent | f858f7034c911c1a4dc45daa6e80ee0f9925e008 (diff) | |
| download | frameworks_base-f535cf0413ef9b9f36a2fe4336b35abe241a97d9.zip frameworks_base-f535cf0413ef9b9f36a2fe4336b35abe241a97d9.tar.gz frameworks_base-f535cf0413ef9b9f36a2fe4336b35abe241a97d9.tar.bz2 | |
Don't reinflate signal icons unless we really need to.
Bug: 21791609
Change-Id: I5eb1b890f2298211b25afa0e2570f0ab49a45e0b
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java index 9e0b08b..5a4acb4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java @@ -251,6 +251,9 @@ public class SignalClusterView @Override public void setSubs(List<SubscriptionInfo> subs) { + if (hasCorrectSubs(subs)) { + return; + } // Clear out all old subIds. mPhoneStates.clear(); if (mMobileSignalGroup != null) { @@ -265,6 +268,19 @@ public class SignalClusterView } } + private boolean hasCorrectSubs(List<SubscriptionInfo> subs) { + final int N = subs.size(); + if (N != mPhoneStates.size()) { + return false; + } + for (int i = 0; i < N; i++) { + if (mPhoneStates.get(i).mSubId != subs.get(i).getSubscriptionId()) { + return false; + } + } + return true; + } + private PhoneState getOrInflateState(int subId) { for (PhoneState state : mPhoneStates) { if (state.mSubId == subId) { |
