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 Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settings;
package com.android.settings;


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


import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.deviceinfo.AdditionalSystemUpdatePreferenceController;
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.RegulatoryInfoPreferenceController;
import com.android.settings.deviceinfo.SELinuxStatusPreferenceController;
import com.android.settings.deviceinfo.SELinuxStatusPreferenceController;
import com.android.settings.deviceinfo.SafetyInfoPreferenceController;
import com.android.settings.deviceinfo.SafetyInfoPreferenceController;
import com.android.settings.deviceinfo.SafetyLegalPreferenceController;
import com.android.settings.deviceinfo.SecurityPatchPreferenceController;
import com.android.settings.deviceinfo.SecurityPatchPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
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 static final String LOG_TAG = "DeviceInfoSettings";


    private BuildNumberPreferenceController mBuildNumberPreferenceController;

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


    @Override
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
    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;
            return;
        }
        }
        super.onActivityResult(requestCode, resultCode, data);
        super.onActivityResult(requestCode, resultCode, data);
@@ -83,24 +84,8 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {


    @Override
    @Override
    protected List<PreferenceController> getPreferenceControllers(Context context) {
    protected List<PreferenceController> getPreferenceControllers(Context context) {
        final List<PreferenceController> controllers = new ArrayList<>();
        return buildPreferenceControllers(context, getActivity(), this /* fragment */,
        mBuildNumberPreferenceController =
                getLifecycle());
                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;
    }
    }


    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
    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.
     * For Search.
     */
     */
@@ -146,19 +151,9 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
                }
                }


                @Override
                @Override
                public List<String> getNonIndexableKeys(Context context) {
                public List<PreferenceController> getPreferenceControllers(Context context) {
                    final List<String> keys = new ArrayList<>();
                    return buildPreferenceControllers(context, null /*activity */,
                    new SafetyLegalPreferenceController(context).updateNonIndexableKeys(keys);
                            null /* fragment */, null /* lifecycle */);
                    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;
                }
                }
            };
            };
}
}
+10 −30
Original line number Original line Diff line number Diff line
@@ -69,6 +69,15 @@ public class DisplaySettings extends DashboardFragment {


    @Override
    @Override
    protected List<PreferenceController> getPreferenceControllers(Context context) {
    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<>();
        final List<PreferenceController> controllers = new ArrayList<>();
        controllers.add(new AutoBrightnessPreferenceController(context));
        controllers.add(new AutoBrightnessPreferenceController(context));
        controllers.add(new AutoRotatePreferenceController(context));
        controllers.add(new AutoRotatePreferenceController(context));
@@ -87,11 +96,6 @@ public class DisplaySettings extends DashboardFragment {
        return controllers;
        return controllers;
    }
    }


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

    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {
            new BaseSearchIndexProvider() {
                @Override
                @Override
@@ -105,33 +109,9 @@ public class DisplaySettings extends DashboardFragment {
                    return result;
                    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
                @Override
                public List<PreferenceController> getPreferenceControllers(Context context) {
                public List<PreferenceController> getPreferenceControllers(Context context) {
                    final List<PreferenceController> controllers = new ArrayList<>();
                    return buildPreferenceControllers(context);
                    controllers.add(new AutoBrightnessPreferenceController(context));
                    return controllers;
                }
                }
            };
            };
}
}
+16 −22
Original line number Original line Diff line number Diff line
@@ -50,15 +50,7 @@ public class ManageAssist extends DashboardFragment {


    @Override
    @Override
    protected List<PreferenceController> getPreferenceControllers(Context context) {
    protected List<PreferenceController> getPreferenceControllers(Context context) {
        final Lifecycle lifecycle = getLifecycle();
        return buildPreferenceControllers(context, 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;
    }
    }


    @Override
    @Override
@@ -74,6 +66,19 @@ public class ManageAssist extends DashboardFragment {
                .setTitle(R.string.assist_footer);
                .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 =
    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {
            new BaseSearchIndexProvider() {
                @Override
                @Override
@@ -85,19 +90,8 @@ public class ManageAssist extends DashboardFragment {
                }
                }


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


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


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


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

            };
            };
}
}
Loading