Merge "Fix weird case of multi cell icons" into mnc-dev
This commit is contained in:
@@ -224,7 +224,10 @@ public class SignalClusterView
|
|||||||
public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType,
|
public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType,
|
||||||
int qsType, boolean activityIn, boolean activityOut, String typeContentDescription,
|
int qsType, boolean activityIn, boolean activityOut, String typeContentDescription,
|
||||||
String description, boolean isWide, int subId) {
|
String description, boolean isWide, int subId) {
|
||||||
PhoneState state = getOrInflateState(subId);
|
PhoneState state = getState(subId);
|
||||||
|
if (state == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
state.mMobileVisible = statusIcon.visible && !mBlockMobile;
|
state.mMobileVisible = statusIcon.visible && !mBlockMobile;
|
||||||
state.mMobileStrengthId = statusIcon.icon;
|
state.mMobileStrengthId = statusIcon.icon;
|
||||||
state.mMobileTypeId = statusType;
|
state.mMobileTypeId = statusType;
|
||||||
@@ -281,13 +284,14 @@ public class SignalClusterView
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private PhoneState getOrInflateState(int subId) {
|
private PhoneState getState(int subId) {
|
||||||
for (PhoneState state : mPhoneStates) {
|
for (PhoneState state : mPhoneStates) {
|
||||||
if (state.mSubId == subId) {
|
if (state.mSubId == subId) {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return inflatePhoneState(subId);
|
Log.e(TAG, "Unexpected subscription " + subId);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private PhoneState inflatePhoneState(int subId) {
|
private PhoneState inflatePhoneState(int subId) {
|
||||||
|
|||||||
@@ -291,6 +291,7 @@ public class MobileSignalController extends SignalController<
|
|||||||
notifyListenersIfNecessary();
|
notifyListenersIfNecessary();
|
||||||
} else if (action.equals(TelephonyIntents.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED)) {
|
} else if (action.equals(TelephonyIntents.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED)) {
|
||||||
updateDataSim();
|
updateDataSim();
|
||||||
|
notifyListenersIfNecessary();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -308,7 +309,6 @@ public class MobileSignalController extends SignalController<
|
|||||||
// for long.
|
// for long.
|
||||||
mCurrentState.dataSim = true;
|
mCurrentState.dataSim = true;
|
||||||
}
|
}
|
||||||
notifyListenersIfNecessary();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -110,6 +110,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
|||||||
// The current user ID.
|
// The current user ID.
|
||||||
private int mCurrentUserId;
|
private int mCurrentUserId;
|
||||||
|
|
||||||
|
private OnSubscriptionsChangedListener mSubscriptionListener;
|
||||||
|
|
||||||
// Handler that all broadcasts are received on.
|
// Handler that all broadcasts are received on.
|
||||||
private final Handler mReceiverHandler;
|
private final Handler mReceiverHandler;
|
||||||
// Handler that all callbacks are made on.
|
// Handler that all callbacks are made on.
|
||||||
@@ -179,6 +181,9 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
|||||||
for (MobileSignalController mobileSignalController : mMobileSignalControllers.values()) {
|
for (MobileSignalController mobileSignalController : mMobileSignalControllers.values()) {
|
||||||
mobileSignalController.registerListener();
|
mobileSignalController.registerListener();
|
||||||
}
|
}
|
||||||
|
if (mSubscriptionListener == null) {
|
||||||
|
mSubscriptionListener = new SubListener();
|
||||||
|
}
|
||||||
mSubscriptionManager.addOnSubscriptionsChangedListener(mSubscriptionListener);
|
mSubscriptionManager.addOnSubscriptionsChangedListener(mSubscriptionListener);
|
||||||
|
|
||||||
// broadcasts
|
// broadcasts
|
||||||
@@ -422,7 +427,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
|||||||
: lhs.getSimSlotIndex() - rhs.getSimSlotIndex();
|
: lhs.getSimSlotIndex() - rhs.getSimSlotIndex();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mCallbackHandler.setSubs(subscriptions);
|
|
||||||
mCurrentSubscriptions = subscriptions;
|
mCurrentSubscriptions = subscriptions;
|
||||||
|
|
||||||
HashMap<Integer, MobileSignalController> cachedControllers =
|
HashMap<Integer, MobileSignalController> cachedControllers =
|
||||||
@@ -455,6 +459,9 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
|||||||
cachedControllers.get(key).unregisterListener();
|
cachedControllers.get(key).unregisterListener();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mCallbackHandler.setSubs(subscriptions);
|
||||||
|
notifyAllListeners();
|
||||||
|
|
||||||
// There may be new MobileSignalControllers around, make sure they get the current
|
// There may be new MobileSignalControllers around, make sure they get the current
|
||||||
// inet condition and airplane mode.
|
// inet condition and airplane mode.
|
||||||
pushConnectivityToSignals();
|
pushConnectivityToSignals();
|
||||||
@@ -724,13 +731,12 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final OnSubscriptionsChangedListener mSubscriptionListener =
|
private class SubListener extends OnSubscriptionsChangedListener {
|
||||||
new OnSubscriptionsChangedListener() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onSubscriptionsChanged() {
|
public void onSubscriptionsChanged() {
|
||||||
updateMobileControllers();
|
updateMobileControllers();
|
||||||
};
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to register listeners from the BG Looper, this way the PhoneStateListeners that
|
* Used to register listeners from the BG Looper, this way the PhoneStateListeners that
|
||||||
|
|||||||
Reference in New Issue
Block a user