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

Commit afb57ecc authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Let fragment and indexProvider share prefControllers"

parents 58240e6a b00811da
Loading
Loading
Loading
Loading
+30 −35
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settings;

import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
@@ -24,6 +25,7 @@ import android.provider.SearchIndexableResource;

import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.deviceinfo.AdditionalSystemUpdatePreferenceController;
@@ -38,7 +40,6 @@ import com.android.settings.deviceinfo.ManualPreferenceController;
import com.android.settings.deviceinfo.RegulatoryInfoPreferenceController;
import com.android.settings.deviceinfo.SELinuxStatusPreferenceController;
import com.android.settings.deviceinfo.SafetyInfoPreferenceController;
import com.android.settings.deviceinfo.SafetyLegalPreferenceController;
import com.android.settings.deviceinfo.SecurityPatchPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
@@ -51,8 +52,6 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {

    private static final String LOG_TAG = "DeviceInfoSettings";

    private BuildNumberPreferenceController mBuildNumberPreferenceController;

    @Override
    public int getMetricsCategory() {
        return MetricsEvent.DEVICEINFO;
@@ -65,7 +64,9 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (mBuildNumberPreferenceController.onActivityResult(requestCode, resultCode, data)) {
        final BuildNumberPreferenceController buildNumberPreferenceController =
                getPreferenceController(BuildNumberPreferenceController.class);
        if (buildNumberPreferenceController.onActivityResult(requestCode, resultCode, data)) {
            return;
        }
        super.onActivityResult(requestCode, resultCode, data);
@@ -83,24 +84,8 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {

    @Override
    protected List<PreferenceController> getPreferenceControllers(Context context) {
        final List<PreferenceController> controllers = new ArrayList<>();
        mBuildNumberPreferenceController =
                new BuildNumberPreferenceController(context, getActivity(), this /* fragment */);
        getLifecycle().addObserver(mBuildNumberPreferenceController);
        controllers.add(mBuildNumberPreferenceController);
        controllers.add(new AdditionalSystemUpdatePreferenceController(context));
        controllers.add(new ManualPreferenceController(context));
        controllers.add(new FeedbackPreferenceController(this, context));
        controllers.add(new KernelVersionPreferenceController(context));
        controllers.add(new BasebandVersionPreferenceController(context));
        controllers.add(new FirmwareVersionPreferenceController(context, getLifecycle()));
        controllers.add(new RegulatoryInfoPreferenceController(context));
        controllers.add(new DeviceModelPreferenceController(context));
        controllers.add(new SecurityPatchPreferenceController(context));
        controllers.add(new FccEquipmentIdPreferenceController(context));
        controllers.add(new SELinuxStatusPreferenceController(context));
        controllers.add(new SafetyInfoPreferenceController(context));
        return controllers;
        return buildPreferenceControllers(context, getActivity(), this /* fragment */,
                getLifecycle());
    }

    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
@@ -131,6 +116,26 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
        }
    };

    private static List<PreferenceController> buildPreferenceControllers(Context context,
            Activity activity, Fragment fragment, Lifecycle lifecycle) {
        final List<PreferenceController> controllers = new ArrayList<>();
        controllers.add(
                new BuildNumberPreferenceController(context, activity, fragment, lifecycle));
        controllers.add(new AdditionalSystemUpdatePreferenceController(context));
        controllers.add(new ManualPreferenceController(context));
        controllers.add(new FeedbackPreferenceController(fragment, context));
        controllers.add(new KernelVersionPreferenceController(context));
        controllers.add(new BasebandVersionPreferenceController(context));
        controllers.add(new FirmwareVersionPreferenceController(context, lifecycle));
        controllers.add(new RegulatoryInfoPreferenceController(context));
        controllers.add(new DeviceModelPreferenceController(context));
        controllers.add(new SecurityPatchPreferenceController(context));
        controllers.add(new FccEquipmentIdPreferenceController(context));
        controllers.add(new SELinuxStatusPreferenceController(context));
        controllers.add(new SafetyInfoPreferenceController(context));
        return controllers;
    }

    /**
     * For Search.
     */
@@ -146,19 +151,9 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
                }

                @Override
                public List<String> getNonIndexableKeys(Context context) {
                    final List<String> keys = new ArrayList<>();
                    new SafetyLegalPreferenceController(context).updateNonIndexableKeys(keys);
                    new BasebandVersionPreferenceController(context).updateNonIndexableKeys(keys);
                    new FeedbackPreferenceController(null, context).updateNonIndexableKeys(keys);
                    new AdditionalSystemUpdatePreferenceController(context)
                            .updateNonIndexableKeys(keys);
                    new RegulatoryInfoPreferenceController(context).updateNonIndexableKeys(keys);
                    new SecurityPatchPreferenceController(context).updateNonIndexableKeys(keys);
                    new FccEquipmentIdPreferenceController(context).updateNonIndexableKeys(keys);
                    new SELinuxStatusPreferenceController(context).updateNonIndexableKeys(keys);
                    new SafetyInfoPreferenceController(context).updateNonIndexableKeys(keys);
                    return keys;
                public List<PreferenceController> getPreferenceControllers(Context context) {
                    return buildPreferenceControllers(context, null /*activity */,
                            null /* fragment */, null /* lifecycle */);
                }
            };
}
+10 −30
Original line number Diff line number Diff line
@@ -69,6 +69,15 @@ public class DisplaySettings extends DashboardFragment {

    @Override
    protected List<PreferenceController> getPreferenceControllers(Context context) {
        return buildPreferenceControllers(context);
    }

    @Override
    protected int getHelpResource() {
        return R.string.help_uri_display;
    }

    private static List<PreferenceController> buildPreferenceControllers(Context context) {
        final List<PreferenceController> controllers = new ArrayList<>();
        controllers.add(new AutoBrightnessPreferenceController(context));
        controllers.add(new AutoRotatePreferenceController(context));
@@ -87,11 +96,6 @@ public class DisplaySettings extends DashboardFragment {
        return controllers;
    }

    @Override
    protected int getHelpResource() {
        return R.string.help_uri_display;
    }

    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {
                @Override
@@ -105,33 +109,9 @@ public class DisplaySettings extends DashboardFragment {
                    return result;
                }

                @Override
                public List<String> getNonIndexableKeys(Context context) {
                    ArrayList<String> result = new ArrayList<>();

                    new AutoBrightnessPreferenceController(context).updateNonIndexableKeys(result);
                    new AutoRotatePreferenceController(context).updateNonIndexableKeys(result);
                    new CameraGesturePreferenceController(context).updateNonIndexableKeys(result);
                    new DozePreferenceController(context).updateNonIndexableKeys(result);
                    new FontSizePreferenceController(context).updateNonIndexableKeys(result);
                    new LiftToWakePreferenceController(context).updateNonIndexableKeys(result);
                    new NightDisplayPreferenceController(context).updateNonIndexableKeys(result);
                    new NightModePreferenceController(context).updateNonIndexableKeys(result);
                    new ScreenSaverPreferenceController(context).updateNonIndexableKeys(result);
                    new TapToWakePreferenceController(context).updateNonIndexableKeys(result);
                    new TimeoutPreferenceController(context).updateNonIndexableKeys(result);
                    new VrDisplayPreferenceController(context).updateNonIndexableKeys(result);
                    new WallpaperPreferenceController(context).updateNonIndexableKeys(result);
                    new ThemePreferenceController(context).updateNonIndexableKeys(result);

                    return result;
                }

                @Override
                public List<PreferenceController> getPreferenceControllers(Context context) {
                    final List<PreferenceController> controllers = new ArrayList<>();
                    controllers.add(new AutoBrightnessPreferenceController(context));
                    return controllers;
                    return buildPreferenceControllers(context);
                }
            };
}
+16 −22
Original line number Diff line number Diff line
@@ -50,15 +50,7 @@ public class ManageAssist extends DashboardFragment {

    @Override
    protected List<PreferenceController> getPreferenceControllers(Context context) {
        final Lifecycle lifecycle = getLifecycle();
        final List<PreferenceController> controllers = new ArrayList<>();
        controllers.add(new DefaultAssistPreferenceController(context));
        controllers.add(new GestureAssistPreferenceController(context));
        controllers.add(new AssistContextPreferenceController(context, lifecycle));
        controllers.add(new AssistScreenshotPreferenceController(context, lifecycle));
        controllers.add(new AssistFlashScreenPreferenceController(context, lifecycle));
        controllers.add(new DefaultVoiceInputPreferenceController(context, lifecycle));
        return controllers;
        return buildPreferenceControllers(context, getLifecycle());
    }

    @Override
@@ -74,6 +66,19 @@ public class ManageAssist extends DashboardFragment {
                .setTitle(R.string.assist_footer);
    }

    private static List<PreferenceController> buildPreferenceControllers(Context context,
            Lifecycle lifecycle) {
        final List<PreferenceController> controllers = new ArrayList<>();
        controllers.add(new DefaultAssistPreferenceController(context));
        controllers.add(new GestureAssistPreferenceController(context));
        controllers.add(new AssistContextPreferenceController(context, lifecycle));
        controllers.add(new AssistScreenshotPreferenceController(context, lifecycle));
        controllers.add(new AssistFlashScreenPreferenceController(context, lifecycle));
        controllers.add(new DefaultVoiceInputPreferenceController(context, lifecycle));
        return controllers;
    }


    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {
                @Override
@@ -85,19 +90,8 @@ public class ManageAssist extends DashboardFragment {
                }

                @Override
                public List<String> getNonIndexableKeys(Context context) {
                    List<String> result = new ArrayList<>();
                    new DefaultAssistPreferenceController(context).updateNonIndexableKeys(result);
                    new GestureAssistPreferenceController(context).updateNonIndexableKeys(result);
                    new AssistContextPreferenceController(context, null)
                            .updateNonIndexableKeys(result);
                    new AssistScreenshotPreferenceController(context, null)
                            .updateNonIndexableKeys(result);
                    new AssistFlashScreenPreferenceController(context, null)
                            .updateNonIndexableKeys(result);
                    new DefaultVoiceInputPreferenceController(context, null)
                            .updateNonIndexableKeys(result);
                    return result;
                public List<PreferenceController> getPreferenceControllers(Context context) {
                    return buildPreferenceControllers(context, null /* lifecycle */);
                }
            };
}
+7 −2
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.core.lifecycle.LifecycleObserver;
import com.android.settings.core.lifecycle.events.OnResume;
import com.android.settings.overlay.FeatureFactory;
@@ -61,12 +62,16 @@ public class BuildNumberPreferenceController extends PreferenceController
    private int mDevHitCountdown;
    private boolean mProcessingLastDevHit;

    public BuildNumberPreferenceController(Context context, Activity activity, Fragment fragment) {
    public BuildNumberPreferenceController(Context context, Activity activity, Fragment fragment,
            Lifecycle lifecycle) {
        super(context);
        mActivity = activity;
        mFragment = fragment;
        mUm = UserManager.get(activity);
        mUm = UserManager.get(context);
        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
        if (lifecycle != null) {
            lifecycle.addObserver(this);
        }
    }

    @Override
+13 −10
Original line number Diff line number Diff line
@@ -184,16 +184,19 @@ public class StorageDashboardFragment extends DashboardFragment
                }

                @Override
                public List<String> getNonIndexableKeys(Context context) {
                    if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
                            .isEnabled()) {
                        return null;
                    }
                    final ManageStoragePreferenceController controller =
                            new ManageStoragePreferenceController(context);
                    final List<String> keys = new ArrayList<>();
                    controller.updateNonIndexableKeys(keys);
                    return keys;
                public List<PreferenceController> getPreferenceControllers(Context context) {
                    final StorageManager sm = context.getSystemService(StorageManager.class);
                    final UserManagerWrapper userManager =
                            new UserManagerWrapperImpl(context.getSystemService(UserManager.class));
                    final List<PreferenceController> controllers = new ArrayList<>();
                    controllers.add(new StorageSummaryDonutPreferenceController(context));
                    controllers.add(new StorageItemPreferenceController(context, null /* host */,
                            null /* volume */, new StorageManagerVolumeProvider(sm)));
                    controllers.addAll(SecondaryUserController.getSecondaryUserControllers(
                            context, userManager));
                    controllers.add(new ManageStoragePreferenceController(context));
                    return controllers;
                }

            };
}
Loading