Merge "[SystemUI] Add the CarrierNetworkChange case into InternetDialog" into tm-qpr-dev
This commit is contained in:
@@ -804,6 +804,11 @@ public class InternetDialog extends SystemUIDialog implements
|
||||
mHandler.post(() -> updateDialog(true /* shouldUpdateMobileNetwork */));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCarrierNetworkChange(boolean active) {
|
||||
mHandler.post(() -> updateDialog(true /* shouldUpdateMobileNetwork */));
|
||||
}
|
||||
|
||||
@Override
|
||||
@WorkerThread
|
||||
public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
||||
|
||||
@@ -206,6 +206,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
||||
protected boolean mHasEthernet = false;
|
||||
@VisibleForTesting
|
||||
protected ConnectedWifiInternetMonitor mConnectedWifiInternetMonitor;
|
||||
@VisibleForTesting
|
||||
protected boolean mCarrierNetworkChangeMode;
|
||||
|
||||
private final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback =
|
||||
new KeyguardUpdateMonitorCallback() {
|
||||
@@ -507,10 +509,13 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
||||
Drawable getSignalStrengthIcon(int subId, Context context, int level, int numLevels,
|
||||
int iconType, boolean cutOut) {
|
||||
boolean isForDds = subId == mDefaultDataSubId;
|
||||
int levelDrawable =
|
||||
mCarrierNetworkChangeMode ? SignalDrawable.getCarrierChangeState(numLevels)
|
||||
: SignalDrawable.getState(level, numLevels, cutOut);
|
||||
if (isForDds) {
|
||||
mSignalDrawable.setLevel(SignalDrawable.getState(level, numLevels, cutOut));
|
||||
mSignalDrawable.setLevel(levelDrawable);
|
||||
} else {
|
||||
mSecondarySignalDrawable.setLevel(SignalDrawable.getState(level, numLevels, cutOut));
|
||||
mSecondarySignalDrawable.setLevel(levelDrawable);
|
||||
}
|
||||
|
||||
// Make the network type drawable
|
||||
@@ -672,10 +677,13 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
||||
}
|
||||
|
||||
int resId = Objects.requireNonNull(mapIconSets(config).get(iconKey)).dataContentDescription;
|
||||
SignalIcon.MobileIconGroup iconGroup;
|
||||
if (isCarrierNetworkActive()) {
|
||||
SignalIcon.MobileIconGroup carrierMergedWifiIconGroup =
|
||||
TelephonyIcons.CARRIER_MERGED_WIFI;
|
||||
resId = carrierMergedWifiIconGroup.dataContentDescription;
|
||||
iconGroup = TelephonyIcons.CARRIER_MERGED_WIFI;
|
||||
resId = iconGroup.dataContentDescription;
|
||||
} else if (mCarrierNetworkChangeMode) {
|
||||
iconGroup = TelephonyIcons.CARRIER_NETWORK_CHANGE;
|
||||
resId = iconGroup.dataContentDescription;
|
||||
}
|
||||
|
||||
return resId != 0
|
||||
@@ -1066,7 +1074,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
||||
TelephonyCallback.DisplayInfoListener,
|
||||
TelephonyCallback.ServiceStateListener,
|
||||
TelephonyCallback.SignalStrengthsListener,
|
||||
TelephonyCallback.UserMobileDataStateListener {
|
||||
TelephonyCallback.UserMobileDataStateListener,
|
||||
TelephonyCallback.CarrierNetworkListener{
|
||||
|
||||
private final int mSubId;
|
||||
private InternetTelephonyCallback(int subId) {
|
||||
@@ -1098,6 +1107,12 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
||||
public void onUserMobileDataStateChanged(boolean enabled) {
|
||||
mCallback.onUserMobileDataStateChanged(enabled);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCarrierNetworkChange(boolean active) {
|
||||
mCarrierNetworkChangeMode = active;
|
||||
mCallback.onCarrierNetworkChange(active);
|
||||
}
|
||||
}
|
||||
|
||||
private class InternetOnSubscriptionChangedListener
|
||||
@@ -1267,6 +1282,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
||||
|
||||
void onDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo);
|
||||
|
||||
void onCarrierNetworkChange(boolean active);
|
||||
|
||||
void dismissDialog();
|
||||
|
||||
void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
||||
|
||||
@@ -879,6 +879,26 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getMobileNetworkSummary_withCarrierNetworkChange() {
|
||||
Resources res = mock(Resources.class);
|
||||
doReturn("Carrier network changing").when(res).getString(anyInt());
|
||||
when(SubscriptionManager.getResourcesForSubId(any(), eq(SUB_ID))).thenReturn(res);
|
||||
InternetDialogController spyController = spy(mInternetDialogController);
|
||||
Map<Integer, TelephonyDisplayInfo> mSubIdTelephonyDisplayInfoMap =
|
||||
spyController.mSubIdTelephonyDisplayInfoMap;
|
||||
TelephonyDisplayInfo info = new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_LTE,
|
||||
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
||||
|
||||
mSubIdTelephonyDisplayInfoMap.put(SUB_ID, info);
|
||||
doReturn(true).when(spyController).isMobileDataEnabled();
|
||||
doReturn(true).when(spyController).activeNetworkIsCellular();
|
||||
spyController.mCarrierNetworkChangeMode = true;
|
||||
String dds = spyController.getMobileNetworkSummary(SUB_ID);
|
||||
|
||||
assertThat(dds).contains(mContext.getString(R.string.carrier_network_change_mode));
|
||||
}
|
||||
|
||||
private String getResourcesString(String name) {
|
||||
return mContext.getResources().getString(getResourcesId(name));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user