Add PreferenceControllers to Network page.

- Also made tiles refresh more efficient: when category changes, only
  refresh dynamic tiles. Static tiles from xml will not change due to
  category change.

Bug: 31799836
Test: RunSettingsRoboTests
Change-Id: I1e4c85f2c122c65ec99729e43a66c80acdd863c8
This commit is contained in:
Fan Zhang
2016-10-12 12:35:52 -07:00
parent c4f07e2d9a
commit 7f1a4b5891
7 changed files with 411 additions and 99 deletions

View File

@@ -22,6 +22,7 @@ import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.drawer.CategoryKey;
import java.util.ArrayList;
import java.util.List;
public class NetworkDashboardFragment extends DashboardFragment {
@@ -50,6 +51,15 @@ public class NetworkDashboardFragment extends DashboardFragment {
@Override
protected List<PreferenceController> getPreferenceControllers(Context context) {
return null;
final AirplaneModePreferenceController airplaneModePreferenceController =
new AirplaneModePreferenceController(context, this /* fragment */);
getLifecycle().addObserver(airplaneModePreferenceController);
final List<PreferenceController> controllers = new ArrayList<>();
controllers.add(airplaneModePreferenceController);
controllers.add(new TetherPreferenceController(context));
controllers.add(new MobileNetworkPreferenceController(context));
controllers.add(new VpnPreferenceController(context));
return controllers;
}
}