summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2015-06-29 16:19:46 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-29 16:19:48 +0000
commit435a1dfbd67371849c60ecd46df1d82a0f496cd8 (patch)
tree7854e893dd399a5c1fa64f92237cb35bfdaa821d /packages
parentf21f1a915833783917b598f843b946975421ffd2 (diff)
parent8fcab35828144e27a32a95ed9bd83e4f6d83ac21 (diff)
downloadframeworks_base-435a1dfbd67371849c60ecd46df1d82a0f496cd8.zip
frameworks_base-435a1dfbd67371849c60ecd46df1d82a0f496cd8.tar.gz
frameworks_base-435a1dfbd67371849c60ecd46df1d82a0f496cd8.tar.bz2
Merge "Fix weird case of multi cell icons" into mnc-dev
Diffstat (limited to 'packages')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java10
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java16
3 files changed, 19 insertions, 9 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
index 5a4acb4..da1f03e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
@@ -224,7 +224,10 @@ public class SignalClusterView
public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType,
int qsType, boolean activityIn, boolean activityOut, String typeContentDescription,
String description, boolean isWide, int subId) {
- PhoneState state = getOrInflateState(subId);
+ PhoneState state = getState(subId);
+ if (state == null) {
+ return;
+ }
state.mMobileVisible = statusIcon.visible && !mBlockMobile;
state.mMobileStrengthId = statusIcon.icon;
state.mMobileTypeId = statusType;
@@ -281,13 +284,14 @@ public class SignalClusterView
return true;
}
- private PhoneState getOrInflateState(int subId) {
+ private PhoneState getState(int subId) {
for (PhoneState state : mPhoneStates) {
if (state.mSubId == subId) {
return state;
}
}
- return inflatePhoneState(subId);
+ Log.e(TAG, "Unexpected subscription " + subId);
+ return null;
}
private PhoneState inflatePhoneState(int subId) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index b21767b..b1c650e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -291,6 +291,7 @@ public class MobileSignalController extends SignalController<
notifyListenersIfNecessary();
} else if (action.equals(TelephonyIntents.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED)) {
updateDataSim();
+ notifyListenersIfNecessary();
}
}
@@ -308,7 +309,6 @@ public class MobileSignalController extends SignalController<
// for long.
mCurrentState.dataSim = true;
}
- notifyListenersIfNecessary();
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index 1ba87da..ff0e8a3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -110,6 +110,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
// The current user ID.
private int mCurrentUserId;
+ private OnSubscriptionsChangedListener mSubscriptionListener;
+
// Handler that all broadcasts are received on.
private final Handler mReceiverHandler;
// Handler that all callbacks are made on.
@@ -179,6 +181,9 @@ public class NetworkControllerImpl extends BroadcastReceiver
for (MobileSignalController mobileSignalController : mMobileSignalControllers.values()) {
mobileSignalController.registerListener();
}
+ if (mSubscriptionListener == null) {
+ mSubscriptionListener = new SubListener();
+ }
mSubscriptionManager.addOnSubscriptionsChangedListener(mSubscriptionListener);
// broadcasts
@@ -422,7 +427,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
: lhs.getSimSlotIndex() - rhs.getSimSlotIndex();
}
});
- mCallbackHandler.setSubs(subscriptions);
mCurrentSubscriptions = subscriptions;
HashMap<Integer, MobileSignalController> cachedControllers =
@@ -455,6 +459,9 @@ public class NetworkControllerImpl extends BroadcastReceiver
cachedControllers.get(key).unregisterListener();
}
}
+ mCallbackHandler.setSubs(subscriptions);
+ notifyAllListeners();
+
// There may be new MobileSignalControllers around, make sure they get the current
// inet condition and airplane mode.
pushConnectivityToSignals();
@@ -724,13 +731,12 @@ public class NetworkControllerImpl extends BroadcastReceiver
return info;
}
- private final OnSubscriptionsChangedListener mSubscriptionListener =
- new OnSubscriptionsChangedListener() {
+ private class SubListener extends OnSubscriptionsChangedListener {
@Override
public void onSubscriptionsChanged() {
updateMobileControllers();
- };
- };
+ }
+ }
/**
* Used to register listeners from the BG Looper, this way the PhoneStateListeners that