Add page listing multiple mobile networks

When a device supports simultaneous connection to multiple mobile
networks, we want the "Mobile network" entry on the Network & internet
page to list the number of active SIMs and when clicked, go to a page
that lists them all.

Bug: 116349402
Test: make RunSettingsRoboTests
Change-Id: Ie642d7801cda07dcbbe74d42c234db6605566be4
This commit is contained in:
Antony Sargent
2019-01-11 13:11:57 -08:00
parent de324b9b70
commit f4ee4ef3bf
9 changed files with 763 additions and 7 deletions

View File

@@ -96,8 +96,11 @@ public class NetworkDashboardFragment extends DashboardFragment implements
new MobilePlanPreferenceController(context, mobilePlanHost);
final WifiMasterSwitchPreferenceController wifiPreferenceController =
new WifiMasterSwitchPreferenceController(context, metricsFeatureProvider);
final MobileNetworkPreferenceController mobileNetworkPreferenceController =
new MobileNetworkPreferenceController(context);
MobileNetworkPreferenceController mobileNetworkPreferenceController = null;
if (!FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
mobileNetworkPreferenceController = new MobileNetworkPreferenceController(context);
}
final VpnPreferenceController vpnPreferenceController =
new VpnPreferenceController(context);
final PrivateDnsPreferenceController privateDnsPreferenceController =
@@ -106,13 +109,21 @@ public class NetworkDashboardFragment extends DashboardFragment implements
if (lifecycle != null) {
lifecycle.addObserver(mobilePlanPreferenceController);
lifecycle.addObserver(wifiPreferenceController);
lifecycle.addObserver(mobileNetworkPreferenceController);
if (mobileNetworkPreferenceController != null) {
lifecycle.addObserver(mobileNetworkPreferenceController);
}
lifecycle.addObserver(vpnPreferenceController);
lifecycle.addObserver(privateDnsPreferenceController);
}
final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(mobileNetworkPreferenceController);
if (FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
controllers.add(new MobileNetworkSummaryController(context, lifecycle));
}
if (mobileNetworkPreferenceController != null) {
controllers.add(mobileNetworkPreferenceController);
}
controllers.add(new TetherPreferenceController(context, lifecycle));
controllers.add(vpnPreferenceController);
controllers.add(new ProxyPreferenceController(context));