For Internet Picker - Information about Wi-Fi scanning when Wi-Fi is off

Bug: 202323013
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=NetworkProviderSettingsTest
Change-Id: I4a26ec43bb7e1758b8170a7ff9fa7d5846cb4a35
This commit is contained in:
changbetty
2021-10-13 15:13:36 +00:00
parent b7509a3079
commit bfd3020038
3 changed files with 74 additions and 0 deletions

View File

@@ -67,6 +67,7 @@ import com.android.settings.wifi.AddWifiNetworkPreference;
import com.android.settings.wifi.ConnectedWifiEntryPreference;
import com.android.settings.wifi.WifiConfigController2;
import com.android.settings.wifi.WifiDialog2;
import com.android.settingslib.widget.FooterPreference;
import com.android.settingslib.widget.LayoutPreference;
import com.android.settingslib.wifi.LongPressWifiEntryPreference;
import com.android.wifitrackerlib.WifiEntry;
@@ -144,6 +145,7 @@ public class NetworkProviderSettingsTest {
mNetworkProviderSettings.mAirplaneModeMsgPreference = mAirplaneModeMsgPreference;
mNetworkProviderSettings.mAirplaneModeEnabler = mAirplaneModeEnabler;
mNetworkProviderSettings.mInternetUpdater = mInternetUpdater;
mNetworkProviderSettings.mWifiStatusMessagePreference = new FooterPreference(mContext);
doReturn(NetworkProviderSettings.PREF_KEY_CONNECTED_ACCESS_POINTS)
.when(mConnectedWifiEntryPreferenceCategory).getKey();
mNetworkProviderSettings.mConnectedWifiEntryPreferenceCategory =
@@ -531,6 +533,35 @@ public class NetworkProviderSettingsTest {
verify(mNetworkProviderSettings.mWifiEntryPreferenceCategory, never()).setVisible(true);
}
@Test
public void setWifiScanMessage_wifiOnScanOn_footerIsInvisible() {
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ true);
assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.isVisible()).isFalse();
}
@Test
public void setWifiScanMessage_wifiOffScanOn_footerIsVisible() {
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ false);
assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.isVisible()).isTrue();
assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.getTitle().length())
.isNotEqualTo(0);
}
@Test
public void setWifiScanMessage_wifiOffScanOff_footerIsInvisible() {
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
mNetworkProviderSettings.setWifiScanMessage(/* isWifiEnabled */ false);
assertThat(mNetworkProviderSettings.mWifiStatusMessagePreference.isVisible()).isFalse();
}
@Test
@Config(shadows = ShadowPreferenceFragmentCompat.class)
public void onStop_shouldRemoveCallbacks() {