diff options
2 files changed, 31 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java index bbbb76481a95..a1fea6c4eb2a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java @@ -892,7 +892,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi if (mHasEthernet) { count -= 1; } - if (hasActiveSubId()) { + if (hasActiveSubId() || isCarrierNetworkActive()) { count -= 1; } if (count > accessPoints.size()) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java index 61c91f5cefe4..5b7c61d66fa7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogControllerTest.java @@ -541,6 +541,36 @@ public class InternetDialogControllerTest extends SysuiTestCase { } @Test + public void onAccessPointsChanged_oneCarrierWifiAndFourOthers_callbackCutMore() { + reset(mInternetDialogCallback); + fakeAirplaneModeEnabled(true); + when(mMergedCarrierEntry.isDefaultNetwork()).thenReturn(true); + mAccessPoints.clear(); + mAccessPoints.add(mWifiEntry1); + mAccessPoints.add(mWifiEntry2); + mAccessPoints.add(mWifiEntry3); + mAccessPoints.add(mWifiEntry4); + + mInternetDialogController.onAccessPointsChanged(mAccessPoints); + + mWifiEntries.clear(); + mWifiEntries.add(mWifiEntry1); + mWifiEntries.add(mWifiEntry2); + mWifiEntries.add(mWifiEntry3); + verify(mInternetDialogCallback) + .onAccessPointsChanged(mWifiEntries, null /* connectedEntry */); + + // Turn off airplane mode to has carrier WiFi, then Wi-Fi entries will keep the same. + reset(mInternetDialogCallback); + fakeAirplaneModeEnabled(false); + + mInternetDialogController.onAccessPointsChanged(mAccessPoints); + + verify(mInternetDialogCallback) + .onAccessPointsChanged(mWifiEntries, null /* connectedEntry */); + } + + @Test public void onAccessPointsChanged_fourWifiEntries_callbackCutMore() { reset(mInternetDialogCallback); fakeAirplaneModeEnabled(true); |