Check for Data Usage intent before populating "Data Usage" summary.
On some devices, data usage is not available; thus, it is possible that ACTION_DATA_USAGE_SETTINGS has no matching activity. If no matching activity is found, we should not populate "data usage" in the summary field. Bug: 111398942 Test: Manual check. I see that data usage is no longer visible on devices without Data Usage activity. Test: make RunSettingsRoboTests Change-Id: I838206b76497c6550ef4826ad19e605cd32906ee
This commit is contained in:
@@ -79,7 +79,7 @@ public class NetworkDashboardFragmentTest {
|
||||
final SummaryLoader.SummaryProvider provider =
|
||||
new NetworkDashboardFragment.SummaryProvider(mContext, summaryLoader,
|
||||
wifiPreferenceController, mobileNetworkPreferenceController,
|
||||
tetherPreferenceController);
|
||||
tetherPreferenceController, () -> true);
|
||||
|
||||
provider.setListening(false);
|
||||
|
||||
@@ -107,7 +107,7 @@ public class NetworkDashboardFragmentTest {
|
||||
final SummaryLoader.SummaryProvider provider =
|
||||
new NetworkDashboardFragment.SummaryProvider(mContext, summaryLoader,
|
||||
wifiPreferenceController, mobileNetworkPreferenceController,
|
||||
tetherPreferenceController);
|
||||
tetherPreferenceController, () -> true);
|
||||
|
||||
provider.setListening(false);
|
||||
|
||||
@@ -121,4 +121,34 @@ public class NetworkDashboardFragmentTest {
|
||||
|
||||
verify(summaryLoader).setSummary(provider, "Wi\u2011Fi and data usage");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void summaryProviderSetListening_noDataUsageActivity_shouldReturnNoDataUsageSummary() {
|
||||
final WifiMasterSwitchPreferenceController wifiPreferenceController =
|
||||
mock(WifiMasterSwitchPreferenceController.class);
|
||||
final MobileNetworkPreferenceController mobileNetworkPreferenceController =
|
||||
mock(MobileNetworkPreferenceController.class);
|
||||
final TetherPreferenceController tetherPreferenceController =
|
||||
mock(TetherPreferenceController.class);
|
||||
|
||||
final SummaryLoader summaryLoader = mock(SummaryLoader.class);
|
||||
final SummaryLoader.SummaryProvider provider =
|
||||
new NetworkDashboardFragment.SummaryProvider(mContext, summaryLoader,
|
||||
wifiPreferenceController, mobileNetworkPreferenceController,
|
||||
tetherPreferenceController, () -> false);
|
||||
|
||||
provider.setListening(false);
|
||||
|
||||
verifyZeroInteractions(summaryLoader);
|
||||
|
||||
when(wifiPreferenceController.isAvailable()).thenReturn(true);
|
||||
when(mobileNetworkPreferenceController.isAvailable()).thenReturn(true);
|
||||
when(tetherPreferenceController.isAvailable()).thenReturn(true);
|
||||
|
||||
provider.setListening(true);
|
||||
|
||||
verify(summaryLoader).setSummary(provider, "Wi\u2011Fi, mobile, and hotspot");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user