Check for WiFi controller for summary population.
WiFiController might return not available, so we should only surface "Wi-Fi" as a summary entry if it's available in the settings page. This also checks for empty strings in case they are declared as such in the XML (since XML can be device/product overlay'd), to avoid situations such as ", data usage". Bug: 111398942 Test: Manual check, and I see Wi-Fi no longer visible for cases where Wifi controller isn't available. Test: make RunSettingsRoboTests Change-Id: I24736a6240c50e2ea38ce424fbac2316721290d8
This commit is contained in:
@@ -26,6 +26,7 @@ import android.provider.SearchIndexableResource;
|
||||
|
||||
import com.android.settings.dashboard.SummaryLoader;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.wifi.WifiMasterSwitchPreferenceController;
|
||||
import com.android.settingslib.drawer.CategoryKey;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -66,6 +67,8 @@ public class NetworkDashboardFragmentTest {
|
||||
|
||||
@Test
|
||||
public void summaryProviderSetListening_hasMobileAndHotspot_shouldReturnMobileSummary() {
|
||||
final WifiMasterSwitchPreferenceController wifiPreferenceController =
|
||||
mock(WifiMasterSwitchPreferenceController.class);
|
||||
final MobileNetworkPreferenceController mobileNetworkPreferenceController =
|
||||
mock(MobileNetworkPreferenceController.class);
|
||||
final TetherPreferenceController tetherPreferenceController =
|
||||
@@ -74,12 +77,14 @@ public class NetworkDashboardFragmentTest {
|
||||
final SummaryLoader summaryLoader = mock(SummaryLoader.class);
|
||||
final SummaryLoader.SummaryProvider provider =
|
||||
new NetworkDashboardFragment.SummaryProvider(mContext, summaryLoader,
|
||||
mobileNetworkPreferenceController, tetherPreferenceController);
|
||||
wifiPreferenceController, mobileNetworkPreferenceController,
|
||||
tetherPreferenceController);
|
||||
|
||||
provider.setListening(false);
|
||||
|
||||
verifyZeroInteractions(summaryLoader);
|
||||
|
||||
when(wifiPreferenceController.isAvailable()).thenReturn(true);
|
||||
when(mobileNetworkPreferenceController.isAvailable()).thenReturn(true);
|
||||
when(tetherPreferenceController.isAvailable()).thenReturn(true);
|
||||
|
||||
@@ -90,6 +95,8 @@ public class NetworkDashboardFragmentTest {
|
||||
|
||||
@Test
|
||||
public void summaryProviderSetListening_noMobileOrHotspot_shouldReturnSimpleSummary() {
|
||||
final WifiMasterSwitchPreferenceController wifiPreferenceController =
|
||||
mock(WifiMasterSwitchPreferenceController.class);
|
||||
final MobileNetworkPreferenceController mobileNetworkPreferenceController =
|
||||
mock(MobileNetworkPreferenceController.class);
|
||||
final TetherPreferenceController tetherPreferenceController =
|
||||
@@ -98,12 +105,14 @@ public class NetworkDashboardFragmentTest {
|
||||
final SummaryLoader summaryLoader = mock(SummaryLoader.class);
|
||||
final SummaryLoader.SummaryProvider provider =
|
||||
new NetworkDashboardFragment.SummaryProvider(mContext, summaryLoader,
|
||||
mobileNetworkPreferenceController, tetherPreferenceController);
|
||||
wifiPreferenceController, mobileNetworkPreferenceController,
|
||||
tetherPreferenceController);
|
||||
|
||||
provider.setListening(false);
|
||||
|
||||
verifyZeroInteractions(summaryLoader);
|
||||
|
||||
when(wifiPreferenceController.isAvailable()).thenReturn(true);
|
||||
when(mobileNetworkPreferenceController.isAvailable()).thenReturn(false);
|
||||
when(tetherPreferenceController.isAvailable()).thenReturn(false);
|
||||
|
||||
|
Reference in New Issue
Block a user