Add a default preference controller for developer options.

- some of the preferences in the developer options page do not have a
preference controller associated with them, because they are simple
preference that do not require any update on the preference state at
all. However, they still need to be enabled/disabled when the master
developer options switch is turned on/off. Adding a default controller
to be used for these preferences.

Bug: 73955632
Test: manual
Change-Id: Ifb757dee2e5957d266ebb6ad5421d8ff9adbb142
This commit is contained in:
Doris Ling
2018-03-01 15:33:05 -08:00
parent 3a7404ec69
commit dc72c9dc52
2 changed files with 56 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.development;
import android.content.Context;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;
/**
* This controller is used for preference that has fragment or launch intent defined in the
* preference xml, and do not need any handling to update the preference state, except when the
* master developer options switch is turned on/off, the preference needs to be enabled/disabled.
*
*/
public class DefaultLaunchPreferenceController extends DeveloperOptionsPreferenceController
implements PreferenceControllerMixin {
private final String mPreferenceKey;
public DefaultLaunchPreferenceController(Context context, String preferenceKey) {
super(context);
mPreferenceKey = preferenceKey;
}
@Override
public String getPreferenceKey() {
return mPreferenceKey;
}
}

View File

@@ -449,6 +449,17 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
controllers.add(new FreeformWindowsPreferenceController(context));
controllers.add(new ShortcutManagerThrottlingPreferenceController(context));
controllers.add(new EnableGnssRawMeasFullTrackingPreferenceController(context));
controllers.add(new DefaultLaunchPreferenceController(context, "running_apps"));
controllers.add(
new DefaultLaunchPreferenceController(context, "android_o_battery_settings"));
controllers.add(new DefaultLaunchPreferenceController(context, "demo_mode"));
controllers.add(new DefaultLaunchPreferenceController(context, "quick_settings_tiles"));
controllers.add(new DefaultLaunchPreferenceController(context, "feature_flags_dashboard"));
controllers.add(
new DefaultLaunchPreferenceController(context, "default_usb_configuration"));
controllers.add(new DefaultLaunchPreferenceController(context, "density"));
controllers.add(new DefaultLaunchPreferenceController(context, "background_check"));
controllers.add(new DefaultLaunchPreferenceController(context, "inactive_apps"));
return controllers;
}