Merge "[SystemUI] Add the CarrierNetworkChange case into InternetDialog" into tm-qpr-dev am: 663be784e9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21298658

Change-Id: Ibb8e961444ebc87b2354b70d4e92a6fc1df3304e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Zoey Chen
2023-02-07 11:20:54 +00:00
committed by Automerger Merge Worker
3 changed files with 48 additions and 6 deletions

View File

@@ -804,6 +804,11 @@ public class InternetDialog extends SystemUIDialog implements
mHandler.post(() -> updateDialog(true /* shouldUpdateMobileNetwork */)); mHandler.post(() -> updateDialog(true /* shouldUpdateMobileNetwork */));
} }
@Override
public void onCarrierNetworkChange(boolean active) {
mHandler.post(() -> updateDialog(true /* shouldUpdateMobileNetwork */));
}
@Override @Override
@WorkerThread @WorkerThread
public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries, public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,

View File

@@ -206,6 +206,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi
protected boolean mHasEthernet = false; protected boolean mHasEthernet = false;
@VisibleForTesting @VisibleForTesting
protected ConnectedWifiInternetMonitor mConnectedWifiInternetMonitor; protected ConnectedWifiInternetMonitor mConnectedWifiInternetMonitor;
@VisibleForTesting
protected boolean mCarrierNetworkChangeMode;
private final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback = private final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback =
new KeyguardUpdateMonitorCallback() { new KeyguardUpdateMonitorCallback() {
@@ -507,10 +509,13 @@ public class InternetDialogController implements AccessPointController.AccessPoi
Drawable getSignalStrengthIcon(int subId, Context context, int level, int numLevels, Drawable getSignalStrengthIcon(int subId, Context context, int level, int numLevels,
int iconType, boolean cutOut) { int iconType, boolean cutOut) {
boolean isForDds = subId == mDefaultDataSubId; boolean isForDds = subId == mDefaultDataSubId;
int levelDrawable =
mCarrierNetworkChangeMode ? SignalDrawable.getCarrierChangeState(numLevels)
: SignalDrawable.getState(level, numLevels, cutOut);
if (isForDds) { if (isForDds) {
mSignalDrawable.setLevel(SignalDrawable.getState(level, numLevels, cutOut)); mSignalDrawable.setLevel(levelDrawable);
} else { } else {
mSecondarySignalDrawable.setLevel(SignalDrawable.getState(level, numLevels, cutOut)); mSecondarySignalDrawable.setLevel(levelDrawable);
} }
// Make the network type drawable // Make the network type drawable
@@ -672,10 +677,13 @@ public class InternetDialogController implements AccessPointController.AccessPoi
} }
int resId = Objects.requireNonNull(mapIconSets(config).get(iconKey)).dataContentDescription; int resId = Objects.requireNonNull(mapIconSets(config).get(iconKey)).dataContentDescription;
SignalIcon.MobileIconGroup iconGroup;
if (isCarrierNetworkActive()) { if (isCarrierNetworkActive()) {
SignalIcon.MobileIconGroup carrierMergedWifiIconGroup = iconGroup = TelephonyIcons.CARRIER_MERGED_WIFI;
TelephonyIcons.CARRIER_MERGED_WIFI; resId = iconGroup.dataContentDescription;
resId = carrierMergedWifiIconGroup.dataContentDescription; } else if (mCarrierNetworkChangeMode) {
iconGroup = TelephonyIcons.CARRIER_NETWORK_CHANGE;
resId = iconGroup.dataContentDescription;
} }
return resId != 0 return resId != 0
@@ -1066,7 +1074,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi
TelephonyCallback.DisplayInfoListener, TelephonyCallback.DisplayInfoListener,
TelephonyCallback.ServiceStateListener, TelephonyCallback.ServiceStateListener,
TelephonyCallback.SignalStrengthsListener, TelephonyCallback.SignalStrengthsListener,
TelephonyCallback.UserMobileDataStateListener { TelephonyCallback.UserMobileDataStateListener,
TelephonyCallback.CarrierNetworkListener{
private final int mSubId; private final int mSubId;
private InternetTelephonyCallback(int subId) { private InternetTelephonyCallback(int subId) {
@@ -1098,6 +1107,12 @@ public class InternetDialogController implements AccessPointController.AccessPoi
public void onUserMobileDataStateChanged(boolean enabled) { public void onUserMobileDataStateChanged(boolean enabled) {
mCallback.onUserMobileDataStateChanged(enabled); mCallback.onUserMobileDataStateChanged(enabled);
} }
@Override
public void onCarrierNetworkChange(boolean active) {
mCarrierNetworkChangeMode = active;
mCallback.onCarrierNetworkChange(active);
}
} }
private class InternetOnSubscriptionChangedListener private class InternetOnSubscriptionChangedListener
@@ -1267,6 +1282,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi
void onDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo); void onDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo);
void onCarrierNetworkChange(boolean active);
void dismissDialog(); void dismissDialog();
void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries, void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,

View File

@@ -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) { private String getResourcesString(String name) {
return mContext.getResources().getString(getResourcesId(name)); return mContext.getResources().getString(getResourcesId(name));
} }