summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2015-06-17 18:17:17 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-17 18:17:18 +0000
commitf5820276635a2d3d2e3c694eddba7e6a02093a20 (patch)
tree866254a3c56f56a651927771a6dc1cd3c7e619ec /packages
parenta5aabfebcaad34b9fdea222d858fc54d18e462c0 (diff)
parentf535cf0413ef9b9f36a2fe4336b35abe241a97d9 (diff)
downloadframeworks_base-f5820276635a2d3d2e3c694eddba7e6a02093a20.zip
frameworks_base-f5820276635a2d3d2e3c694eddba7e6a02093a20.tar.gz
frameworks_base-f5820276635a2d3d2e3c694eddba7e6a02093a20.tar.bz2
Merge "Don't reinflate signal icons unless we really need to." into mnc-dev
Diffstat (limited to 'packages')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java16
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) {