Merge "Support flagging for PreferenceScreenCreator" into main

This commit is contained in:
Treehugger Robot
2024-09-14 16:46:19 +00:00
committed by Android (Google) Code Review

View File

@@ -55,7 +55,6 @@ import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile; import com.android.settingslib.drawer.Tile;
import com.android.settingslib.metadata.PreferenceScreenRegistry;
import com.android.settingslib.search.Indexable; import com.android.settingslib.search.Indexable;
import java.util.ArrayList; import java.util.ArrayList;
@@ -101,8 +100,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
mDashboardFeatureProvider = mDashboardFeatureProvider =
FeatureFactory.getFeatureFactory().getDashboardFeatureProvider(); FeatureFactory.getFeatureFactory().getDashboardFeatureProvider();
if (!usePreferenceScreenMetadata() || PreferenceScreenRegistry.INSTANCE.get( if (!isCatalystEnabled()) {
getPreferenceScreenBindingKey(context)) == null) {
// Load preference controllers from code // Load preference controllers from code
final List<AbstractPreferenceController> controllersFromCode = final List<AbstractPreferenceController> controllersFromCode =
createPreferenceControllers(context); createPreferenceControllers(context);
@@ -378,7 +376,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
return; return;
} }
PreferenceScreen screen; PreferenceScreen screen;
if (usePreferenceScreenMetadata()) { if (isCatalystEnabled()) {
screen = createPreferenceScreen(); screen = createPreferenceScreen();
setPreferenceScreen(screen); setPreferenceScreen(screen);
requireActivity().setTitle(screen.getTitle()); requireActivity().setTitle(screen.getTitle());
@@ -390,18 +388,14 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
displayResourceTilesToScreen(screen); displayResourceTilesToScreen(screen);
} }
@Override /** Returns if catalyst is enabled on current screen. */
protected final boolean usePreferenceScreenMetadata() { protected final boolean isCatalystEnabled() {
return settingsCatalyst() && enableCatalyst(); if (!settingsCatalyst()) {
}
/**
* Returns if settings catalyst should be enabled (e.g. check trunk stable flag) on current
* screen.
*/
protected boolean enableCatalyst() {
return false; return false;
} }
Context context = getContext();
return context != null ? getPreferenceScreenCreator(context) != null : false;
}
/** /**
* Perform {@link AbstractPreferenceController#displayPreference(PreferenceScreen)} * Perform {@link AbstractPreferenceController#displayPreference(PreferenceScreen)}