Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e733f01 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Support flagging for PreferenceScreenCreator" into main

parents eff7ddf3 7630a4ca
Loading
Loading
Loading
Loading
+9 −15
Original line number Diff line number Diff line
@@ -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<AbstractPreferenceController> 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,18 +388,14 @@ 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() {
    /** 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;
    }

    /**
     * Perform {@link AbstractPreferenceController#displayPreference(PreferenceScreen)}