Use consistent logic for data icon overlays.
Ensure that we always show the data icon in both Quick Settings and the status bar, or in neither, but never one or the other. The particular inconsistency this is intended to fix is that in some circumstances, Wi-Fi may be connected, but the cell radio may be still be used by certain apps, due to new multinetworking APIs in L. In this case, we should always show the data icon; currently appears in the status bar, but not Quick Settings, which was unconditionally dropping the icon if any Wi-Fi connection was up. Bug: 19112322 Change-Id: I9942f6b24081e061a72804ef47ad4fe719f32ec2
This commit is contained in:
@@ -97,9 +97,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
|
||||
state.icon = ResourceIcon.get(iconId);
|
||||
state.isOverlayIconWide = cb.isDataTypeIconWide;
|
||||
state.autoMirrorDrawable = !cb.noSim;
|
||||
state.overlayIconId = cb.enabled && (cb.dataTypeIconId > 0) && !cb.wifiConnected
|
||||
? cb.dataTypeIconId
|
||||
: 0;
|
||||
state.overlayIconId = cb.enabled && (cb.dataTypeIconId > 0) ? cb.dataTypeIconId : 0;
|
||||
state.filter = iconId != R.drawable.ic_qs_no_sim;
|
||||
state.activityIn = cb.enabled && cb.activityIn;
|
||||
state.activityOut = cb.enabled && cb.activityOut;
|
||||
|
||||
@@ -1187,10 +1187,13 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
||||
|
||||
String contentDescription = getStringIfExists(getContentDescription());
|
||||
String dataContentDescription = getStringIfExists(icons.mDataContentDescription);
|
||||
|
||||
boolean showDataIcon = mCurrentState.dataConnected && mCurrentState.inetForNetwork != 0
|
||||
|| mCurrentState.iconGroup == TelephonyIcons.ROAMING;
|
||||
|
||||
// Only send data sim callbacks to QS.
|
||||
if (mCurrentState.dataSim) {
|
||||
int qsTypeIcon = mCurrentState.dataConnected ?
|
||||
icons.mQsDataType[mCurrentState.inetForNetwork] : 0;
|
||||
int qsTypeIcon = showDataIcon ? icons.mQsDataType[mCurrentState.inetForNetwork] : 0;
|
||||
int length = mSignalsChangedCallbacks.size();
|
||||
for (int i = 0; i < length; i++) {
|
||||
mSignalsChangedCallbacks.get(i).onMobileDataSignalChanged(mCurrentState.enabled
|
||||
@@ -1205,8 +1208,6 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
||||
icons.mIsWide && qsTypeIcon != 0);
|
||||
}
|
||||
}
|
||||
boolean showDataIcon = mCurrentState.dataConnected && mCurrentState.inetForNetwork != 0
|
||||
|| mCurrentState.iconGroup == TelephonyIcons.ROAMING;
|
||||
int typeIcon = showDataIcon ? icons.mDataType : 0;
|
||||
int signalClustersLength = mSignalClusters.size();
|
||||
for (int i = 0; i < signalClustersLength; i++) {
|
||||
|
||||
Reference in New Issue
Block a user