Launch the new TopLevelSettings for all settings tab.
The new TopLevelSettings page uses a standard DashboardFragment to host
all top level settings. It's easier to maintain than DashboardSummary.
It does not support conditional cards or suggestion cards. We will use
PersonalSettingsFragment to host these as contextual cards going
forward.
Bug: 110405144
Test: visual
Change-Id: I2ab2d3556e870e86ebc18f9876336c4a3a361897
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 4ca1c2c..cde2aca 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -62,6 +62,7 @@
import com.android.settings.core.gateway.SettingsGateway;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.DashboardSummary;
+import com.android.settings.homepage.TopLevelSettings;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.DeviceIndexFeatureProvider;
import com.android.settings.wfd.WifiDisplaySettings;
@@ -403,8 +404,13 @@
// Show search icon as up affordance if we are displaying the main Dashboard
mInitialTitleResId = R.string.dashboard_title;
- switchToFragment(DashboardSummary.class.getName(), null /* args */, false, false,
- mInitialTitleResId, mInitialTitle, false);
+ if (SettingsHomepageActivity.isDynamicHomepageEnabled(this)) {
+ switchToFragment(TopLevelSettings.class.getName(), null /* args */, false, false,
+ mInitialTitleResId, mInitialTitle, false);
+ } else {
+ switchToFragment(DashboardSummary.class.getName(), null /* args */, false, false,
+ mInitialTitleResId, mInitialTitle, false);
+ }
}
}
diff --git a/src/com/android/settings/SettingsHomepageActivity.java b/src/com/android/settings/SettingsHomepageActivity.java
index de25cf4..77155e0 100644
--- a/src/com/android/settings/SettingsHomepageActivity.java
+++ b/src/com/android/settings/SettingsHomepageActivity.java
@@ -29,6 +29,7 @@
import com.android.settings.core.SettingsBaseActivity;
import com.android.settings.dashboard.DashboardSummary;
import com.android.settings.homepage.PersonalSettingsFragment;
+import com.android.settings.homepage.TopLevelSettings;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.SearchFeatureProvider;
@@ -58,8 +59,7 @@
FeatureFactory.getFactory(this).getSearchFeatureProvider()
.initSearchToolbar(this, searchButton);
- final BottomNavigationView navigation = (BottomNavigationView) findViewById(
- R.id.bottom_nav);
+ final BottomNavigationView navigation = findViewById(R.id.bottom_nav);
navigation.setOnNavigationItemSelectedListener(item -> {
switch (item.getItemId()) {
case R.id.homepage_personal_settings:
@@ -68,7 +68,7 @@
return true;
case R.id.homepage_all_settings:
- switchFragment(DashboardSummary.class.getName(), ALL_SETTINGS_TAG,
+ switchFragment(TopLevelSettings.class.getName(), ALL_SETTINGS_TAG,
PERSONAL_SETTINGS_TAG);
return true;
}
diff --git a/src/com/android/settings/homepage/PersonalSettingsFragment.java b/src/com/android/settings/homepage/PersonalSettingsFragment.java
index b515e29..1894e5e 100644
--- a/src/com/android/settings/homepage/PersonalSettingsFragment.java
+++ b/src/com/android/settings/homepage/PersonalSettingsFragment.java
@@ -54,7 +54,7 @@
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.settings_homepage,
container, false);
- mCardsContainer = (RecyclerView) rootView.findViewById(R.id.card_container);
+ mCardsContainer = rootView.findViewById(R.id.card_container);
mLayoutManager = new GridLayoutManager(getActivity(), SPAN_COUNT,
LinearLayoutManager.VERTICAL, false /* reverseLayout */);
mCardsContainer.setLayoutManager(mLayoutManager);