From eff7ddf3399da5587a15494e1b061e045f8b7d5a Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Sat, 14 Sep 2024 12:43:11 +0800 Subject: [PATCH 1/2] Not set subId for Wi-Fi data usage Otherwise the DataUsageList page will be closed since no active sub has id = 0. Bug: 348118234 Flag: EXEMPT bug fix Test: manual - on DataUsageSummary Test: atest DataUsageSummaryTest Change-Id: Ic8387e4fbfe0f0027e87e545be9d7e92ae771136 --- src/com/android/settings/datausage/DataUsageSummary.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java index 5681c922c51..dfb35084a12 100644 --- a/src/com/android/settings/datausage/DataUsageSummary.java +++ b/src/com/android/settings/datausage/DataUsageSummary.java @@ -180,14 +180,16 @@ public class DataUsageSummary extends DashboardFragment { void addWifiSection() { TemplatePreferenceCategory category = (TemplatePreferenceCategory) inflatePreferences(R.xml.data_usage_wifi); - category.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build(), 0); + category.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build(), + SubscriptionManager.INVALID_SUBSCRIPTION_ID); } private void addEthernetSection() { TemplatePreferenceCategory category = (TemplatePreferenceCategory) inflatePreferences(R.xml.data_usage_ethernet); category.setTemplate( - new NetworkTemplate.Builder(NetworkTemplate.MATCH_ETHERNET).build(), 0); + new NetworkTemplate.Builder(NetworkTemplate.MATCH_ETHERNET).build(), + SubscriptionManager.INVALID_SUBSCRIPTION_ID); } private Preference inflatePreferences(int resId) { From 7630a4ca95e6324539a8fa5ff5df60c99ff23ad7 Mon Sep 17 00:00:00 2001 From: Jacky Wang Date: Sat, 14 Sep 2024 20:33:54 +0800 Subject: [PATCH 2/2] Support flagging for PreferenceScreenCreator Bug: 335132588 Flag: com.android.settingslib.flags.settings_catalyst Test: Presubmit & Local test Change-Id: I8e1d8ee679c84401bfcfcfb21f221a619257f6a2 --- .../settings/dashboard/DashboardFragment.java | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index 09dd1dd480d..220856ae664 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -55,7 +55,6 @@ import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.Tile; -import com.android.settingslib.metadata.PreferenceScreenRegistry; import com.android.settingslib.search.Indexable; import java.util.ArrayList; @@ -101,8 +100,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment mDashboardFeatureProvider = FeatureFactory.getFeatureFactory().getDashboardFeatureProvider(); - if (!usePreferenceScreenMetadata() || PreferenceScreenRegistry.INSTANCE.get( - getPreferenceScreenBindingKey(context)) == null) { + if (!isCatalystEnabled()) { // Load preference controllers from code final List controllersFromCode = createPreferenceControllers(context); @@ -378,7 +376,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment return; } PreferenceScreen screen; - if (usePreferenceScreenMetadata()) { + if (isCatalystEnabled()) { screen = createPreferenceScreen(); setPreferenceScreen(screen); requireActivity().setTitle(screen.getTitle()); @@ -390,17 +388,13 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment displayResourceTilesToScreen(screen); } - @Override - protected final boolean usePreferenceScreenMetadata() { - return settingsCatalyst() && enableCatalyst(); - } - - /** - * Returns if settings catalyst should be enabled (e.g. check trunk stable flag) on current - * screen. - */ - protected boolean enableCatalyst() { - return false; + /** Returns if catalyst is enabled on current screen. */ + protected final boolean isCatalystEnabled() { + if (!settingsCatalyst()) { + return false; + } + Context context = getContext(); + return context != null ? getPreferenceScreenCreator(context) != null : false; } /**