diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java | 18 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java | 50 |
2 files changed, 52 insertions, 16 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java index 563c4cd628d2..77b9cc14fa6d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java @@ -306,12 +306,8 @@ public class InternetDialog extends SystemUIDialog implements final boolean isWifiScanEnabled = mInternetDialogController.isWifiScanEnabled(); updateWifiToggle(isWifiEnabled, isDeviceLocked); updateConnectedWifi(isWifiEnabled, isDeviceLocked); + updateWifiListAndSeeAll(isWifiEnabled, isDeviceLocked); updateWifiScanNotify(isWifiEnabled, isWifiScanEnabled, isDeviceLocked); - - final int visibility = (isDeviceLocked || !isWifiEnabled || mWifiEntriesCount <= 0) - ? View.GONE : View.VISIBLE; - mWifiRecyclerView.setVisibility(visibility); - mSeeAllLayout.setVisibility(visibility); } private void setOnClickListener() { @@ -414,6 +410,18 @@ public class InternetDialog extends SystemUIDialog implements } @MainThread + private void updateWifiListAndSeeAll(boolean isWifiEnabled, boolean isDeviceLocked) { + if (!isWifiEnabled || isDeviceLocked) { + mWifiRecyclerView.setVisibility(View.GONE); + mSeeAllLayout.setVisibility(View.GONE); + return; + } + mWifiRecyclerView.setVisibility(mWifiEntriesCount > 0 ? View.VISIBLE : View.GONE); + mSeeAllLayout.setVisibility( + (mConnectedWifiEntry != null || mWifiEntriesCount > 0) ? View.VISIBLE : View.GONE); + } + + @MainThread private void updateWifiScanNotify(boolean isWifiEnabled, boolean isWifiScanEnabled, boolean isDeviceLocked) { if (isWifiEnabled || !isWifiScanEnabled || isDeviceLocked) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java index b6e8979db189..b32b4d4f3810 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogTest.java @@ -219,61 +219,89 @@ public class InternetDialogTest extends SysuiTestCase { } @Test - public void updateDialog_wifiOnAndNoWifiList_hideWifiListAndSeeAll() { + public void updateDialog_wifiOnAndNoWifiEntry_hideWifiEntryAndSeeAll() { // The precondition WiFi ON is already in setUp() + mInternetDialog.mConnectedWifiEntry = null; mInternetDialog.mWifiEntriesCount = 0; mInternetDialog.updateDialog(false); + assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE); assertThat(mWifiList.getVisibility()).isEqualTo(View.GONE); assertThat(mSeeAll.getVisibility()).isEqualTo(View.GONE); } @Test + public void updateDialog_wifiOnAndHasConnectedWifi_showConnectedWifiAndSeeAll() { + // The preconditions WiFi ON and WiFi entries are already in setUp() + mInternetDialog.mWifiEntriesCount = 0; + + mInternetDialog.updateDialog(false); + + assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE); + assertThat(mWifiList.getVisibility()).isEqualTo(View.GONE); + assertThat(mSeeAll.getVisibility()).isEqualTo(View.VISIBLE); + } + + @Test public void updateDialog_wifiOnAndHasWifiList_showWifiListAndSeeAll() { // The preconditions WiFi ON and WiFi entries are already in setUp() + mInternetDialog.mConnectedWifiEntry = null; mInternetDialog.updateDialog(false); + assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE); assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mSeeAll.getVisibility()).isEqualTo(View.VISIBLE); } @Test - public void updateDialog_deviceLockedAndHasInternetWifi_showHighlightWifiToggle() { - // The preconditions WiFi ON and Internet WiFi are already in setUp() - when(mInternetDialogController.isDeviceLocked()).thenReturn(true); + public void updateDialog_wifiOnAndHasBothWifiEntry_showBothWifiEntryAndSeeAll() { + // The preconditions WiFi ON and WiFi entries are already in setUp() mInternetDialog.updateDialog(false); - assertThat(mWifiToggle.getVisibility()).isEqualTo(View.VISIBLE); - assertThat(mWifiToggle.getBackground()).isNotNull(); + assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE); + assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE); + assertThat(mSeeAll.getVisibility()).isEqualTo(View.VISIBLE); } @Test - public void updateDialog_deviceLockedAndHasInternetWifi_hideConnectedWifi() { - // The preconditions WiFi ON and Internet WiFi are already in setUp() + public void updateDialog_deviceLockedAndNoConnectedWifi_showWifiToggle() { + // The preconditions WiFi entries are already in setUp() when(mInternetDialogController.isDeviceLocked()).thenReturn(true); + mInternetDialog.mConnectedWifiEntry = null; mInternetDialog.updateDialog(false); + // Show WiFi Toggle without background + assertThat(mWifiToggle.getVisibility()).isEqualTo(View.VISIBLE); + assertThat(mWifiToggle.getBackground()).isNull(); + // Hide Wi-Fi networks and See all assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE); + assertThat(mWifiList.getVisibility()).isEqualTo(View.GONE); + assertThat(mSeeAll.getVisibility()).isEqualTo(View.GONE); } @Test - public void updateDialog_deviceLockedAndHasWifiList_hideWifiListAndSeeAll() { - // The preconditions WiFi entries are already in setUp() + public void updateDialog_deviceLockedAndHasConnectedWifi_showWifiToggleWithBackground() { + // The preconditions WiFi ON and WiFi entries are already in setUp() when(mInternetDialogController.isDeviceLocked()).thenReturn(true); mInternetDialog.updateDialog(false); + // Show WiFi Toggle with highlight background + assertThat(mWifiToggle.getVisibility()).isEqualTo(View.VISIBLE); + assertThat(mWifiToggle.getBackground()).isNotNull(); + // Hide Wi-Fi networks and See all + assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE); assertThat(mWifiList.getVisibility()).isEqualTo(View.GONE); assertThat(mSeeAll.getVisibility()).isEqualTo(View.GONE); } @Test public void updateDialog_wifiOn_hideWifiScanNotify() { - // The preconditions WiFi ON and Internet WiFi are already in setUp() + // The preconditions WiFi ON and WiFi entries are already in setUp() mInternetDialog.updateDialog(false); |