Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -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, Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +23 −6 Original line number Original line Diff line number Diff line Loading @@ -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() { Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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) { Loading Loading @@ -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 Loading Loading @@ -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, Loading packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java +20 −0 Original line number Original line Diff line number Diff line Loading @@ -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)); } } Loading Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -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, Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +23 −6 Original line number Original line Diff line number Diff line Loading @@ -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() { Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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) { Loading Loading @@ -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 Loading Loading @@ -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, Loading
packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java +20 −0 Original line number Original line Diff line number Diff line Loading @@ -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)); } } Loading