summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTony Mantler <nicoya@google.com>2017-06-13 13:09:25 -0700
committerTony Mantler <nicoya@google.com>2017-06-26 10:58:36 -0700
commit1d583e125faf3ae4c9cd82636d8f3ecf1cdec3aa (patch)
tree57a949e2cd7d90057cf387c07a6b215e002205e9 /src
parent4bac4215383227edf77a139e6f33bcc5689996b7 (diff)
downloadpackages_apps_Settings-1d583e125faf3ae4c9cd82636d8f3ecf1cdec3aa.tar.gz
packages_apps_Settings-1d583e125faf3ae4c9cd82636d8f3ecf1cdec3aa.tar.bz2
packages_apps_Settings-1d583e125faf3ae4c9cd82636d8f3ecf1cdec3aa.zip
Make PreferenceController a mixin
Bug: 62912136 Test: Existing tests in BaseSearchIndexProviderTest Change-Id: Ieda359806c09a019840b2005446c7ec8b61fdb00
Diffstat (limited to 'src')
-rw-r--r--src/com/android/settings/DateTimeSettings.java6
-rw-r--r--src/com/android/settings/DeviceInfoSettings.java10
-rw-r--r--src/com/android/settings/DisplaySettings.java10
-rw-r--r--src/com/android/settings/accounts/AccountDetailDashboardFragment.java6
-rw-r--r--src/com/android/settings/accounts/AccountHeaderPreferenceController.java6
-rw-r--r--src/com/android/settings/accounts/AccountPreferenceController.java7
-rw-r--r--src/com/android/settings/accounts/AccountSyncPreferenceController.java6
-rw-r--r--src/com/android/settings/accounts/AddUserWhenLockedPreferenceController.java8
-rw-r--r--src/com/android/settings/accounts/AutoSyncDataPreferenceController.java6
-rw-r--r--src/com/android/settings/accounts/EmergencyInfoPreferenceController.java7
-rw-r--r--src/com/android/settings/accounts/RemoveAccountPreferenceController.java8
-rw-r--r--src/com/android/settings/accounts/UserAndAccountDashboardFragment.java10
-rw-r--r--src/com/android/settings/applications/AdvancedAppSettings.java10
-rw-r--r--src/com/android/settings/applications/AppAndNotificationDashboardFragment.java11
-rw-r--r--src/com/android/settings/applications/AppPermissionsPreferenceController.java7
-rw-r--r--src/com/android/settings/applications/RecentAppsPreferenceController.java16
-rw-r--r--src/com/android/settings/applications/ResetAppPrefPreferenceController.java7
-rw-r--r--src/com/android/settings/applications/SpecialAccessSettings.java4
-rw-r--r--src/com/android/settings/applications/SpecialAppAccessPreferenceController.java6
-rw-r--r--src/com/android/settings/applications/assist/AssistContextPreferenceController.java8
-rw-r--r--src/com/android/settings/applications/assist/AssistFlashScreenPreferenceController.java8
-rw-r--r--src/com/android/settings/applications/assist/AssistScreenshotPreferenceController.java8
-rw-r--r--src/com/android/settings/applications/assist/ManageAssist.java11
-rw-r--r--src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java6
-rw-r--r--src/com/android/settings/backup/BackupSettingsActivityPreferenceController.java12
-rw-r--r--src/com/android/settings/backup/BackupSettingsFragment.java9
-rw-r--r--src/com/android/settings/backup/BackupSettingsPreferenceController.java6
-rw-r--r--src/com/android/settings/bluetooth/BluetoothDetailsController.java8
-rw-r--r--src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java6
-rw-r--r--src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java8
-rw-r--r--src/com/android/settings/bluetooth/BluetoothFilesPreferenceController.java6
-rw-r--r--src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceController.java9
-rw-r--r--src/com/android/settings/bluetooth/BluetoothPairingDetail.java6
-rw-r--r--src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java6
-rw-r--r--src/com/android/settings/bluetooth/BluetoothSettings.java13
-rw-r--r--src/com/android/settings/bluetooth/BluetoothSettingsObsolete.java6
-rw-r--r--src/com/android/settings/bluetooth/DevicePickerFragment.java8
-rw-r--r--src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java6
-rw-r--r--src/com/android/settings/connecteddevice/UsbModePreferenceController.java7
-rw-r--r--src/com/android/settings/core/DynamicAvailabilityPreferenceController.java5
-rw-r--r--src/com/android/settings/core/PreferenceControllerMixin.java (renamed from src/com/android/settings/core/PreferenceController.java)25
-rw-r--r--src/com/android/settings/dashboard/DashboardFragment.java30
-rw-r--r--src/com/android/settings/dashboard/DashboardTilePlaceholderPreferenceController.java6
-rw-r--r--src/com/android/settings/dashboard/RestrictedDashboardFragment.java2
-rw-r--r--src/com/android/settings/datetime/AutoTimePreferenceController.java7
-rw-r--r--src/com/android/settings/datetime/AutoTimeZonePreferenceController.java7
-rw-r--r--src/com/android/settings/datetime/DatePreferenceController.java7
-rw-r--r--src/com/android/settings/datetime/TimeFormatPreferenceController.java6
-rw-r--r--src/com/android/settings/datetime/TimePreferenceController.java7
-rw-r--r--src/com/android/settings/datetime/TimeZonePreferenceController.java6
-rw-r--r--src/com/android/settings/development/BugReportInPowerPreferenceController.java6
-rw-r--r--src/com/android/settings/development/BugReportPreferenceController.java6
-rw-r--r--src/com/android/settings/development/CameraHalHdrplusPreferenceController.java6
-rw-r--r--src/com/android/settings/development/TelephonyMonitorPreferenceController.java6
-rw-r--r--src/com/android/settings/development/VerifyAppsOverUsbPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/AdditionalSystemUpdatePreferenceController.java7
-rw-r--r--src/com/android/settings/deviceinfo/BasebandVersionPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java7
-rw-r--r--src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/FccEquipmentIdPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/FeedbackPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/FirmwareVersionPreferenceController.java7
-rw-r--r--src/com/android/settings/deviceinfo/KernelVersionPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/ManualPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/RegulatoryInfoPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/SELinuxStatusPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/SafetyInfoPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/SafetyLegalPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/SecurityPatchPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/SerialNumberPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/StorageDashboardFragment.java18
-rw-r--r--src/com/android/settings/deviceinfo/StorageProfileFragment.java6
-rw-r--r--src/com/android/settings/deviceinfo/SystemUpdatePreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java8
-rw-r--r--src/com/android/settings/deviceinfo/storage/SecondaryUserController.java17
-rw-r--r--src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java6
-rw-r--r--src/com/android/settings/deviceinfo/storage/UserProfileController.java11
-rw-r--r--src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java8
-rw-r--r--src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java8
-rw-r--r--src/com/android/settings/display/AmbientDisplayPreferenceController.java7
-rw-r--r--src/com/android/settings/display/AmbientDisplaySettings.java11
-rw-r--r--src/com/android/settings/display/AutoBrightnessPreferenceController.java7
-rw-r--r--src/com/android/settings/display/AutoRotatePreferenceController.java8
-rw-r--r--src/com/android/settings/display/BatteryPercentagePreferenceController.java7
-rw-r--r--src/com/android/settings/display/BrightnessLevelPreferenceController.java7
-rw-r--r--src/com/android/settings/display/CameraGesturePreferenceController.java7
-rw-r--r--src/com/android/settings/display/ColorModePreferenceController.java7
-rw-r--r--src/com/android/settings/display/FontSizePreferenceController.java6
-rw-r--r--src/com/android/settings/display/LiftToWakePreferenceController.java7
-rw-r--r--src/com/android/settings/display/NightDisplayPreferenceController.java7
-rw-r--r--src/com/android/settings/display/NightModePreferenceController.java7
-rw-r--r--src/com/android/settings/display/ScreenSaverPreferenceController.java6
-rw-r--r--src/com/android/settings/display/TapToWakePreferenceController.java7
-rw-r--r--src/com/android/settings/display/ThemePreferenceController.java7
-rw-r--r--src/com/android/settings/display/TimeoutPreferenceController.java7
-rw-r--r--src/com/android/settings/display/VrDisplayPreferenceController.java6
-rw-r--r--src/com/android/settings/display/WallpaperPreferenceController.java6
-rw-r--r--src/com/android/settings/dream/CurrentDreamPreferenceController.java6
-rw-r--r--src/com/android/settings/dream/DreamSettings.java20
-rw-r--r--src/com/android/settings/dream/StartNowPreferenceController.java6
-rw-r--r--src/com/android/settings/dream/WhenToDreamPreferenceController.java6
-rw-r--r--src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java6
-rw-r--r--src/com/android/settings/enterprise/ApplicationListFragment.java6
-rw-r--r--src/com/android/settings/enterprise/ApplicationListPreferenceController.java7
-rw-r--r--src/com/android/settings/enterprise/EnterprisePrivacySettings.java14
-rw-r--r--src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListFragment.java6
-rw-r--r--src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java6
-rw-r--r--src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java7
-rw-r--r--src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java6
-rw-r--r--src/com/android/settings/fuelgauge/AppButtonsPreferenceController.java9
-rw-r--r--src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java7
-rw-r--r--src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java7
-rw-r--r--src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceController.java8
-rw-r--r--src/com/android/settings/fuelgauge/BatterySaverController.java8
-rw-r--r--src/com/android/settings/fuelgauge/PowerUsageAdvanced.java4
-rw-r--r--src/com/android/settings/fuelgauge/PowerUsageAnomalyDetails.java4
-rw-r--r--src/com/android/settings/fuelgauge/PowerUsageSummary.java8
-rw-r--r--src/com/android/settings/gestures/AssistGestureFeatureProvider.java4
-rw-r--r--src/com/android/settings/gestures/AssistGestureFeatureProviderImpl.java4
-rw-r--r--src/com/android/settings/gestures/AssistGestureSettings.java10
-rw-r--r--src/com/android/settings/gestures/CameraLiftTriggerSettings.java10
-rw-r--r--src/com/android/settings/gestures/DoubleTapPowerSettings.java10
-rw-r--r--src/com/android/settings/gestures/DoubleTapScreenSettings.java10
-rw-r--r--src/com/android/settings/gestures/DoubleTwistGestureSettings.java10
-rw-r--r--src/com/android/settings/gestures/GesturePreferenceController.java8
-rw-r--r--src/com/android/settings/gestures/PickupGestureSettings.java10
-rw-r--r--src/com/android/settings/gestures/SwipeToNotificationSettings.java10
-rw-r--r--src/com/android/settings/inputmethod/GameControllerPreferenceController.java8
-rw-r--r--src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java8
-rw-r--r--src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java6
-rw-r--r--src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java6
-rw-r--r--src/com/android/settings/language/LanguageAndInputSettings.java10
-rw-r--r--src/com/android/settings/language/PhoneLanguagePreferenceController.java6
-rw-r--r--src/com/android/settings/language/TtsPreferenceController.java6
-rw-r--r--src/com/android/settings/language/UserDictionaryPreferenceController.java6
-rw-r--r--src/com/android/settings/location/AppLocationPermissionPreferenceController.java7
-rw-r--r--src/com/android/settings/location/LocationPreferenceController.java7
-rw-r--r--src/com/android/settings/network/AirplaneModePreferenceController.java7
-rw-r--r--src/com/android/settings/network/MobileNetworkPreferenceController.java7
-rw-r--r--src/com/android/settings/network/MobilePlanPreferenceController.java7
-rw-r--r--src/com/android/settings/network/NetworkDashboardFragment.java12
-rw-r--r--src/com/android/settings/network/NetworkResetPreferenceController.java6
-rw-r--r--src/com/android/settings/network/NetworkScorerPickerPreferenceController.java10
-rw-r--r--src/com/android/settings/network/ProxyPreferenceController.java6
-rw-r--r--src/com/android/settings/network/TetherPreferenceController.java7
-rw-r--r--src/com/android/settings/network/VpnPreferenceController.java7
-rw-r--r--src/com/android/settings/network/WifiCallingPreferenceController.java6
-rw-r--r--src/com/android/settings/nfc/NfcPreferenceController.java10
-rw-r--r--src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java6
-rw-r--r--src/com/android/settings/notification/BadgingNotificationPreferenceController.java9
-rw-r--r--src/com/android/settings/notification/BootSoundPreferenceController.java6
-rw-r--r--src/com/android/settings/notification/CastPreferenceController.java6
-rw-r--r--src/com/android/settings/notification/ConfigureNotificationSettings.java11
-rw-r--r--src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java6
-rw-r--r--src/com/android/settings/notification/LockScreenNotificationPreferenceController.java8
-rw-r--r--src/com/android/settings/notification/PulseNotificationPreferenceController.java8
-rw-r--r--src/com/android/settings/notification/RingtonePreferenceControllerBase.java6
-rw-r--r--src/com/android/settings/notification/SettingPrefController.java8
-rw-r--r--src/com/android/settings/notification/SoundSettings.java10
-rw-r--r--src/com/android/settings/notification/VibrateWhenRingPreferenceController.java8
-rw-r--r--src/com/android/settings/notification/WorkSoundPreferenceController.java8
-rw-r--r--src/com/android/settings/search/BaseSearchIndexProvider.java17
-rw-r--r--src/com/android/settings/search/DatabaseIndexingManager.java4
-rw-r--r--src/com/android/settings/search/DatabaseIndexingUtils.java32
-rw-r--r--src/com/android/settings/search/Indexable.java8
-rw-r--r--src/com/android/settings/security/LockscreenDashboardFragment.java10
-rw-r--r--src/com/android/settings/security/OwnerInfoPreferenceController.java7
-rw-r--r--src/com/android/settings/system/FactoryResetPreferenceController.java6
-rw-r--r--src/com/android/settings/system/ResetDashboardFragment.java10
-rw-r--r--src/com/android/settings/system/SystemDashboardFragment.java10
-rw-r--r--src/com/android/settings/wifi/CellularFallbackPreferenceController.java10
-rw-r--r--src/com/android/settings/wifi/ConfigureWifiSettings.java7
-rw-r--r--src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java11
-rw-r--r--src/com/android/settings/wifi/UseOpenWifiPreferenceController.java12
-rw-r--r--src/com/android/settings/wifi/WifiInfoPreferenceController.java9
-rw-r--r--src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java7
-rw-r--r--src/com/android/settings/wifi/WifiWakeupPreferenceController.java10
-rw-r--r--src/com/android/settings/wifi/WpsPreferenceController.java9
-rw-r--r--src/com/android/settings/wifi/details/WifiDetailPreferenceController.java9
-rw-r--r--src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java6
-rw-r--r--src/com/android/settings/wifi/p2p/P2pCategoryPreferenceController.java6
-rw-r--r--src/com/android/settings/wifi/p2p/P2pThisDevicePreferenceController.java6
-rw-r--r--src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java9
-rw-r--r--src/com/android/settings/wifi/p2p/WifiP2pSettings.java6
-rw-r--r--src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java7
-rw-r--r--src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java7
-rw-r--r--src/com/android/settings/wifi/tether/WifiTetherSettings.java12
188 files changed, 862 insertions, 637 deletions
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index 326f200c22..2afbdb23ae 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -24,7 +24,6 @@ import android.os.UserManager;
import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.datetime.AutoTimePreferenceController;
@@ -36,6 +35,7 @@ import com.android.settings.datetime.TimePreferenceController;
import com.android.settings.datetime.TimeZonePreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.datetime.ZoneGetter;
import java.util.ArrayList;
@@ -72,8 +72,8 @@ public class DateTimeSettings extends DashboardFragment implements
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
final Activity activity = getActivity();
final Intent intent = activity.getIntent();
final boolean isFromSUW = intent.getBooleanExtra(EXTRA_IS_FROM_SUW, false);
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index 0805e4b989..7ca52e27bc 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -23,7 +23,6 @@ import android.content.Intent;
import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.deviceinfo.AdditionalSystemUpdatePreferenceController;
@@ -41,6 +40,7 @@ import com.android.settings.deviceinfo.SafetyInfoPreferenceController;
import com.android.settings.deviceinfo.SecurityPatchPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -84,7 +84,7 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getActivity(), this /* fragment */,
getLifecycle());
}
@@ -114,9 +114,9 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
}
};
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Activity activity, Fragment fragment, Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(
new BuildNumberPreferenceController(context, activity, fragment, lifecycle));
controllers.add(new AdditionalSystemUpdatePreferenceController(context));
@@ -149,7 +149,7 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /*activity */,
null /* fragment */, null /* lifecycle */);
}
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 9ce4c4ad98..a7d18df450 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -21,7 +21,6 @@ import android.provider.SearchIndexableResource;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.display.AmbientDisplayPreferenceController;
import com.android.settings.display.AutoBrightnessPreferenceController;
@@ -41,6 +40,7 @@ import com.android.settings.display.VrDisplayPreferenceController;
import com.android.settings.display.WallpaperPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -77,7 +77,7 @@ public class DisplaySettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
@@ -86,9 +86,9 @@ public class DisplaySettings extends DashboardFragment {
return R.string.help_uri_display;
}
- private static List<PreferenceController> buildPreferenceControllers(
+ private static List<AbstractPreferenceController> buildPreferenceControllers(
Context context, Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
final AmbientDisplayConfiguration ambientDisplayConfig = new AmbientDisplayConfiguration(context);
controllers.add(new AutoBrightnessPreferenceController(context, KEY_AUTO_BRIGHTNESS));
controllers.add(new AutoRotatePreferenceController(context, lifecycle));
@@ -131,7 +131,7 @@ public class DisplaySettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null);
}
};
diff --git a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
index a895e4070c..a74b896634 100644
--- a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
+++ b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
@@ -27,9 +27,9 @@ import android.support.v7.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.accounts.AuthenticatorHelper;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.drawer.Tile;
import java.util.ArrayList;
@@ -108,8 +108,8 @@ public class AccountDetailDashboardFragment extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
mAccountSynController = new AccountSyncPreferenceController(context);
controllers.add(mAccountSynController);
mRemoveAccountController = new RemoveAccountPreferenceController(context, this);
diff --git a/src/com/android/settings/accounts/AccountHeaderPreferenceController.java b/src/com/android/settings/accounts/AccountHeaderPreferenceController.java
index d0ce58d9f5..eda75b242b 100644
--- a/src/com/android/settings/accounts/AccountHeaderPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountHeaderPreferenceController.java
@@ -26,15 +26,17 @@ import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.applications.LayoutPreference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.accounts.AuthenticatorHelper;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import static com.android.settings.accounts.AccountDetailDashboardFragment.KEY_ACCOUNT;
import static com.android.settings.accounts.AccountDetailDashboardFragment.KEY_USER_HANDLE;
-public class AccountHeaderPreferenceController extends PreferenceController {
+public class AccountHeaderPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_ACCOUNT_HEADER = "account_header";
diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java
index adb0659270..246baff273 100644
--- a/src/com/android/settings/accounts/AccountPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountPreferenceController.java
@@ -51,13 +51,14 @@ import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.SearchFeatureProviderImpl;
import com.android.settings.search.SearchIndexableRaw;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.accounts.AuthenticatorHelper;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -67,8 +68,8 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
-public class AccountPreferenceController extends PreferenceController
- implements AuthenticatorHelper.OnAccountsUpdateListener,
+public class AccountPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, AuthenticatorHelper.OnAccountsUpdateListener,
OnPreferenceClickListener, LifecycleObserver, OnPause, OnResume {
private static final String TAG = "AccountPrefController";
diff --git a/src/com/android/settings/accounts/AccountSyncPreferenceController.java b/src/com/android/settings/accounts/AccountSyncPreferenceController.java
index 0b095f7b68..847bb038ee 100644
--- a/src/com/android/settings/accounts/AccountSyncPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountSyncPreferenceController.java
@@ -27,9 +27,11 @@ import android.support.v7.preference.Preference;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class AccountSyncPreferenceController extends PreferenceController {
+public class AccountSyncPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String TAG = "AccountSyncController";
private static final String KEY_ACCOUNT_SYNC = "account_sync";
diff --git a/src/com/android/settings/accounts/AddUserWhenLockedPreferenceController.java b/src/com/android/settings/accounts/AddUserWhenLockedPreferenceController.java
index a3dd94d1c7..f2f230760b 100644
--- a/src/com/android/settings/accounts/AddUserWhenLockedPreferenceController.java
+++ b/src/com/android/settings/accounts/AddUserWhenLockedPreferenceController.java
@@ -19,15 +19,17 @@ import android.content.Context;
import android.provider.Settings.Global;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.users.UserCapabilities;
import com.android.settingslib.RestrictedSwitchPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class AddUserWhenLockedPreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener, LifecycleObserver, OnPause, OnResume {
+public class AddUserWhenLockedPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnPause, OnResume {
private static final String KEY_ADD_USER_WHEN_LOCKED = "add_users_when_locked";
diff --git a/src/com/android/settings/accounts/AutoSyncDataPreferenceController.java b/src/com/android/settings/accounts/AutoSyncDataPreferenceController.java
index f5d7b64d0a..128e88dee4 100644
--- a/src/com/android/settings/accounts/AutoSyncDataPreferenceController.java
+++ b/src/com/android/settings/accounts/AutoSyncDataPreferenceController.java
@@ -32,10 +32,12 @@ import android.util.Log;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class AutoSyncDataPreferenceController extends PreferenceController {
+public class AutoSyncDataPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String TAG = "AutoSyncDataController";
private static final String TAG_CONFIRM_AUTO_SYNC_CHANGE = "confirmAutoSyncChange";
diff --git a/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
index 0c53041185..e1aeeb242b 100644
--- a/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
+++ b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
@@ -23,15 +23,16 @@ import android.content.res.Resources;
import android.os.UserHandle;
import android.os.UserManager;
import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
-public class EmergencyInfoPreferenceController extends PreferenceController {
+public class EmergencyInfoPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_EMERGENCY_INFO = "emergency_info";
private static final String ACTION_EDIT_EMERGENCY_INFO = "android.settings.EDIT_EMERGENCY_INFO";
diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
index f331144a59..dabb4ede6e 100644
--- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
+++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
@@ -29,7 +29,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
-import android.os.Process;
import android.os.UserHandle;
import android.support.v7.preference.PreferenceScreen;
import android.view.View;
@@ -39,13 +38,14 @@ import android.widget.Button;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.applications.LayoutPreference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.io.IOException;
-public class RemoveAccountPreferenceController extends PreferenceController
- implements OnClickListener {
+public class RemoveAccountPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, OnClickListener {
private static final String KEY_REMOVE_ACCOUNT = "remove_account";
diff --git a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
index d8b19a1f2a..f375cf8f7c 100644
--- a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
+++ b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
@@ -15,6 +15,8 @@
*/
package com.android.settings.accounts;
+import static android.provider.Settings.EXTRA_AUTHORITIES;
+
import android.app.Activity;
import android.content.Context;
import android.content.pm.UserInfo;
@@ -25,18 +27,16 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.drawer.Tile;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import static android.provider.Settings.EXTRA_AUTHORITIES;
-
public class UserAndAccountDashboardFragment extends DashboardFragment {
private static final String TAG = "UserAndAccountDashboard";
@@ -63,8 +63,8 @@ public class UserAndAccountDashboardFragment extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new EmergencyInfoPreferenceController(context));
AddUserWhenLockedPreferenceController addUserWhenLockedPrefController =
new AddUserWhenLockedPreferenceController(context);
diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java
index b623801db7..a237bb85a5 100644
--- a/src/com/android/settings/applications/AdvancedAppSettings.java
+++ b/src/com/android/settings/applications/AdvancedAppSettings.java
@@ -29,11 +29,11 @@ import com.android.settings.applications.defaultapps.DefaultPhonePreferenceContr
import com.android.settings.applications.defaultapps.DefaultSmsPreferenceController;
import com.android.settings.applications.defaultapps.DefaultWorkBrowserPreferenceController;
import com.android.settings.applications.defaultapps.DefaultWorkPhonePreferenceController;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.Arrays;
@@ -56,7 +56,7 @@ public class AdvancedAppSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context);
}
@@ -65,8 +65,8 @@ public class AdvancedAppSettings extends DashboardFragment {
return MetricsEvent.APPLICATIONS_ADVANCED;
}
- private static List<PreferenceController> buildPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new DefaultBrowserPreferenceController(context));
controllers.add(new DefaultWorkBrowserPreferenceController(context));
controllers.add(new DefaultPhonePreferenceController(context));
@@ -100,7 +100,7 @@ public class AdvancedAppSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context);
}
};
diff --git a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
index 910b991037..dda55e4683 100644
--- a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
+++ b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
@@ -24,10 +24,10 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.notification.EmergencyBroadcastPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.Arrays;
@@ -64,7 +64,7 @@ public class AppAndNotificationDashboardFragment extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
final Activity activity = getActivity();
final Application app;
if (activity != null) {
@@ -75,9 +75,9 @@ public class AppAndNotificationDashboardFragment extends DashboardFragment {
return buildPreferenceControllers(context, app, this);
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Application app, Fragment host) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new EmergencyBroadcastPreferenceController(context,
"app_and_notif_cell_broadcast_settings"));
controllers.add(new SpecialAppAccessPreferenceController(context));
@@ -97,7 +97,8 @@ public class AppAndNotificationDashboardFragment extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(
+ Context context) {
return buildPreferenceControllers(context, null, null /* host */);
}
diff --git a/src/com/android/settings/applications/AppPermissionsPreferenceController.java b/src/com/android/settings/applications/AppPermissionsPreferenceController.java
index 57ec6d800d..f6a2271732 100644
--- a/src/com/android/settings/applications/AppPermissionsPreferenceController.java
+++ b/src/com/android/settings/applications/AppPermissionsPreferenceController.java
@@ -24,11 +24,14 @@ import android.text.TextUtils;
import android.util.ArraySet;
import android.util.Log;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
+
import java.util.List;
import java.util.Set;
-public class AppPermissionsPreferenceController extends PreferenceController {
+public class AppPermissionsPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String TAG = "AppPermissionPrefCtrl";
private static final String KEY_APP_PERMISSION_GROUPS = "manage_perms";
diff --git a/src/com/android/settings/applications/RecentAppsPreferenceController.java b/src/com/android/settings/applications/RecentAppsPreferenceController.java
index dd9560537d..d0f7584eae 100644
--- a/src/com/android/settings/applications/RecentAppsPreferenceController.java
+++ b/src/com/android/settings/applications/RecentAppsPreferenceController.java
@@ -16,6 +16,9 @@
package com.android.settings.applications;
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent
+ .SETTINGS_APP_NOTIF_CATEGORY;
+
import android.app.Application;
import android.app.Fragment;
import android.app.usage.UsageStats;
@@ -29,7 +32,6 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
-import android.text.format.DateUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.IconDrawableFactory;
@@ -37,8 +39,9 @@ import android.util.Log;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.Arrays;
@@ -49,15 +52,12 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import static com.android.internal.logging.nano.MetricsProto.MetricsEvent
- .SETTINGS_APP_NOTIF_CATEGORY;
-
/**
* This controller displays a list of recently used apps and a "See all" button. If there is
* no recently used app, "See all" will be displayed as "App info".
*/
-public class RecentAppsPreferenceController extends PreferenceController
- implements Comparator<UsageStats> {
+public class RecentAppsPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Comparator<UsageStats> {
private static final String TAG = "RecentAppsCtrl";
private static final String KEY_PREF_CATEGORY = "recent_apps_category";
@@ -122,7 +122,7 @@ public class RecentAppsPreferenceController extends PreferenceController
@Override
public void updateNonIndexableKeys(List<String> keys) {
- super.updateNonIndexableKeys(keys);
+ PreferenceControllerMixin.super.updateNonIndexableKeys(keys);
// Don't index category name into search. It's not actionable.
keys.add(KEY_PREF_CATEGORY);
keys.add(KEY_DIVIDER);
diff --git a/src/com/android/settings/applications/ResetAppPrefPreferenceController.java b/src/com/android/settings/applications/ResetAppPrefPreferenceController.java
index 6c99a2ed7b..2766c59f22 100644
--- a/src/com/android/settings/applications/ResetAppPrefPreferenceController.java
+++ b/src/com/android/settings/applications/ResetAppPrefPreferenceController.java
@@ -21,14 +21,15 @@ import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnCreate;
import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;
-public class ResetAppPrefPreferenceController extends PreferenceController
- implements LifecycleObserver, OnCreate, OnSaveInstanceState {
+public class ResetAppPrefPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnCreate, OnSaveInstanceState {
private ResetAppsHelper mResetAppsHelper;
diff --git a/src/com/android/settings/applications/SpecialAccessSettings.java b/src/com/android/settings/applications/SpecialAccessSettings.java
index cbd102eba3..b71b84d796 100644
--- a/src/com/android/settings/applications/SpecialAccessSettings.java
+++ b/src/com/android/settings/applications/SpecialAccessSettings.java
@@ -22,10 +22,10 @@ import android.support.v7.preference.Preference;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.List;
@@ -62,7 +62,7 @@ public class SpecialAccessSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return null;
}
diff --git a/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java b/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java
index 3735c0158a..ae578d00c8 100644
--- a/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java
+++ b/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java
@@ -16,10 +16,12 @@ package com.android.settings.applications;
import android.content.Context;
import android.support.v7.preference.Preference;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.datausage.DataSaverBackend;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class SpecialAppAccessPreferenceController extends PreferenceController {
+public class SpecialAppAccessPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_SPECIAL_ACCESS = "special_access";
diff --git a/src/com/android/settings/applications/assist/AssistContextPreferenceController.java b/src/com/android/settings/applications/assist/AssistContextPreferenceController.java
index 4a8e9c2206..f54d5f4af9 100644
--- a/src/com/android/settings/applications/assist/AssistContextPreferenceController.java
+++ b/src/com/android/settings/applications/assist/AssistContextPreferenceController.java
@@ -25,7 +25,8 @@ import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.TwoStatePreference;
import com.android.internal.app.AssistUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -34,8 +35,9 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
import java.util.Arrays;
import java.util.List;
-public class AssistContextPreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class AssistContextPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnResume, OnPause {
private static final String KEY_CONTEXT = "context";
diff --git a/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceController.java b/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceController.java
index faee23dd9b..083ab425a6 100644
--- a/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceController.java
+++ b/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceController.java
@@ -27,7 +27,8 @@ import android.support.v7.preference.TwoStatePreference;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.AssistUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -36,8 +37,9 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
import java.util.Arrays;
import java.util.List;
-public class AssistFlashScreenPreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class AssistFlashScreenPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnResume, OnPause {
private static final String KEY_FLASH = "flash";
diff --git a/src/com/android/settings/applications/assist/AssistScreenshotPreferenceController.java b/src/com/android/settings/applications/assist/AssistScreenshotPreferenceController.java
index fb7be629be..0e3d621f12 100644
--- a/src/com/android/settings/applications/assist/AssistScreenshotPreferenceController.java
+++ b/src/com/android/settings/applications/assist/AssistScreenshotPreferenceController.java
@@ -25,7 +25,8 @@ import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.TwoStatePreference;
import com.android.internal.app.AssistUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -34,8 +35,9 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
import java.util.Arrays;
import java.util.List;
-public class AssistScreenshotPreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class AssistScreenshotPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnResume, OnPause {
private static final String KEY_SCREENSHOT = "screenshot";
diff --git a/src/com/android/settings/applications/assist/ManageAssist.java b/src/com/android/settings/applications/assist/ManageAssist.java
index 3b8edf3ea1..b3622ae2c0 100644
--- a/src/com/android/settings/applications/assist/ManageAssist.java
+++ b/src/com/android/settings/applications/assist/ManageAssist.java
@@ -21,11 +21,11 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.gestures.AssistGesturePreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -51,7 +51,7 @@ public class ManageAssist extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
@@ -68,9 +68,9 @@ public class ManageAssist extends DashboardFragment {
.setTitle(R.string.assist_footer);
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new DefaultAssistPreferenceController(context));
controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST));
controllers.add(new AssistContextPreferenceController(context, lifecycle));
@@ -92,7 +92,8 @@ public class ManageAssist extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(
+ Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java
index b53a335fdb..6b60abcc16 100644
--- a/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java
+++ b/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java
@@ -27,10 +27,12 @@ import android.util.Log;
import com.android.settings.R;
import com.android.settings.applications.PackageManagerWrapper;
import com.android.settings.applications.PackageManagerWrapperImpl;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.widget.GearPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
-public abstract class DefaultAppPreferenceController extends PreferenceController {
+public abstract class DefaultAppPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String TAG = "DefaultAppPrefControl";
diff --git a/src/com/android/settings/backup/BackupSettingsActivityPreferenceController.java b/src/com/android/settings/backup/BackupSettingsActivityPreferenceController.java
index 8e0f922dfb..afc13b47d1 100644
--- a/src/com/android/settings/backup/BackupSettingsActivityPreferenceController.java
+++ b/src/com/android/settings/backup/BackupSettingsActivityPreferenceController.java
@@ -18,19 +18,15 @@ package com.android.settings.backup;
import android.app.backup.BackupManager;
import android.content.Context;
-import android.os.Build;
-import android.os.RemoteException;
-import android.os.ServiceManager;
import android.os.UserManager;
import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceScreen;
-import android.util.Log;
import com.android.settings.R;
-import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class BackupSettingsActivityPreferenceController extends PreferenceController {
+public class BackupSettingsActivityPreferenceController extends
+ AbstractPreferenceController implements PreferenceControllerMixin {
private static final String KEY_BACKUP_SETTINGS = "backup_settings";
private static final String TAG = "BackupSettingActivityPC" ;
diff --git a/src/com/android/settings/backup/BackupSettingsFragment.java b/src/com/android/settings/backup/BackupSettingsFragment.java
index a451272463..e6bb12db86 100644
--- a/src/com/android/settings/backup/BackupSettingsFragment.java
+++ b/src/com/android/settings/backup/BackupSettingsFragment.java
@@ -21,10 +21,11 @@ import android.os.Bundle;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.List;
@@ -57,11 +58,11 @@ public class BackupSettingsFragment extends DashboardFragment {
}
/**
- * Get a list of {@link PreferenceController} for this fragment.
+ * Get a list of {@link AbstractPreferenceController} for this fragment.
*/
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new BackupSettingsPreferenceController(context));
return controllers;
}
diff --git a/src/com/android/settings/backup/BackupSettingsPreferenceController.java b/src/com/android/settings/backup/BackupSettingsPreferenceController.java
index 2c4605abb2..d25d2f5e73 100644
--- a/src/com/android/settings/backup/BackupSettingsPreferenceController.java
+++ b/src/com/android/settings/backup/BackupSettingsPreferenceController.java
@@ -22,9 +22,11 @@ import android.content.Intent;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class BackupSettingsPreferenceController extends PreferenceController {
+public class BackupSettingsPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String BACKUP_SETTINGS = "backup_settings";
private static final String MANUFACTURER_SETTINGS = "manufacturer_backup";
private Intent mBackupSettingsIntent;
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsController.java
index 73e9f31c68..265690bdb5 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsController.java
@@ -20,8 +20,9 @@ import android.content.Context;
import android.support.v14.preference.PreferenceFragment;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -31,8 +32,9 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
* This class provides common lifecycle and bluetooth device event registration for Bluetooth device
* details controllers.
*/
-public abstract class BluetoothDetailsController extends PreferenceController
- implements CachedBluetoothDevice.Callback, LifecycleObserver, OnPause, OnResume {
+public abstract class BluetoothDetailsController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, CachedBluetoothDevice.Callback, LifecycleObserver,
+ OnPause, OnResume {
protected final Context mContext;
protected final PreferenceFragment mFragment;
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index c81e1eef42..d09887c3a1 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -23,10 +23,10 @@ import android.content.Context;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -64,8 +64,8 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- ArrayList<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ ArrayList<AbstractPreferenceController> controllers = new ArrayList<>();
LocalBluetoothManager manager = Utils.getLocalBtManager(context);
BluetoothDevice remoteDevice = manager.getBluetoothAdapter().getRemoteDevice(
mDeviceAddress);
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java b/src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java
index baab3fcf88..5c521dd7e8 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java
@@ -32,20 +32,20 @@ import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnResume;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
/**
* Controller that shows and updates the bluetooth device name
*/
-public class BluetoothDeviceNamePreferenceController extends PreferenceController implements
- LifecycleObserver, OnStart, OnStop {
+public class BluetoothDeviceNamePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop {
private static final String TAG = "BluetoothNamePrefCtrl";
public static final String KEY_DEVICE_NAME = "device_name";
diff --git a/src/com/android/settings/bluetooth/BluetoothFilesPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothFilesPreferenceController.java
index c425cdc313..450c7b2320 100644
--- a/src/com/android/settings/bluetooth/BluetoothFilesPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothFilesPreferenceController.java
@@ -22,14 +22,16 @@ import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
/**
* Controller that shows received files
*/
-public class BluetoothFilesPreferenceController extends PreferenceController {
+public class BluetoothFilesPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String TAG = "BluetoothFilesPrefCtrl";
public static final String KEY_RECEIVED_FILES = "bt_received_files";
diff --git a/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceController.java
index 6d474ee669..4f775e7ce5 100644
--- a/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceController.java
@@ -25,21 +25,22 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.MasterSwitchController;
import com.android.settings.widget.MasterSwitchPreference;
import com.android.settings.widget.SummaryUpdater.OnSummaryChangeListener;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
-public class BluetoothMasterSwitchPreferenceController extends PreferenceController
- implements OnSummaryChangeListener,
- LifecycleObserver, OnResume, OnPause, OnStart, OnStop {
+public class BluetoothMasterSwitchPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, OnSummaryChangeListener, LifecycleObserver, OnResume,
+ OnPause, OnStart, OnStop {
public static final String KEY_TOGGLE_BLUETOOTH = "toggle_bluetooth";
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
index 6545ed1f94..8adfeabeea 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
@@ -26,10 +26,10 @@ import android.support.annotation.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.search.Indexable;
import com.android.settingslib.bluetooth.BluetoothDeviceFilter;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.widget.FooterPreference;
import java.util.ArrayList;
@@ -185,8 +185,8 @@ public class BluetoothPairingDetail extends DeviceListPreferenceFragment impleme
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ List<AbstractPreferenceController> controllers = new ArrayList<>();
mDeviceNamePrefController = new BluetoothDeviceNamePreferenceController(context,
this, getLifecycle());
controllers.add(mDeviceNamePrefController);
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java
index ab99aad73c..5141b5cff3 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java
@@ -22,14 +22,16 @@ import android.support.v7.preference.Preference;
import android.os.UserHandle;
import com.android.settings.SettingsActivity;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
/**
* Controller that shows and updates the bluetooth device name
*/
-public class BluetoothPairingPreferenceController extends PreferenceController {
+public class BluetoothPairingPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String TAG = "BluetoothPairingPrefCtrl";
public static final String KEY_PAIRING = "pref_bt_pairing";
diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index 47030315f8..ce7c59d050 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -16,8 +16,9 @@
package com.android.settings.bluetooth;
+import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH;
+
import android.app.Activity;
-import android.app.Fragment;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.ContentResolver;
@@ -25,7 +26,6 @@ import android.content.Context;
import android.content.IntentFilter;
import android.content.res.Resources;
import android.os.Bundle;
-import android.os.SystemProperties;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
@@ -40,7 +40,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.LinkifyUtils;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.location.ScanningSettings;
import com.android.settings.overlay.FeatureFactory;
@@ -55,13 +54,11 @@ import com.android.settingslib.bluetooth.BluetoothDeviceFilter;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.widget.FooterPreference;
import java.util.ArrayList;
import java.util.List;
-import java.util.Set;
-
-import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH;
/**
* BluetoothSettings is the Settings screen for Bluetooth configuration and
@@ -356,8 +353,8 @@ public class BluetoothSettings extends DeviceListPreferenceFragment implements I
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ List<AbstractPreferenceController> controllers = new ArrayList<>();
mDeviceNamePrefController = new BluetoothDeviceNamePreferenceController(context,
this, getLifecycle());
mPairingPrefController = new BluetoothPairingPreferenceController(context, this,
diff --git a/src/com/android/settings/bluetooth/BluetoothSettingsObsolete.java b/src/com/android/settings/bluetooth/BluetoothSettingsObsolete.java
index 207d313a46..19c1e9c782 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettingsObsolete.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettingsObsolete.java
@@ -48,7 +48,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.LinkifyUtils;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.location.ScanningSettings;
import com.android.settings.overlay.FeatureFactory;
@@ -63,6 +62,7 @@ import com.android.settingslib.bluetooth.BluetoothDeviceFilter;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.widget.FooterPreference;
import java.util.ArrayList;
@@ -525,8 +525,8 @@ public class BluetoothSettingsObsolete extends DeviceListPreferenceObsoleteFragm
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ List<AbstractPreferenceController> controllers = new ArrayList<>();
mDeviceNamePrefController = new BluetoothDeviceNamePreferenceController(context,
this, getLifecycle());
controllers.add(mDeviceNamePrefController);
diff --git a/src/com/android/settings/bluetooth/DevicePickerFragment.java b/src/com/android/settings/bluetooth/DevicePickerFragment.java
index 60470c5302..789804182f 100644
--- a/src/com/android/settings/bluetooth/DevicePickerFragment.java
+++ b/src/com/android/settings/bluetooth/DevicePickerFragment.java
@@ -16,6 +16,8 @@
package com.android.settings.bluetooth;
+import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH;
+
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothDevicePicker;
@@ -28,10 +30,8 @@ import android.view.MenuInflater;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
-
-import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
@@ -157,7 +157,7 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return null;
}
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
index 52028b3e5d..e73da62cb1 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
@@ -26,13 +26,13 @@ import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.bluetooth.BluetoothMasterSwitchPreferenceController;
import com.android.settings.bluetooth.Utils;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.deviceinfo.UsbBackend;
import com.android.settings.nfc.NfcPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -65,8 +65,8 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
final Lifecycle lifecycle = getLifecycle();
final NfcPreferenceController nfcPreferenceController =
new NfcPreferenceController(context);
diff --git a/src/com/android/settings/connecteddevice/UsbModePreferenceController.java b/src/com/android/settings/connecteddevice/UsbModePreferenceController.java
index 9c9ed1265c..a6cb9be1e7 100644
--- a/src/com/android/settings/connecteddevice/UsbModePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/UsbModePreferenceController.java
@@ -24,15 +24,16 @@ import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.R;
import com.android.settings.deviceinfo.UsbBackend;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class UsbModePreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume, OnPause {
+public class UsbModePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
private static final String KEY_USB_MODE = "usb_mode";
diff --git a/src/com/android/settings/core/DynamicAvailabilityPreferenceController.java b/src/com/android/settings/core/DynamicAvailabilityPreferenceController.java
index df6ccd31ab..04a561cb54 100644
--- a/src/com/android/settings/core/DynamicAvailabilityPreferenceController.java
+++ b/src/com/android/settings/core/DynamicAvailabilityPreferenceController.java
@@ -20,12 +20,13 @@ import android.content.Context;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public abstract class DynamicAvailabilityPreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume {
+public abstract class DynamicAvailabilityPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume {
private Preference mPreference;
private PreferenceScreen mScreen;
diff --git a/src/com/android/settings/core/PreferenceController.java b/src/com/android/settings/core/PreferenceControllerMixin.java
index 2b3a7ab371..0f602109fb 100644
--- a/src/com/android/settings/core/PreferenceController.java
+++ b/src/com/android/settings/core/PreferenceControllerMixin.java
@@ -15,21 +15,28 @@
*/
package com.android.settings.core;
-import android.content.Context;
-
-import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.search.ResultPayload;
+import com.android.settings.search.SearchIndexableRaw;
import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
/**
- * A controller that manages event for preference.
+ * A controller mixin that adds mobile settings specific functionality
*/
-public abstract class PreferenceController extends AbstractPreferenceController {
+public interface PreferenceControllerMixin {
- public PreferenceController(Context context) {
- super(context);
+ /**
+ * Updates non-indexable keys for search provider.
+ *
+ * Called by SearchIndexProvider#getNonIndexableKeys
+ */
+ default void updateNonIndexableKeys(List<String> keys) {
+ if (this instanceof AbstractPreferenceController) {
+ if (!((AbstractPreferenceController) this).isAvailable()) {
+ keys.add(((AbstractPreferenceController) this).getPreferenceKey());
+ }
+ }
}
/**
@@ -37,13 +44,13 @@ public abstract class PreferenceController extends AbstractPreferenceController
*
* Called by SearchIndexProvider#getRawDataToIndex
*/
- public void updateRawDataToIndex(List<SearchIndexableRaw> rawData) {
+ default void updateRawDataToIndex(List<SearchIndexableRaw> rawData) {
}
/**
* @return the {@link ResultPayload} corresponding to the search result type for the preference.
*/
- public ResultPayload getResultPayload() {
+ default ResultPayload getResultPayload() {
return null;
}
}
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 8deade6ffc..ba42222b8d 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -32,9 +32,9 @@ import android.view.View;
import android.view.ViewGroup;
import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.core.PreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.SettingsDrawerActivity;
import com.android.settingslib.drawer.Tile;
@@ -53,7 +53,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
SummaryLoader.SummaryConsumer {
private static final String TAG = "DashboardFragment";
- private final Map<Class, PreferenceController> mPreferenceControllers =
+ private final Map<Class, AbstractPreferenceController> mPreferenceControllers =
new ArrayMap<>();
private final Set<String> mDashboardTilePrefKeys = new ArraySet<>();
@@ -72,14 +72,14 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
.getProgressiveDisclosureMixin(context, this, getArguments());
getLifecycle().addObserver(mProgressiveDisclosureMixin);
- List<PreferenceController> controllers = getPreferenceControllers(context);
+ List<AbstractPreferenceController> controllers = getPreferenceControllers(context);
if (controllers == null) {
controllers = new ArrayList<>();
}
mPlaceholderPreferenceController =
new DashboardTilePlaceholderPreferenceController(context);
controllers.add(mPlaceholderPreferenceController);
- for (PreferenceController controller : controllers) {
+ for (AbstractPreferenceController controller : controllers) {
addPreferenceController(controller);
}
}
@@ -159,12 +159,12 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
@Override
public boolean onPreferenceTreeClick(Preference preference) {
- Collection<PreferenceController> controllers = mPreferenceControllers.values();
+ Collection<AbstractPreferenceController> controllers = mPreferenceControllers.values();
// If preference contains intent, log it before handling.
mMetricsFeatureProvider.logDashboardStartIntent(
getContext(), preference.getIntent(), getMetricsCategory());
// Give all controllers a chance to handle click.
- for (PreferenceController controller : controllers) {
+ for (AbstractPreferenceController controller : controllers) {
if (controller.handlePreferenceTreeClick(preference)) {
return true;
}
@@ -188,12 +188,12 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
}
}
- protected <T extends PreferenceController> T getPreferenceController(Class<T> clazz) {
- PreferenceController controller = mPreferenceControllers.get(clazz);
+ protected <T extends AbstractPreferenceController> T getPreferenceController(Class<T> clazz) {
+ AbstractPreferenceController controller = mPreferenceControllers.get(clazz);
return (T) controller;
}
- protected void addPreferenceController(PreferenceController controller) {
+ protected void addPreferenceController(AbstractPreferenceController controller) {
mPreferenceControllers.put(controller.getClass(), controller);
}
@@ -216,9 +216,9 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
protected abstract int getPreferenceScreenResId();
/**
- * Get a list of {@link PreferenceController} for this fragment.
+ * Get a list of {@link AbstractPreferenceController} for this fragment.
*/
- protected abstract List<PreferenceController> getPreferenceControllers(Context context);
+ protected abstract List<AbstractPreferenceController> getPreferenceControllers(Context context);
/**
* Returns true if this tile should be displayed
@@ -237,8 +237,8 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
}
addPreferencesFromResource(resId);
final PreferenceScreen screen = getPreferenceScreen();
- Collection<PreferenceController> controllers = mPreferenceControllers.values();
- for (PreferenceController controller : controllers) {
+ Collection<AbstractPreferenceController> controllers = mPreferenceControllers.values();
+ for (AbstractPreferenceController controller : controllers) {
controller.displayPreference(screen);
}
}
@@ -247,9 +247,9 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
* Update state of each preference managed by PreferenceController.
*/
protected void updatePreferenceStates() {
- Collection<PreferenceController> controllers = mPreferenceControllers.values();
+ Collection<AbstractPreferenceController> controllers = mPreferenceControllers.values();
final PreferenceScreen screen = getPreferenceScreen();
- for (PreferenceController controller : controllers) {
+ for (AbstractPreferenceController controller : controllers) {
if (!controller.isAvailable()) {
continue;
}
diff --git a/src/com/android/settings/dashboard/DashboardTilePlaceholderPreferenceController.java b/src/com/android/settings/dashboard/DashboardTilePlaceholderPreferenceController.java
index eb99fb3593..97a5c3599f 100644
--- a/src/com/android/settings/dashboard/DashboardTilePlaceholderPreferenceController.java
+++ b/src/com/android/settings/dashboard/DashboardTilePlaceholderPreferenceController.java
@@ -20,7 +20,8 @@ import android.content.Context;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
/**
* PreferenceController for a dashboard_tile_placeholder, a special preference marking where
@@ -28,7 +29,8 @@ import com.android.settings.core.PreferenceController;
* preference screen in xml. If not present, all dynamic dashboard tiles will be added to the
* bottom of page.
*/
-class DashboardTilePlaceholderPreferenceController extends PreferenceController {
+class DashboardTilePlaceholderPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_PLACEHOLDER = "dashboard_tile_placeholder";
diff --git a/src/com/android/settings/dashboard/RestrictedDashboardFragment.java b/src/com/android/settings/dashboard/RestrictedDashboardFragment.java
index c2176d7206..99aaff433a 100644
--- a/src/com/android/settings/dashboard/RestrictedDashboardFragment.java
+++ b/src/com/android/settings/dashboard/RestrictedDashboardFragment.java
@@ -49,7 +49,7 @@ import com.android.settingslib.RestrictedLockUtils;
*
* This fragment is a replacement of {@link RestrictedSettingsFragment} but extends
* from {@link DashboardFragment}, so we could also use
- * {@link com.android.settings.core.PreferenceController} in this fragment.
+ * {@link com.android.settingslib.core.AbstractPreferenceController} in this fragment.
*/
public abstract class RestrictedDashboardFragment extends DashboardFragment {
diff --git a/src/com/android/settings/datetime/AutoTimePreferenceController.java b/src/com/android/settings/datetime/AutoTimePreferenceController.java
index fdeef296af..0b70f45250 100644
--- a/src/com/android/settings/datetime/AutoTimePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimePreferenceController.java
@@ -20,12 +20,13 @@ import android.content.Context;
import android.provider.Settings;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedSwitchPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class AutoTimePreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener {
+public class AutoTimePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String KEY_AUTO_TIME = "auto_time";
private final UpdateTimeAndDateCallback mCallback;
diff --git a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
index b48e535e92..8a9568a524 100644
--- a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
@@ -22,10 +22,11 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class AutoTimeZonePreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener {
+public class AutoTimeZonePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String KEY_AUTO_TIME_ZONE = "auto_zone";
diff --git a/src/com/android/settings/datetime/DatePreferenceController.java b/src/com/android/settings/datetime/DatePreferenceController.java
index 2a06e5a890..9582e9efed 100644
--- a/src/com/android/settings/datetime/DatePreferenceController.java
+++ b/src/com/android/settings/datetime/DatePreferenceController.java
@@ -26,12 +26,13 @@ import android.text.TextUtils;
import android.text.format.DateFormat;
import android.widget.DatePicker;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.Calendar;
-public class DatePreferenceController extends PreferenceController implements
- DatePickerDialog.OnDateSetListener {
+public class DatePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, DatePickerDialog.OnDateSetListener {
public interface DatePreferenceHost extends UpdateTimeAndDateCallback {
void showDatePicker();
diff --git a/src/com/android/settings/datetime/TimeFormatPreferenceController.java b/src/com/android/settings/datetime/TimeFormatPreferenceController.java
index 75fc80892a..92b371667f 100644
--- a/src/com/android/settings/datetime/TimeFormatPreferenceController.java
+++ b/src/com/android/settings/datetime/TimeFormatPreferenceController.java
@@ -25,12 +25,14 @@ import android.support.v7.preference.TwoStatePreference;
import android.text.TextUtils;
import android.text.format.DateFormat;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.Calendar;
import java.util.Date;
-public class TimeFormatPreferenceController extends PreferenceController {
+public class TimeFormatPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
static final String HOURS_12 = "12";
static final String HOURS_24 = "24";
diff --git a/src/com/android/settings/datetime/TimePreferenceController.java b/src/com/android/settings/datetime/TimePreferenceController.java
index 4862588f25..9bb5689c8f 100644
--- a/src/com/android/settings/datetime/TimePreferenceController.java
+++ b/src/com/android/settings/datetime/TimePreferenceController.java
@@ -25,12 +25,13 @@ import android.text.TextUtils;
import android.text.format.DateFormat;
import android.widget.TimePicker;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.Calendar;
-public class TimePreferenceController extends PreferenceController implements
- TimePickerDialog.OnTimeSetListener {
+public class TimePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, TimePickerDialog.OnTimeSetListener {
public interface TimePreferenceHost extends UpdateTimeAndDateCallback {
void showTimePicker();
diff --git a/src/com/android/settings/datetime/TimeZonePreferenceController.java b/src/com/android/settings/datetime/TimeZonePreferenceController.java
index f0b604e4d5..987132be66 100644
--- a/src/com/android/settings/datetime/TimeZonePreferenceController.java
+++ b/src/com/android/settings/datetime/TimeZonePreferenceController.java
@@ -20,12 +20,14 @@ import android.content.Context;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.datetime.ZoneGetter;
import java.util.Calendar;
-public class TimeZonePreferenceController extends PreferenceController {
+public class TimeZonePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_TIMEZONE = "timezone";
diff --git a/src/com/android/settings/development/BugReportInPowerPreferenceController.java b/src/com/android/settings/development/BugReportInPowerPreferenceController.java
index 47b2d0d1be..40328264d6 100644
--- a/src/com/android/settings/development/BugReportInPowerPreferenceController.java
+++ b/src/com/android/settings/development/BugReportInPowerPreferenceController.java
@@ -25,9 +25,11 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class BugReportInPowerPreferenceController extends PreferenceController {
+public class BugReportInPowerPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_BUGREPORT_IN_POWER = "bugreport_in_power";
diff --git a/src/com/android/settings/development/BugReportPreferenceController.java b/src/com/android/settings/development/BugReportPreferenceController.java
index 371fb7342d..015071fdb3 100644
--- a/src/com/android/settings/development/BugReportPreferenceController.java
+++ b/src/com/android/settings/development/BugReportPreferenceController.java
@@ -21,9 +21,11 @@ import android.os.UserManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class BugReportPreferenceController extends PreferenceController {
+public class BugReportPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_BUGREPORT = "bugreport";
diff --git a/src/com/android/settings/development/CameraHalHdrplusPreferenceController.java b/src/com/android/settings/development/CameraHalHdrplusPreferenceController.java
index d7cd28bf61..e8e2c2d8da 100644
--- a/src/com/android/settings/development/CameraHalHdrplusPreferenceController.java
+++ b/src/com/android/settings/development/CameraHalHdrplusPreferenceController.java
@@ -24,10 +24,12 @@ import android.support.v7.preference.PreferenceScreen;
import android.widget.Toast;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.core.PreferenceController;
import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class CameraHalHdrplusPreferenceController extends PreferenceController {
+public class CameraHalHdrplusPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_CAMERA_HAL_HDRPLUS_SWITCH = "camera_hal_hdrplus_switch";
@VisibleForTesting
diff --git a/src/com/android/settings/development/TelephonyMonitorPreferenceController.java b/src/com/android/settings/development/TelephonyMonitorPreferenceController.java
index c21ccda9ae..fd6825e9e5 100644
--- a/src/com/android/settings/development/TelephonyMonitorPreferenceController.java
+++ b/src/com/android/settings/development/TelephonyMonitorPreferenceController.java
@@ -24,10 +24,12 @@ import android.support.v7.preference.PreferenceScreen;
import android.widget.Toast;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class TelephonyMonitorPreferenceController extends PreferenceController {
+public class TelephonyMonitorPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_TELEPHONY_MONITOR_SWITCH = "telephony_monitor_switch";
@VisibleForTesting
diff --git a/src/com/android/settings/development/VerifyAppsOverUsbPreferenceController.java b/src/com/android/settings/development/VerifyAppsOverUsbPreferenceController.java
index c0bb0c7403..d7891c75d5 100644
--- a/src/com/android/settings/development/VerifyAppsOverUsbPreferenceController.java
+++ b/src/com/android/settings/development/VerifyAppsOverUsbPreferenceController.java
@@ -27,17 +27,19 @@ import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedSwitchPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
/**
* Controller to manage the state of "Verify apps over USB" toggle.
*/
-public class VerifyAppsOverUsbPreferenceController extends PreferenceController {
+public class VerifyAppsOverUsbPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String VERIFY_APPS_OVER_USB_KEY = "verify_apps_over_usb";
private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive";
diff --git a/src/com/android/settings/deviceinfo/AdditionalSystemUpdatePreferenceController.java b/src/com/android/settings/deviceinfo/AdditionalSystemUpdatePreferenceController.java
index 8d35ecafae..06bdb3fae8 100644
--- a/src/com/android/settings/deviceinfo/AdditionalSystemUpdatePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/AdditionalSystemUpdatePreferenceController.java
@@ -16,11 +16,12 @@
package com.android.settings.deviceinfo;
import android.content.Context;
-import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class AdditionalSystemUpdatePreferenceController extends PreferenceController {
+public class AdditionalSystemUpdatePreferenceController extends
+ AbstractPreferenceController implements PreferenceControllerMixin {
private static final String KEY_UPDATE_SETTING = "additional_system_update_settings";
diff --git a/src/com/android/settings/deviceinfo/BasebandVersionPreferenceController.java b/src/com/android/settings/deviceinfo/BasebandVersionPreferenceController.java
index 1153d12d01..018a068ec0 100644
--- a/src/com/android/settings/deviceinfo/BasebandVersionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BasebandVersionPreferenceController.java
@@ -21,9 +21,11 @@ import android.support.v7.preference.Preference;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class BasebandVersionPreferenceController extends PreferenceController {
+public class BasebandVersionPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String BASEBAND_PROPERTY = "gsm.version.baseband";
private static final String KEY_BASEBAND_VERSION = "baseband_version";
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index 92328386c5..3c44223209 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -32,19 +32,20 @@ import android.widget.Toast;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.development.DevelopmentSettings;
import com.android.settings.development.DevelopmentSettingsEnabler;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class BuildNumberPreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume {
+public class BuildNumberPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, LifecycleObserver, OnResume {
static final int TAPS_TO_BE_A_DEVELOPER = 7;
static final int REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF = 100;
diff --git a/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java b/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
index ac3870a318..f1dc415d7f 100644
--- a/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
@@ -22,10 +22,12 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.DeviceInfoUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class DeviceModelPreferenceController extends PreferenceController {
+public class DeviceModelPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_DEVICE_MODEL = "device_model";
diff --git a/src/com/android/settings/deviceinfo/FccEquipmentIdPreferenceController.java b/src/com/android/settings/deviceinfo/FccEquipmentIdPreferenceController.java
index 4f8de71034..f3d7380f04 100644
--- a/src/com/android/settings/deviceinfo/FccEquipmentIdPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/FccEquipmentIdPreferenceController.java
@@ -22,9 +22,11 @@ import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class FccEquipmentIdPreferenceController extends PreferenceController {
+public class FccEquipmentIdPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String PROPERTY_EQUIPMENT_ID = "ro.ril.fccid";
diff --git a/src/com/android/settings/deviceinfo/FeedbackPreferenceController.java b/src/com/android/settings/deviceinfo/FeedbackPreferenceController.java
index ed61a9211f..2d8941dbe3 100644
--- a/src/com/android/settings/deviceinfo/FeedbackPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/FeedbackPreferenceController.java
@@ -21,10 +21,12 @@ import android.content.Intent;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.DeviceInfoUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class FeedbackPreferenceController extends PreferenceController {
+public class FeedbackPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_DEVICE_FEEDBACK = "device_feedback";
private final Fragment mHost;
diff --git a/src/com/android/settings/deviceinfo/FirmwareVersionPreferenceController.java b/src/com/android/settings/deviceinfo/FirmwareVersionPreferenceController.java
index 1b563011e3..fd73ed5584 100644
--- a/src/com/android/settings/deviceinfo/FirmwareVersionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/FirmwareVersionPreferenceController.java
@@ -26,15 +26,16 @@ import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import android.util.Log;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class FirmwareVersionPreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume {
+public class FirmwareVersionPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, LifecycleObserver, OnResume {
private static final String TAG = "FirmwareVersionPref";
private static final String KEY_FIRMWARE_VERSION = "firmware_version";
diff --git a/src/com/android/settings/deviceinfo/KernelVersionPreferenceController.java b/src/com/android/settings/deviceinfo/KernelVersionPreferenceController.java
index 3a84c1ee34..5afed9c83e 100644
--- a/src/com/android/settings/deviceinfo/KernelVersionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/KernelVersionPreferenceController.java
@@ -18,10 +18,12 @@ package com.android.settings.deviceinfo;
import android.content.Context;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.DeviceInfoUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class KernelVersionPreferenceController extends PreferenceController {
+public class KernelVersionPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_KERNEL_VERSION = "kernel_version";
diff --git a/src/com/android/settings/deviceinfo/ManualPreferenceController.java b/src/com/android/settings/deviceinfo/ManualPreferenceController.java
index dbaa00fa87..20464a5538 100644
--- a/src/com/android/settings/deviceinfo/ManualPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/ManualPreferenceController.java
@@ -19,9 +19,11 @@ package com.android.settings.deviceinfo;
import android.content.Context;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class ManualPreferenceController extends PreferenceController {
+public class ManualPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_MANUAL = "manual";
diff --git a/src/com/android/settings/deviceinfo/RegulatoryInfoPreferenceController.java b/src/com/android/settings/deviceinfo/RegulatoryInfoPreferenceController.java
index f82fd0bcdf..c925c27c41 100644
--- a/src/com/android/settings/deviceinfo/RegulatoryInfoPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/RegulatoryInfoPreferenceController.java
@@ -19,9 +19,11 @@ import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class RegulatoryInfoPreferenceController extends PreferenceController {
+public class RegulatoryInfoPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_REGULATORY_INFO = "regulatory_info";
private static final Intent INTENT_PROBE = new Intent(Settings.ACTION_SHOW_REGULATORY_INFO);
diff --git a/src/com/android/settings/deviceinfo/SELinuxStatusPreferenceController.java b/src/com/android/settings/deviceinfo/SELinuxStatusPreferenceController.java
index b8529d2e22..058992fa08 100644
--- a/src/com/android/settings/deviceinfo/SELinuxStatusPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/SELinuxStatusPreferenceController.java
@@ -23,9 +23,11 @@ import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class SELinuxStatusPreferenceController extends PreferenceController {
+public class SELinuxStatusPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String PROPERTY_SELINUX_STATUS = "ro.build.selinux";
private static final String KEY_SELINUX_STATUS = "selinux_status";
diff --git a/src/com/android/settings/deviceinfo/SafetyInfoPreferenceController.java b/src/com/android/settings/deviceinfo/SafetyInfoPreferenceController.java
index bde4dd090d..10dbd19ef2 100644
--- a/src/com/android/settings/deviceinfo/SafetyInfoPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/SafetyInfoPreferenceController.java
@@ -19,9 +19,11 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class SafetyInfoPreferenceController extends PreferenceController {
+public class SafetyInfoPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final Intent INTENT_PROBE =
new Intent("android.settings.SHOW_SAFETY_AND_REGULATORY_INFO");
diff --git a/src/com/android/settings/deviceinfo/SafetyLegalPreferenceController.java b/src/com/android/settings/deviceinfo/SafetyLegalPreferenceController.java
index c158d64a25..c402046f5f 100644
--- a/src/com/android/settings/deviceinfo/SafetyLegalPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/SafetyLegalPreferenceController.java
@@ -19,9 +19,11 @@ import android.content.Context;
import android.os.SystemProperties;
import android.text.TextUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class SafetyLegalPreferenceController extends PreferenceController {
+public class SafetyLegalPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_SAFETY_LEGAL = "safetylegal";
private static final String PROPERTY_URL_SAFETYLEGAL = "ro.url.safetylegal";
diff --git a/src/com/android/settings/deviceinfo/SecurityPatchPreferenceController.java b/src/com/android/settings/deviceinfo/SecurityPatchPreferenceController.java
index 64a1159f59..f38602ab53 100644
--- a/src/com/android/settings/deviceinfo/SecurityPatchPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/SecurityPatchPreferenceController.java
@@ -22,10 +22,12 @@ import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import android.util.Log;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.DeviceInfoUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class SecurityPatchPreferenceController extends PreferenceController {
+public class SecurityPatchPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_SECURITY_PATCH = "security_patch";
private static final String TAG = "SecurityPatchPref";
diff --git a/src/com/android/settings/deviceinfo/SerialNumberPreferenceController.java b/src/com/android/settings/deviceinfo/SerialNumberPreferenceController.java
index 0362bbc816..b69844d9f4 100644
--- a/src/com/android/settings/deviceinfo/SerialNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/SerialNumberPreferenceController.java
@@ -23,9 +23,11 @@ import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class SerialNumberPreferenceController extends PreferenceController {
+public class SerialNumberPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_SERIAL_NUMBER = "serial_number";
diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
index b5a7b3b389..be72539a0a 100644
--- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
@@ -38,7 +38,6 @@ import com.android.settings.Utils;
import com.android.settings.applications.PackageManagerWrapperImpl;
import com.android.settings.applications.UserManagerWrapper;
import com.android.settings.applications.UserManagerWrapperImpl;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.deviceinfo.storage.AutomaticStorageManagementSwitchPreferenceController;
import com.android.settings.deviceinfo.storage.SecondaryUserController;
@@ -50,6 +49,7 @@ import com.android.settings.deviceinfo.storage.VolumeSizesLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settingslib.applications.StorageStatsSource;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.deviceinfo.PrivateStorageInfo;
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
@@ -72,7 +72,7 @@ public class StorageDashboardFragment extends DashboardFragment
private StorageSummaryDonutPreferenceController mSummaryController;
private StorageItemPreferenceController mPreferenceController;
private PrivateVolumeOptionMenuController mOptionMenuController;
- private List<PreferenceController> mSecondaryUsers;
+ private List<AbstractPreferenceController> mSecondaryUsers;
@Override
public void onCreate(Bundle icicle) {
@@ -129,7 +129,7 @@ public class StorageDashboardFragment extends DashboardFragment
mPreferenceController.setUsedSize(privateUsedBytes);
mPreferenceController.setTotalSize(mStorageInfo.totalBytes);
for (int i = 0, size = mSecondaryUsers.size(); i < size; i++) {
- PreferenceController controller = mSecondaryUsers.get(i);
+ AbstractPreferenceController controller = mSecondaryUsers.get(i);
if (controller instanceof SecondaryUserController) {
SecondaryUserController userController = (SecondaryUserController) controller;
userController.setTotalSize(mStorageInfo.totalBytes);
@@ -161,8 +161,8 @@ public class StorageDashboardFragment extends DashboardFragment
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
mSummaryController = new StorageSummaryDonutPreferenceController(context);
controllers.add(mSummaryController);
@@ -192,10 +192,10 @@ public class StorageDashboardFragment extends DashboardFragment
/**
* Updates the secondary user controller sizes.
*/
- private void updateSecondaryUserControllers(List<PreferenceController> controllers,
+ private void updateSecondaryUserControllers(List<AbstractPreferenceController> controllers,
SparseArray<StorageAsyncLoader.AppsStorageResult> stats) {
for (int i = 0, size = controllers.size(); i < size; i++) {
- PreferenceController controller = controllers.get(i);
+ AbstractPreferenceController controller = controllers.get(i);
if (controller instanceof StorageAsyncLoader.ResultHandler) {
StorageAsyncLoader.ResultHandler userController =
(StorageAsyncLoader.ResultHandler) controller;
@@ -218,11 +218,11 @@ public class StorageDashboardFragment extends DashboardFragment
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> 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<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new StorageSummaryDonutPreferenceController(context));
controllers.add(new StorageItemPreferenceController(context, null /* host */,
null /* volume */, new StorageManagerVolumeProvider(sm)));
diff --git a/src/com/android/settings/deviceinfo/StorageProfileFragment.java b/src/com/android/settings/deviceinfo/StorageProfileFragment.java
index f5129ede7d..7a0a59e35e 100644
--- a/src/com/android/settings/deviceinfo/StorageProfileFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageProfileFragment.java
@@ -32,12 +32,12 @@ import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.applications.PackageManagerWrapperImpl;
import com.android.settings.applications.UserManagerWrapperImpl;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.deviceinfo.storage.StorageAsyncLoader;
import com.android.settings.deviceinfo.storage.StorageAsyncLoader.AppsStorageResult;
import com.android.settings.deviceinfo.storage.StorageItemPreferenceController;
import com.android.settingslib.applications.StorageStatsSource;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
import java.util.ArrayList;
@@ -98,8 +98,8 @@ public class StorageProfileFragment extends DashboardFragment
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
final StorageManager sm = context.getSystemService(StorageManager.class);
mPreferenceController = new StorageItemPreferenceController(context, this,
mVolume, new StorageManagerVolumeProvider(sm));
diff --git a/src/com/android/settings/deviceinfo/SystemUpdatePreferenceController.java b/src/com/android/settings/deviceinfo/SystemUpdatePreferenceController.java
index c2e2ad8342..d2ad6d8dfc 100644
--- a/src/com/android/settings/deviceinfo/SystemUpdatePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/SystemUpdatePreferenceController.java
@@ -28,11 +28,13 @@ import android.util.Log;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import static android.content.Context.CARRIER_CONFIG_SERVICE;
-public class SystemUpdatePreferenceController extends PreferenceController {
+public class SystemUpdatePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String TAG = "SysUpdatePrefContr";
diff --git a/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java b/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
index acd34f0fb2..4635d82f72 100644
--- a/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
@@ -24,17 +24,19 @@ import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.deletionhelper.ActivationWarningFragment;
import com.android.settings.widget.MasterSwitchController;
import com.android.settings.widget.MasterSwitchPreference;
import com.android.settings.widget.SwitchWidgetController;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class AutomaticStorageManagementSwitchPreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume, SwitchWidgetController.OnSwitchChangeListener {
+public class AutomaticStorageManagementSwitchPreferenceController extends
+ AbstractPreferenceController implements PreferenceControllerMixin, LifecycleObserver,
+ OnResume, SwitchWidgetController.OnSwitchChangeListener {
private static final String KEY_TOGGLE_ASM = "toggle_asm";
@VisibleForTesting
static final String STORAGE_MANAGER_ENABLED_BY_DEFAULT_PROPERTY = "ro.storage_manager.enabled";
diff --git a/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java b/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java
index dec096488b..3c69ab1fc5 100644
--- a/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java
+++ b/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java
@@ -28,8 +28,9 @@ import android.util.SparseArray;
import com.android.settings.Utils;
import com.android.settings.applications.UserManagerWrapper;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.deviceinfo.StorageItemPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.List;
@@ -38,8 +39,9 @@ import java.util.List;
* SecondaryUserController controls the preferences on the Storage screen which had to do with
* secondary users.
*/
-public class SecondaryUserController extends PreferenceController
- implements StorageAsyncLoader.ResultHandler, UserIconLoader.UserIconHandler {
+public class SecondaryUserController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, StorageAsyncLoader.ResultHandler,
+ UserIconLoader.UserIconHandler {
// PreferenceGroupKey to try to add our preference onto.
private static final String TARGET_PREFERENCE_GROUP_KEY = "pref_secondary_users";
private static final String PREFERENCE_KEY_BASE = "pref_user_";
@@ -58,9 +60,9 @@ public class SecondaryUserController extends PreferenceController
* @param context Context for initializing the preference controllers.
* @param userManager UserManagerWrapper for figuring out which controllers to add.
*/
- public static List<PreferenceController> getSecondaryUserControllers(
+ public static List<AbstractPreferenceController> getSecondaryUserControllers(
Context context, UserManagerWrapper userManager) {
- List<PreferenceController> controllers = new ArrayList<>();
+ List<AbstractPreferenceController> controllers = new ArrayList<>();
UserInfo primaryUser = userManager.getPrimaryUser();
boolean addedUser = false;
List<UserInfo> infos = userManager.getUsers();
@@ -89,7 +91,7 @@ public class SecondaryUserController extends PreferenceController
/**
* Constructor for a given secondary user.
- * @param context Context to initialize the underlying {@link PreferenceController}.
+ * @param context Context to initialize the underlying {@link AbstractPreferenceController}.
* @param info {@link UserInfo} for the secondary user which this controllers covers.
*/
@VisibleForTesting
@@ -175,7 +177,8 @@ public class SecondaryUserController extends PreferenceController
}
}
- private static class NoSecondaryUserController extends PreferenceController {
+ private static class NoSecondaryUserController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
public NoSecondaryUserController(Context context) {
super(context);
}
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
index cebd1145b1..7060779ae6 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -38,11 +38,12 @@ import com.android.settings.R;
import com.android.settings.Settings;
import com.android.settings.Utils;
import com.android.settings.applications.ManageApplications;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.deviceinfo.PrivateVolumeSettings.SystemInfoFragment;
import com.android.settings.deviceinfo.StorageItemPreference;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.deviceinfo.StorageMeasurement;
import com.android.settingslib.deviceinfo.StorageVolumeProvider;
@@ -54,7 +55,8 @@ import java.util.Map;
* StorageItemPreferenceController handles the storage line items which summarize the storage
* categorization breakdown.
*/
-public class StorageItemPreferenceController extends PreferenceController {
+public class StorageItemPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String TAG = "StorageItemPreference";
private static final String IMAGE_MIME_TYPE = "image/*";
diff --git a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
index 91c4a6b523..24fd2eede1 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
@@ -24,14 +24,16 @@ import android.text.TextUtils;
import android.text.format.Formatter;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.deviceinfo.StorageVolumeProvider;
/**
* StorgaeSummaryPreferenceController updates the donut storage summary preference to have the
* correct sizes showing.
*/
-public class StorageSummaryDonutPreferenceController extends PreferenceController {
+public class StorageSummaryDonutPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private long mUsedBytes;
private long mTotalBytes;
private StorageSummaryDonutPreference mSummary;
diff --git a/src/com/android/settings/deviceinfo/storage/UserProfileController.java b/src/com/android/settings/deviceinfo/storage/UserProfileController.java
index fc297cabe2..684ac52352 100644
--- a/src/com/android/settings/deviceinfo/storage/UserProfileController.java
+++ b/src/com/android/settings/deviceinfo/storage/UserProfileController.java
@@ -30,14 +30,17 @@ import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.util.Preconditions;
import com.android.settings.Utils;
import com.android.settings.applications.UserManagerWrapper;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.deviceinfo.StorageItemPreference;
import com.android.settings.deviceinfo.StorageProfileFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.drawer.SettingsDrawerActivity;
-/** Defines a {@link PreferenceController} which handles a single profile of the primary user. */
-public class UserProfileController extends PreferenceController
- implements StorageAsyncLoader.ResultHandler, UserIconLoader.UserIconHandler {
+/** Defines a {@link AbstractPreferenceController} which handles a single profile of the primary
+ * user. */
+public class UserProfileController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, StorageAsyncLoader.ResultHandler,
+ UserIconLoader.UserIconHandler {
private static final String PREFERENCE_KEY_BASE = "pref_profile_";
private StorageItemPreference mStoragePreference;
private UserManagerWrapper mUserManager;
diff --git a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
index bed04d3591..e9f54fbfdb 100644
--- a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
@@ -25,10 +25,12 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import com.android.internal.hardware.AmbientDisplayConfiguration;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class AmbientDisplayAlwaysOnPreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener {
+public class AmbientDisplayAlwaysOnPreferenceController extends
+ AbstractPreferenceController implements PreferenceControllerMixin,
+ Preference.OnPreferenceChangeListener {
private static final String KEY_ALWAYS_ON = "ambient_display_always_on";
private static final int MY_USER = UserHandle.myUserId();
diff --git a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
index 9e15afb2e2..eec61ff1d7 100644
--- a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
@@ -21,14 +21,16 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import com.android.internal.hardware.AmbientDisplayConfiguration;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import static android.provider.Settings.Secure.DOZE_ENABLED;
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION_AMBIENT_DISPLAY;
-public class AmbientDisplayNotificationsPreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener {
+public class AmbientDisplayNotificationsPreferenceController extends
+ AbstractPreferenceController implements PreferenceControllerMixin,
+ Preference.OnPreferenceChangeListener {
@VisibleForTesting
static final String KEY_AMBIENT_DISPLAY_NOTIFICATIONS = "ambient_display_notification";
diff --git a/src/com/android/settings/display/AmbientDisplayPreferenceController.java b/src/com/android/settings/display/AmbientDisplayPreferenceController.java
index f3e3046fbd..62223b0df9 100644
--- a/src/com/android/settings/display/AmbientDisplayPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayPreferenceController.java
@@ -19,12 +19,13 @@ import android.content.Context;
import android.os.UserHandle;
import android.support.v7.preference.Preference;
-import com.android.internal.app.NightDisplayController;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class AmbientDisplayPreferenceController extends PreferenceController {
+public class AmbientDisplayPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final int MY_USER_ID = UserHandle.myUserId();
diff --git a/src/com/android/settings/display/AmbientDisplaySettings.java b/src/com/android/settings/display/AmbientDisplaySettings.java
index 011cccbd87..6a01ba21be 100644
--- a/src/com/android/settings/display/AmbientDisplaySettings.java
+++ b/src/com/android/settings/display/AmbientDisplaySettings.java
@@ -17,20 +17,19 @@
package com.android.settings.display;
import android.content.Context;
-import android.os.Bundle;
import android.os.UserHandle;
import android.provider.SearchIndexableResource;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.gestures.DoubleTapScreenPreferenceController;
import com.android.settings.gestures.PickupGesturePreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -49,10 +48,10 @@ public class AmbientDisplaySettings extends DashboardFragment {
private static final String KEY_AMBIENT_DISPLAY_PICK_UP = "ambient_display_pick_up";
private static final String KEY_AMBIENT_DISPLAY_NOTIFICATION = "ambient_display_notification";
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle, AmbientDisplayConfiguration config,
MetricsFeatureProvider metricsFeatureProvider) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new AmbientDisplayNotificationsPreferenceController(context, config,
metricsFeatureProvider));
controllers.add(new AmbientDisplayAlwaysOnPreferenceController(context, config));
@@ -75,7 +74,7 @@ public class AmbientDisplaySettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle(),
new AmbientDisplayConfiguration(context), mMetricsFeatureProvider);
}
@@ -99,7 +98,7 @@ public class AmbientDisplaySettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null,
new AmbientDisplayConfiguration(context), null);
}
diff --git a/src/com/android/settings/display/AutoBrightnessPreferenceController.java b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
index d4226e21a9..d1d347c06f 100644
--- a/src/com/android/settings/display/AutoBrightnessPreferenceController.java
+++ b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
@@ -20,19 +20,20 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import com.android.settings.DisplaySettings;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settings.search.InlineSwitchPayload;
import com.android.settings.search.ResultPayload;
import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL;
-public class AutoBrightnessPreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener {
+public class AutoBrightnessPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private final String mAutoBrightnessKey;
diff --git a/src/com/android/settings/display/AutoRotatePreferenceController.java b/src/com/android/settings/display/AutoRotatePreferenceController.java
index a39cde5432..c7f6af175a 100644
--- a/src/com/android/settings/display/AutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/AutoRotatePreferenceController.java
@@ -19,16 +19,18 @@ import android.support.v7.preference.TwoStatePreference;
import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.view.RotationPolicy;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class AutoRotatePreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class AutoRotatePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener, LifecycleObserver,
+ OnResume, OnPause {
private static final String KEY_AUTO_ROTATE = "auto_rotate";
private final MetricsFeatureProvider mMetricsFeatureProvider;
diff --git a/src/com/android/settings/display/BatteryPercentagePreferenceController.java b/src/com/android/settings/display/BatteryPercentagePreferenceController.java
index 49689572b6..449315873c 100644
--- a/src/com/android/settings/display/BatteryPercentagePreferenceController.java
+++ b/src/com/android/settings/display/BatteryPercentagePreferenceController.java
@@ -20,7 +20,8 @@ import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.support.v14.preference.SwitchPreference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import static android.provider.Settings.System.SHOW_BATTERY_PERCENT;
@@ -28,8 +29,8 @@ import static android.provider.Settings.System.SHOW_BATTERY_PERCENT;
* A controller to manage the switch for showing battery percentage in the status bar.
*/
-public class BatteryPercentagePreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener {
+public class BatteryPercentagePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String KEY_BATTERY_PERCENTAGE = "battery_percentage";
diff --git a/src/com/android/settings/display/BrightnessLevelPreferenceController.java b/src/com/android/settings/display/BrightnessLevelPreferenceController.java
index 3436d2d793..98e1e079c2 100644
--- a/src/com/android/settings/display/BrightnessLevelPreferenceController.java
+++ b/src/com/android/settings/display/BrightnessLevelPreferenceController.java
@@ -30,7 +30,8 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -38,8 +39,8 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
import java.text.NumberFormat;
-public class BrightnessLevelPreferenceController extends PreferenceController implements
- LifecycleObserver, OnResume, OnPause {
+public class BrightnessLevelPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
private static final String TAG = "BrightnessPrefCtrl";
private static final String KEY_BRIGHTNESS = "brightness";
diff --git a/src/com/android/settings/display/CameraGesturePreferenceController.java b/src/com/android/settings/display/CameraGesturePreferenceController.java
index 1b60721cb9..d991302a56 100644
--- a/src/com/android/settings/display/CameraGesturePreferenceController.java
+++ b/src/com/android/settings/display/CameraGesturePreferenceController.java
@@ -19,12 +19,13 @@ import android.provider.Settings;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import static android.provider.Settings.Secure.CAMERA_GESTURE_DISABLED;
-public class CameraGesturePreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener {
+public class CameraGesturePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String KEY_CAMERA_GESTURE = "camera_gesture";
diff --git a/src/com/android/settings/display/ColorModePreferenceController.java b/src/com/android/settings/display/ColorModePreferenceController.java
index 957401660e..2d669d0e88 100644
--- a/src/com/android/settings/display/ColorModePreferenceController.java
+++ b/src/com/android/settings/display/ColorModePreferenceController.java
@@ -23,10 +23,11 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.TwoStatePreference;
import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class ColorModePreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener {
+public class ColorModePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String TAG = "ColorModePreference";
private static final String KEY_COLOR_MODE = "color_mode";
diff --git a/src/com/android/settings/display/FontSizePreferenceController.java b/src/com/android/settings/display/FontSizePreferenceController.java
index 7528f18849..a8b4e9fec6 100644
--- a/src/com/android/settings/display/FontSizePreferenceController.java
+++ b/src/com/android/settings/display/FontSizePreferenceController.java
@@ -20,9 +20,11 @@ import android.support.v7.preference.Preference;
import com.android.settings.R;
import com.android.settings.accessibility.ToggleFontSizePreferenceFragment;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class FontSizePreferenceController extends PreferenceController {
+public class FontSizePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_FONT_SIZE = "font_size";
diff --git a/src/com/android/settings/display/LiftToWakePreferenceController.java b/src/com/android/settings/display/LiftToWakePreferenceController.java
index e8be936af3..7c2206b291 100644
--- a/src/com/android/settings/display/LiftToWakePreferenceController.java
+++ b/src/com/android/settings/display/LiftToWakePreferenceController.java
@@ -20,12 +20,13 @@ import android.provider.Settings;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import static android.provider.Settings.Secure.WAKE_GESTURE_ENABLED;
-public class LiftToWakePreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener {
+public class LiftToWakePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String KEY_LIFT_TO_WAKE = "lift_to_wake";
diff --git a/src/com/android/settings/display/NightDisplayPreferenceController.java b/src/com/android/settings/display/NightDisplayPreferenceController.java
index 4b18778833..f42e324f63 100644
--- a/src/com/android/settings/display/NightDisplayPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayPreferenceController.java
@@ -14,12 +14,13 @@
package com.android.settings.display;
import android.content.Context;
-import android.support.v7.preference.Preference;
import com.android.internal.app.NightDisplayController;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class NightDisplayPreferenceController extends PreferenceController {
+public class NightDisplayPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_NIGHT_DISPLAY = "night_display";
diff --git a/src/com/android/settings/display/NightModePreferenceController.java b/src/com/android/settings/display/NightModePreferenceController.java
index 2eb64c09ef..7e9701b04a 100644
--- a/src/com/android/settings/display/NightModePreferenceController.java
+++ b/src/com/android/settings/display/NightModePreferenceController.java
@@ -20,12 +20,13 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import static android.content.Context.UI_MODE_SERVICE;
-public class NightModePreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener {
+public class NightModePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String TAG = "NightModePrefContr";
private static final String KEY_NIGHT_MODE = "night_mode";
diff --git a/src/com/android/settings/display/ScreenSaverPreferenceController.java b/src/com/android/settings/display/ScreenSaverPreferenceController.java
index 7a10802a89..6866f39687 100644
--- a/src/com/android/settings/display/ScreenSaverPreferenceController.java
+++ b/src/com/android/settings/display/ScreenSaverPreferenceController.java
@@ -16,10 +16,12 @@ package com.android.settings.display;
import android.content.Context;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.dream.DreamSettings;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class ScreenSaverPreferenceController extends PreferenceController {
+public class ScreenSaverPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_SCREEN_SAVER = "screensaver";
diff --git a/src/com/android/settings/display/TapToWakePreferenceController.java b/src/com/android/settings/display/TapToWakePreferenceController.java
index 1f24d74f37..c5a387d2a2 100644
--- a/src/com/android/settings/display/TapToWakePreferenceController.java
+++ b/src/com/android/settings/display/TapToWakePreferenceController.java
@@ -18,10 +18,11 @@ import android.provider.Settings;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class TapToWakePreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener {
+public class TapToWakePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String KEY_TAP_TO_WAKE = "tap_to_wake";
diff --git a/src/com/android/settings/display/ThemePreferenceController.java b/src/com/android/settings/display/ThemePreferenceController.java
index c38ed28453..3bb58b15d0 100644
--- a/src/com/android/settings/display/ThemePreferenceController.java
+++ b/src/com/android/settings/display/ThemePreferenceController.java
@@ -28,9 +28,10 @@ import android.support.v7.preference.Preference;
import android.text.TextUtils;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
import libcore.util.Objects;
@@ -39,8 +40,8 @@ import java.util.List;
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION_THEME;
-public class ThemePreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener {
+public class ThemePreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String KEY_THEME = "theme";
diff --git a/src/com/android/settings/display/TimeoutPreferenceController.java b/src/com/android/settings/display/TimeoutPreferenceController.java
index b2890c2857..6b282ef33b 100644
--- a/src/com/android/settings/display/TimeoutPreferenceController.java
+++ b/src/com/android/settings/display/TimeoutPreferenceController.java
@@ -22,13 +22,14 @@ import android.util.Log;
import com.android.settings.R;
import com.android.settings.TimeoutListPreference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
-public class TimeoutPreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener {
+public class TimeoutPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String TAG = "TimeoutPrefContr";
diff --git a/src/com/android/settings/display/VrDisplayPreferenceController.java b/src/com/android/settings/display/VrDisplayPreferenceController.java
index 4fef987463..7fdb19f2db 100644
--- a/src/com/android/settings/display/VrDisplayPreferenceController.java
+++ b/src/com/android/settings/display/VrDisplayPreferenceController.java
@@ -20,9 +20,11 @@ import android.provider.Settings;
import android.support.v7.preference.Preference;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class VrDisplayPreferenceController extends PreferenceController {
+public class VrDisplayPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_VR_DISPLAY_PREF = "vr_display_pref";
diff --git a/src/com/android/settings/display/WallpaperPreferenceController.java b/src/com/android/settings/display/WallpaperPreferenceController.java
index aa29afcfbe..1c264400e5 100644
--- a/src/com/android/settings/display/WallpaperPreferenceController.java
+++ b/src/com/android/settings/display/WallpaperPreferenceController.java
@@ -17,13 +17,15 @@ import android.content.Context;
import android.os.UserHandle;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import static android.os.UserManager.DISALLOW_SET_WALLPAPER;
-public class WallpaperPreferenceController extends PreferenceController {
+public class WallpaperPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_WALLPAPER = "wallpaper";
diff --git a/src/com/android/settings/dream/CurrentDreamPreferenceController.java b/src/com/android/settings/dream/CurrentDreamPreferenceController.java
index 5b448f8c98..86143dd658 100644
--- a/src/com/android/settings/dream/CurrentDreamPreferenceController.java
+++ b/src/com/android/settings/dream/CurrentDreamPreferenceController.java
@@ -18,13 +18,15 @@ package com.android.settings.dream;
import android.content.Context;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.widget.GearPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.dream.DreamBackend;
import com.android.settingslib.dream.DreamBackend.DreamInfo;
import java.util.Optional;
-public class CurrentDreamPreferenceController extends PreferenceController {
+public class CurrentDreamPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private final DreamBackend mBackend;
private final static String TAG = "CurrentDreamPreferenceController";
private final static String CURRENT_SCREENSAVER = "current_screensaver";
diff --git a/src/com/android/settings/dream/DreamSettings.java b/src/com/android/settings/dream/DreamSettings.java
index 8c10d45745..94ec1496fa 100644
--- a/src/com/android/settings/dream/DreamSettings.java
+++ b/src/com/android/settings/dream/DreamSettings.java
@@ -16,15 +16,20 @@
package com.android.settings.dream;
+import static com.android.settingslib.dream.DreamBackend.EITHER;
+import static com.android.settingslib.dream.DreamBackend.NEVER;
+import static com.android.settingslib.dream.DreamBackend.WHILE_CHARGING;
+import static com.android.settingslib.dream.DreamBackend.WHILE_DOCKED;
+
import android.content.Context;
import android.provider.SearchIndexableResource;
import android.support.annotation.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.dream.DreamBackend;
import com.android.settingslib.dream.DreamBackend.WhenToDream;
@@ -32,11 +37,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import static com.android.settingslib.dream.DreamBackend.EITHER;
-import static com.android.settingslib.dream.DreamBackend.NEVER;
-import static com.android.settingslib.dream.DreamBackend.WHILE_CHARGING;
-import static com.android.settingslib.dream.DreamBackend.WHILE_DOCKED;
-
public class DreamSettings extends DashboardFragment {
private static final String TAG = "DreamSettings";
@@ -109,7 +109,7 @@ public class DreamSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context);
}
@@ -127,8 +127,8 @@ public class DreamSettings extends DashboardFragment {
}
}
- private static List<PreferenceController> buildPreferenceControllers(Context context) {
- List<PreferenceController> controllers = new ArrayList<>();
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
+ List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new CurrentDreamPreferenceController(context));
controllers.add(new WhenToDreamPreferenceController(context));
controllers.add(new StartNowPreferenceController(context));
@@ -146,7 +146,7 @@ public class DreamSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context);
}
};
diff --git a/src/com/android/settings/dream/StartNowPreferenceController.java b/src/com/android/settings/dream/StartNowPreferenceController.java
index 994b70b224..256961bdcb 100644
--- a/src/com/android/settings/dream/StartNowPreferenceController.java
+++ b/src/com/android/settings/dream/StartNowPreferenceController.java
@@ -22,10 +22,12 @@ import android.support.v7.preference.PreferenceScreen;
import android.widget.Button;
import com.android.settings.R;
import com.android.settings.applications.LayoutPreference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.dream.DreamBackend;
-public class StartNowPreferenceController extends PreferenceController {
+public class StartNowPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String TAG = "StartNowPreferenceController";
private static final String PREF_KEY = "dream_start_now_button_container";
private final DreamBackend mBackend;
diff --git a/src/com/android/settings/dream/WhenToDreamPreferenceController.java b/src/com/android/settings/dream/WhenToDreamPreferenceController.java
index 0d870fda0b..c4c6ed8211 100644
--- a/src/com/android/settings/dream/WhenToDreamPreferenceController.java
+++ b/src/com/android/settings/dream/WhenToDreamPreferenceController.java
@@ -18,10 +18,12 @@ package com.android.settings.dream;
import android.content.Context;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.dream.DreamBackend;
-public class WhenToDreamPreferenceController extends PreferenceController {
+public class WhenToDreamPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String WHEN_TO_START = "when_to_start";
private final DreamBackend mBackend;
diff --git a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
index f6bd4c16e4..05e951968d 100644
--- a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
@@ -19,12 +19,14 @@ import android.support.v7.preference.Preference;
import android.text.format.DateUtils;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.Date;
-public abstract class AdminActionPreferenceControllerBase extends PreferenceController {
+public abstract class AdminActionPreferenceControllerBase extends
+ AbstractPreferenceController implements PreferenceControllerMixin {
protected final EnterprisePrivacyFeatureProvider mFeatureProvider;
diff --git a/src/com/android/settings/enterprise/ApplicationListFragment.java b/src/com/android/settings/enterprise/ApplicationListFragment.java
index ff68a8bdb8..7425a30f37 100644
--- a/src/com/android/settings/enterprise/ApplicationListFragment.java
+++ b/src/com/android/settings/enterprise/ApplicationListFragment.java
@@ -22,9 +22,9 @@ import android.content.Context;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.applications.ApplicationFeatureProvider;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.List;
@@ -49,8 +49,8 @@ public abstract class ApplicationListFragment extends DashboardFragment
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
ApplicationListPreferenceController controller = new ApplicationListPreferenceController(
context, this, context.getPackageManager(), this);
controllers.add(controller);
diff --git a/src/com/android/settings/enterprise/ApplicationListPreferenceController.java b/src/com/android/settings/enterprise/ApplicationListPreferenceController.java
index f9fefa1837..eee9b33436 100644
--- a/src/com/android/settings/enterprise/ApplicationListPreferenceController.java
+++ b/src/com/android/settings/enterprise/ApplicationListPreferenceController.java
@@ -25,7 +25,8 @@ import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.applications.UserAppInfo;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
@@ -33,8 +34,8 @@ import java.util.List;
* PreferenceController that builds a dynamic list of applications provided by
* {@link ApplicationListBuilder} instance.
*/
-public class ApplicationListPreferenceController extends PreferenceController
- implements ApplicationFeatureProvider.ListOfAppsCallback {
+public class ApplicationListPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, ApplicationFeatureProvider.ListOfAppsCallback {
private final PackageManager mPm;
private SettingsPreferenceFragment mParent;
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
index 54f0508cec..faf271e165 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
@@ -21,10 +21,11 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.DynamicAvailabilityPreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -51,17 +52,18 @@ public class EnterprisePrivacySettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle(), true /* async */);
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle, boolean async) {
- final List controllers = new ArrayList<PreferenceController>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new NetworkLogsPreferenceController(context));
controllers.add(new BugReportsPreferenceController(context));
controllers.add(new SecurityLogsPreferenceController(context));
- final List exposureChangesCategoryControllers = new ArrayList<PreferenceController>();
+ final List<DynamicAvailabilityPreferenceController> exposureChangesCategoryControllers =
+ new ArrayList<>();
exposureChangesCategoryControllers.add(new EnterpriseInstalledPackagesPreferenceController(
context, lifecycle, async));
exposureChangesCategoryControllers.add(
@@ -112,7 +114,7 @@ public class EnterprisePrivacySettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */, false /* async */);
}
};
diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListFragment.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListFragment.java
index 6f173f1778..a1c61deb1a 100644
--- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListFragment.java
+++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListFragment.java
@@ -20,8 +20,8 @@ import android.content.Context;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.List;
@@ -48,8 +48,8 @@ public class EnterpriseSetDefaultAppsListFragment extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List controllers = new ArrayList<PreferenceController>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
final EnterpriseSetDefaultAppsListPreferenceController controller =
new EnterpriseSetDefaultAppsListPreferenceController(
context, this, context.getPackageManager());
diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
index 51b60b8f3b..03a78ead13 100644
--- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
+++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
@@ -32,9 +32,10 @@ import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.applications.EnterpriseDefaultApps;
import com.android.settings.applications.UserAppInfo;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.users.UserFeatureProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.Collections;
@@ -45,7 +46,8 @@ import java.util.List;
/**
* PreferenceController that builds a dynamic list of default apps set by device or profile owner.
*/
-public class EnterpriseSetDefaultAppsListPreferenceController extends PreferenceController {
+public class EnterpriseSetDefaultAppsListPreferenceController extends
+ AbstractPreferenceController implements PreferenceControllerMixin {
private final PackageManager mPm;
private final SettingsPreferenceFragment mParent;
private final ApplicationFeatureProvider mApplicationFeatureProvider;
diff --git a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
index 6317afe5f9..6f35641e72 100644
--- a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
+++ b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
@@ -14,14 +14,15 @@
package com.android.settings.enterprise;
import android.content.Context;
-import android.content.res.Resources;
import android.support.v7.preference.Preference;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class ManageDeviceAdminPreferenceController extends PreferenceController {
+public class ManageDeviceAdminPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin {
private static final String KEY_MANAGE_DEVICE_ADMIN = "manage_device_admin";
private final EnterprisePrivacyFeatureProvider mFeatureProvider;
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 0b1d4a8ae9..eb5d75fa9b 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -41,7 +41,6 @@ import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
import com.android.settings.applications.LayoutPreference;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.enterprise.DevicePolicyManagerWrapper;
import com.android.settings.enterprise.DevicePolicyManagerWrapperImpl;
@@ -52,6 +51,7 @@ import com.android.settings.fuelgauge.anomaly.AnomalySummaryPreferenceController
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.List;
@@ -288,8 +288,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
final Bundle bundle = getArguments();
final int uid = bundle.getInt(EXTRA_UID, 0);
final String packageName = bundle.getString(EXTRA_PACKAGE_NAME);
diff --git a/src/com/android/settings/fuelgauge/AppButtonsPreferenceController.java b/src/com/android/settings/fuelgauge/AppButtonsPreferenceController.java
index 6b4c8a9270..1647aa58a4 100644
--- a/src/com/android/settings/fuelgauge/AppButtonsPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/AppButtonsPreferenceController.java
@@ -50,13 +50,14 @@ import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
import com.android.settings.applications.LayoutPreference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.enterprise.DevicePolicyManagerWrapper;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnDestroy;
@@ -76,9 +77,9 @@ import java.util.List;
* {@link #handleActivityResult(int, int, Intent)} in this controller.
*/
//TODO(b/35810915): Make InstalledAppDetails use this controller
-public class AppButtonsPreferenceController extends PreferenceController implements
- LifecycleObserver, OnResume, OnPause, OnDestroy, View.OnClickListener,
- ApplicationsState.Callbacks {
+public class AppButtonsPreferenceController extends AbstractPreferenceController implements
+ PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause, OnDestroy,
+ View.OnClickListener, ApplicationsState.Callbacks {
public static final String APP_CHG = "chg";
private static final String TAG = "AppButtonsPrefCtl";
diff --git a/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java b/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java
index 60a94ddcef..89089e593c 100644
--- a/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java
@@ -25,13 +25,14 @@ import android.support.v7.preference.Preference;
import android.util.Log;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
/**
* Controller to control whether an app can run in the background
*/
-public class BackgroundActivityPreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener {
+public class BackgroundActivityPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
private static final String TAG = "BgActivityPrefContr";
private static final String KEY_BACKGROUND_ACTIVITY = "background_activity";
diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
index bdd2413a8e..4a342ab60a 100644
--- a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
@@ -28,9 +28,10 @@ import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.applications.LayoutPreference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.Utils;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
@@ -38,8 +39,8 @@ import com.android.settingslib.core.lifecycle.events.OnStart;
/**
* Controller that update the battery header view
*/
-public class BatteryHeaderPreferenceController extends PreferenceController
- implements LifecycleObserver, OnStart {
+public class BatteryHeaderPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnStart {
@VisibleForTesting
static final String KEY_BATTERY_HEADER = "battery_header";
diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceController.java
index 7c5bda218f..53a3770792 100644
--- a/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizationPreferenceController.java
@@ -15,22 +15,22 @@
package com.android.settings.fuelgauge;
import android.app.Fragment;
-import android.content.Context;
import android.os.Bundle;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
-import android.text.TextUtils;
import com.android.settings.R;
import com.android.settings.Settings;
import com.android.settings.SettingsActivity;
import com.android.settings.applications.ManageApplications;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
/**
* Controller that jumps to high power optimization fragment
*/
-public class BatteryOptimizationPreferenceController extends PreferenceController {
+public class BatteryOptimizationPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_BACKGROUND_ACTIVITY = "battery_optimization";
diff --git a/src/com/android/settings/fuelgauge/BatterySaverController.java b/src/com/android/settings/fuelgauge/BatterySaverController.java
index 5d64f1c80a..97e95d2e40 100644
--- a/src/com/android/settings/fuelgauge/BatterySaverController.java
+++ b/src/com/android/settings/fuelgauge/BatterySaverController.java
@@ -30,10 +30,11 @@ import android.support.v7.preference.PreferenceScreen;
import android.util.Log;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.dashboard.conditional.BatterySaverCondition;
import com.android.settings.dashboard.conditional.ConditionManager;
import com.android.settings.widget.MasterSwitchPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
@@ -41,8 +42,9 @@ import com.android.settingslib.core.lifecycle.events.OnStop;
import static android.os.PowerManager.ACTION_POWER_SAVE_MODE_CHANGING;
-public class BatterySaverController extends PreferenceController implements
- Preference.OnPreferenceChangeListener, LifecycleObserver, OnStart, OnStop {
+public class BatterySaverController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnStart, OnStop {
private static final String KEY_BATTERY_SAVER = "battery_saver_summary";
private static final String TAG = "BatterySaverController";
private static final boolean DEBUG = false;
diff --git a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
index fc83bedf6e..fe6e50975a 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
@@ -37,10 +37,10 @@ import com.android.internal.os.BatterySipper.DrainType;
import com.android.internal.os.BatteryStatsHelper;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
import com.android.settings.fuelgauge.PowerUsageAdvanced.PowerUsageData.UsageType;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -158,7 +158,7 @@ public class PowerUsageAdvanced extends PowerUsageBase {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return null;
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageAnomalyDetails.java b/src/com/android/settings/fuelgauge/PowerUsageAnomalyDetails.java
index ef7110e69a..bf4c2afbfb 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageAnomalyDetails.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageAnomalyDetails.java
@@ -31,11 +31,11 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.fuelgauge.anomaly.Anomaly;
import com.android.settings.fuelgauge.anomaly.AnomalyDialogFragment;
import com.android.settings.fuelgauge.anomaly.AnomalyPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
@@ -119,7 +119,7 @@ public class PowerUsageAnomalyDetails extends DashboardFragment implements
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return null;
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index e4ae053ce5..a8b35eeaa6 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -46,6 +46,7 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.widget.TextView;
+
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatterySipper.DrainType;
@@ -56,7 +57,6 @@ import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
import com.android.settings.applications.LayoutPreference;
import com.android.settings.applications.ManageApplications;
-import com.android.settings.core.PreferenceController;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.display.AutoBrightnessPreferenceController;
@@ -69,6 +69,8 @@ import com.android.settings.fuelgauge.anomaly.AnomalyLoader;
import com.android.settings.fuelgauge.anomaly.AnomalySummaryPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -304,8 +306,8 @@ public class PowerUsageSummary extends PowerUsageBase implements
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
mBatteryHeaderPreferenceController = new BatteryHeaderPreferenceController(
context, getActivity(), this /* host */, getLifecycle());
controllers.add(mBatteryHeaderPreferenceController);
diff --git a/src/com/android/settings/gestures/AssistGestureFeatureProvider.java b/src/com/android/settings/gestures/AssistGestureFeatureProvider.java
index 890239314c..3016143ff4 100644
--- a/src/com/android/settings/gestures/AssistGestureFeatureProvider.java
+++ b/src/com/android/settings/gestures/AssistGestureFeatureProvider.java
@@ -18,7 +18,7 @@ package com.android.settings.gestures;
import android.content.Context;
-import com.android.settings.core.PreferenceController;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.List;
@@ -36,6 +36,6 @@ public interface AssistGestureFeatureProvider {
int getPreferenceResourceId();
/** Returns a list of additional preference controllers */
- List<PreferenceController> getControllers(Context context, Lifecycle lifecycle);
+ List<AbstractPreferenceController> getControllers(Context context, Lifecycle lifecycle);
}
diff --git a/src/com/android/settings/gestures/AssistGestureFeatureProviderImpl.java b/src/com/android/settings/gestures/AssistGestureFeatureProviderImpl.java
index a2579acaf7..87cba610b1 100644
--- a/src/com/android/settings/gestures/AssistGestureFeatureProviderImpl.java
+++ b/src/com/android/settings/gestures/AssistGestureFeatureProviderImpl.java
@@ -19,7 +19,7 @@ package com.android.settings.gestures;
import android.content.Context;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -43,7 +43,7 @@ public class AssistGestureFeatureProviderImpl implements AssistGestureFeaturePro
}
@Override
- public List<PreferenceController> getControllers(Context context, Lifecycle lifecycle) {
+ public List<AbstractPreferenceController> getControllers(Context context, Lifecycle lifecycle) {
return new ArrayList<>();
}
diff --git a/src/com/android/settings/gestures/AssistGestureSettings.java b/src/com/android/settings/gestures/AssistGestureSettings.java
index 93d3a39233..77b4dedd2d 100644
--- a/src/com/android/settings/gestures/AssistGestureSettings.java
+++ b/src/com/android/settings/gestures/AssistGestureSettings.java
@@ -21,10 +21,10 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -54,13 +54,13 @@ public class AssistGestureSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST));
controllers.addAll(FeatureFactory.getFactory(context).getAssistGestureFeatureProvider()
.getControllers(context, lifecycle));
@@ -79,7 +79,7 @@ public class AssistGestureSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
diff --git a/src/com/android/settings/gestures/CameraLiftTriggerSettings.java b/src/com/android/settings/gestures/CameraLiftTriggerSettings.java
index a222b0bc65..d31aee6329 100644
--- a/src/com/android/settings/gestures/CameraLiftTriggerSettings.java
+++ b/src/com/android/settings/gestures/CameraLiftTriggerSettings.java
@@ -21,9 +21,9 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -51,13 +51,13 @@ public class CameraLiftTriggerSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new CameraLiftTriggerPreferenceController(context, lifecycle, KEY));
return controllers;
}
@@ -73,7 +73,7 @@ public class CameraLiftTriggerSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
diff --git a/src/com/android/settings/gestures/DoubleTapPowerSettings.java b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
index d38292d80b..cb90c5198e 100644
--- a/src/com/android/settings/gestures/DoubleTapPowerSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
@@ -21,9 +21,9 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -51,13 +51,13 @@ public class DoubleTapPowerSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle,
KEY_DOUBLE_TAP_POWER));
return controllers;
@@ -74,7 +74,7 @@ public class DoubleTapPowerSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
diff --git a/src/com/android/settings/gestures/DoubleTapScreenSettings.java b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
index 4690eadaec..3acbb3d35c 100644
--- a/src/com/android/settings/gestures/DoubleTapScreenSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
@@ -23,9 +23,9 @@ import android.provider.SearchIndexableResource;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -58,13 +58,13 @@ public class DoubleTapScreenSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle,
new AmbientDisplayConfiguration(context), UserHandle.myUserId(),
KEY_DOUBLE_TAP_SCREEN));
@@ -82,7 +82,7 @@ public class DoubleTapScreenSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
diff --git a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
index 2b46cce564..bfd03100d0 100644
--- a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
+++ b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
@@ -21,9 +21,9 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -51,13 +51,13 @@ public class DoubleTwistGestureSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new DoubleTwistPreferenceController(context, lifecycle, KEY_DOUBLE_TWIST));
return controllers;
}
@@ -73,7 +73,7 @@ public class DoubleTwistGestureSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
diff --git a/src/com/android/settings/gestures/GesturePreferenceController.java b/src/com/android/settings/gestures/GesturePreferenceController.java
index e647bf30df..df61234115 100644
--- a/src/com/android/settings/gestures/GesturePreferenceController.java
+++ b/src/com/android/settings/gestures/GesturePreferenceController.java
@@ -22,15 +22,17 @@ import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.TwoStatePreference;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.widget.VideoPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
-public abstract class GesturePreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener, LifecycleObserver, OnStart, OnStop {
+public abstract class GesturePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnStart, OnStop {
private VideoPreference mVideoPreference;
diff --git a/src/com/android/settings/gestures/PickupGestureSettings.java b/src/com/android/settings/gestures/PickupGestureSettings.java
index 17d930f5a4..12ed846f19 100644
--- a/src/com/android/settings/gestures/PickupGestureSettings.java
+++ b/src/com/android/settings/gestures/PickupGestureSettings.java
@@ -23,9 +23,9 @@ import android.provider.SearchIndexableResource;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -58,13 +58,13 @@ public class PickupGestureSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new PickupGesturePreferenceController(context, lifecycle,
new AmbientDisplayConfiguration(context), UserHandle.myUserId(), KEY_PICK_UP));
return controllers;
@@ -81,7 +81,7 @@ public class PickupGestureSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
diff --git a/src/com/android/settings/gestures/SwipeToNotificationSettings.java b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
index 00d4700ae8..08ed0266bf 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationSettings.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
@@ -21,9 +21,9 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -52,13 +52,13 @@ public class SwipeToNotificationSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle, KEY));
return controllers;
}
@@ -74,7 +74,7 @@ public class SwipeToNotificationSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
diff --git a/src/com/android/settings/inputmethod/GameControllerPreferenceController.java b/src/com/android/settings/inputmethod/GameControllerPreferenceController.java
index 40efb07b85..f7bc143e81 100644
--- a/src/com/android/settings/inputmethod/GameControllerPreferenceController.java
+++ b/src/com/android/settings/inputmethod/GameControllerPreferenceController.java
@@ -25,13 +25,15 @@ import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import android.view.InputDevice;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class GameControllerPreferenceController extends PreferenceController
- implements InputManager.InputDeviceListener, LifecycleObserver, OnResume, OnPause {
+public class GameControllerPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, InputManager.InputDeviceListener, LifecycleObserver,
+ OnResume, OnPause {
public static final String PREF_KEY = "vibrate_input_devices";
private static final String CATEGORY_KEY = "game_controller_settings_category";
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java b/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java
index 03d8221dcb..7b0d1cee1a 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java
@@ -21,8 +21,9 @@ import android.hardware.input.InputManager;
import android.support.v7.preference.Preference;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.inputmethod.PhysicalKeyboardFragment.HardKeyboardDeviceInfo;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -30,8 +31,9 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
import java.util.List;
-public class PhysicalKeyboardPreferenceController extends PreferenceController implements
- LifecycleObserver, OnResume, OnPause, InputManager.InputDeviceListener {
+public class PhysicalKeyboardPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause,
+ InputManager.InputDeviceListener {
private final InputManager mIm;
diff --git a/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java b/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java
index 5ab2cbae08..270aabad30 100644
--- a/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java
+++ b/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java
@@ -23,10 +23,12 @@ import android.view.textservice.SpellCheckerInfo;
import android.view.textservice.TextServicesManager;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtil;
-public class SpellCheckerPreferenceController extends PreferenceController {
+public class SpellCheckerPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
public static final String KEY_SPELL_CHECKERS = "spellcheckers_settings";
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java b/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
index 5436901115..c3443d2938 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
@@ -25,12 +25,14 @@ import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.List;
-public class VirtualKeyboardPreferenceController extends PreferenceController {
+public class VirtualKeyboardPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private final InputMethodManager mImm;
private final DevicePolicyManager mDpm;
diff --git a/src/com/android/settings/language/LanguageAndInputSettings.java b/src/com/android/settings/language/LanguageAndInputSettings.java
index 8bba103457..9db58eddba 100644
--- a/src/com/android/settings/language/LanguageAndInputSettings.java
+++ b/src/com/android/settings/language/LanguageAndInputSettings.java
@@ -35,7 +35,6 @@ import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.applications.defaultapps.DefaultAutofillPreferenceController;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.gestures.AssistGestureFeatureProvider;
@@ -52,6 +51,7 @@ import com.android.settings.inputmethod.SpellCheckerPreferenceController;
import com.android.settings.inputmethod.VirtualKeyboardPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -109,7 +109,7 @@ public class LanguageAndInputSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
if (mAmbientDisplayConfig == null) {
mAmbientDisplayConfig = new AmbientDisplayConfiguration(context);
}
@@ -117,10 +117,10 @@ public class LanguageAndInputSettings extends DashboardFragment {
return buildPreferenceControllers(context, getLifecycle(), mAmbientDisplayConfig);
}
- private static List<PreferenceController> buildPreferenceControllers(@NonNull Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(@NonNull Context context,
@Nullable Lifecycle lifecycle,
@NonNull AmbientDisplayConfiguration ambientDisplayConfiguration) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
// Language
controllers.add(new PhoneLanguagePreferenceController(context));
controllers.add(new SpellCheckerPreferenceController(context));
@@ -216,7 +216,7 @@ public class LanguageAndInputSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null,
new AmbientDisplayConfiguration(context));
}
diff --git a/src/com/android/settings/language/PhoneLanguagePreferenceController.java b/src/com/android/settings/language/PhoneLanguagePreferenceController.java
index cd2f539034..11c3e03d9f 100644
--- a/src/com/android/settings/language/PhoneLanguagePreferenceController.java
+++ b/src/com/android/settings/language/PhoneLanguagePreferenceController.java
@@ -19,10 +19,12 @@ package com.android.settings.language;
import android.content.Context;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class PhoneLanguagePreferenceController extends PreferenceController {
+public class PhoneLanguagePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_PHONE_LANGUAGE = "phone_language";
diff --git a/src/com/android/settings/language/TtsPreferenceController.java b/src/com/android/settings/language/TtsPreferenceController.java
index a734e4beca..ef26d5ffb1 100644
--- a/src/com/android/settings/language/TtsPreferenceController.java
+++ b/src/com/android/settings/language/TtsPreferenceController.java
@@ -19,9 +19,11 @@ package com.android.settings.language;
import android.content.Context;
import android.speech.tts.TtsEngines;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class TtsPreferenceController extends PreferenceController {
+public class TtsPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_VOICE_CATEGORY = "voice_category";
private static final String KEY_TTS_SETTINGS = "tts_settings_summary";
diff --git a/src/com/android/settings/language/UserDictionaryPreferenceController.java b/src/com/android/settings/language/UserDictionaryPreferenceController.java
index 01ce3aa2c3..7d9a6ef4e3 100644
--- a/src/com/android/settings/language/UserDictionaryPreferenceController.java
+++ b/src/com/android/settings/language/UserDictionaryPreferenceController.java
@@ -22,12 +22,14 @@ import android.os.Bundle;
import android.support.v7.preference.Preference;
import com.android.settings.UserDictionarySettings;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.inputmethod.UserDictionaryList;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.TreeSet;
-public class UserDictionaryPreferenceController extends PreferenceController {
+public class UserDictionaryPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_USER_DICTIONARY_SETTINGS = "key_user_dictionary_settings";
diff --git a/src/com/android/settings/location/AppLocationPermissionPreferenceController.java b/src/com/android/settings/location/AppLocationPermissionPreferenceController.java
index d91b47b9cb..75c9e2f92b 100644
--- a/src/com/android/settings/location/AppLocationPermissionPreferenceController.java
+++ b/src/com/android/settings/location/AppLocationPermissionPreferenceController.java
@@ -1,14 +1,15 @@
package com.android.settings.location;
import android.content.Context;
-import android.content.Intent;
import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class AppLocationPermissionPreferenceController extends PreferenceController {
+public class AppLocationPermissionPreferenceController extends
+ AbstractPreferenceController implements PreferenceControllerMixin {
private static final String KEY_APP_LEVEL_PERMISSIONS = "app_level_permissions";
private Preference mPreference;
diff --git a/src/com/android/settings/location/LocationPreferenceController.java b/src/com/android/settings/location/LocationPreferenceController.java
index e4d4ca02c3..d4d939c319 100644
--- a/src/com/android/settings/location/LocationPreferenceController.java
+++ b/src/com/android/settings/location/LocationPreferenceController.java
@@ -25,14 +25,15 @@ import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class LocationPreferenceController extends PreferenceController implements
- LifecycleObserver, OnResume, OnPause {
+public class LocationPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
private static final String KEY_LOCATION = "location";
private Context mContext;
diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
index 8422ab44af..16f32eb058 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -27,15 +27,16 @@ import android.support.v7.preference.PreferenceScreen;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.TelephonyProperties;
import com.android.settings.AirplaneModeEnabler;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class AirplaneModePreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume, OnPause {
+public class AirplaneModePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
public static final int REQUEST_CODE_EXIT_ECM = 1;
diff --git a/src/com/android/settings/network/MobileNetworkPreferenceController.java b/src/com/android/settings/network/MobileNetworkPreferenceController.java
index b91552e4b1..d95205f1de 100644
--- a/src/com/android/settings/network/MobileNetworkPreferenceController.java
+++ b/src/com/android/settings/network/MobileNetworkPreferenceController.java
@@ -25,7 +25,8 @@ import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -34,8 +35,8 @@ import static android.os.UserHandle.myUserId;
import static android.os.UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS;
import static com.android.settingslib.RestrictedLockUtils.hasBaseUserRestriction;
-public class MobileNetworkPreferenceController extends PreferenceController implements
- LifecycleObserver, OnResume, OnPause {
+public class MobileNetworkPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
private static final String KEY_MOBILE_NETWORK_SETTINGS = "mobile_network_settings";
diff --git a/src/com/android/settings/network/MobilePlanPreferenceController.java b/src/com/android/settings/network/MobilePlanPreferenceController.java
index da4902dd8c..d5ff924f96 100644
--- a/src/com/android/settings/network/MobilePlanPreferenceController.java
+++ b/src/com/android/settings/network/MobilePlanPreferenceController.java
@@ -31,7 +31,8 @@ import android.util.Log;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnCreate;
import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;
@@ -45,8 +46,8 @@ import static android.os.UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS;
import static com.android.settingslib.RestrictedLockUtils.hasBaseUserRestriction;
-public class MobilePlanPreferenceController extends PreferenceController implements
- LifecycleObserver, OnCreate, OnSaveInstanceState {
+public class MobilePlanPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnCreate, OnSaveInstanceState {
public interface MobilePlanPreferenceHost {
void showMobilePlanMessageDialog();
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index 35de1bb60d..9d707608e0 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -15,6 +15,9 @@
*/
package com.android.settings.network;
+import static com.android.settings.network.MobilePlanPreferenceController
+ .MANAGE_MOBILE_PLAN_DIALOG_ID;
+
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
@@ -27,20 +30,17 @@ import android.view.MenuInflater;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.wifi.WifiMasterSwitchPreferenceController;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import static com.android.settings.network.MobilePlanPreferenceController
- .MANAGE_MOBILE_PLAN_DIALOG_ID;
-
public class NetworkDashboardFragment extends DashboardFragment implements
MobilePlanPreferenceController.MobilePlanPreferenceHost {
@@ -81,7 +81,7 @@ public class NetworkDashboardFragment extends DashboardFragment implements
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
final AirplaneModePreferenceController airplaneModePreferenceController =
new AirplaneModePreferenceController(context, this /* fragment */);
final MobilePlanPreferenceController mobilePlanPreferenceController =
@@ -99,7 +99,7 @@ public class NetworkDashboardFragment extends DashboardFragment implements
lifecycle.addObserver(mobileNetworkPreferenceController);
lifecycle.addObserver(vpnPreferenceController);
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(airplaneModePreferenceController);
controllers.add(mobileNetworkPreferenceController);
controllers.add(new TetherPreferenceController(context, lifecycle));
diff --git a/src/com/android/settings/network/NetworkResetPreferenceController.java b/src/com/android/settings/network/NetworkResetPreferenceController.java
index d8f321747d..58a5383f40 100644
--- a/src/com/android/settings/network/NetworkResetPreferenceController.java
+++ b/src/com/android/settings/network/NetworkResetPreferenceController.java
@@ -18,9 +18,11 @@ package com.android.settings.network;
import android.content.Context;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class NetworkResetPreferenceController extends PreferenceController {
+public class NetworkResetPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private final NetworkResetRestrictionChecker mRestrictionChecker;
diff --git a/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java b/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java
index 3e481a833d..8d4ea63836 100644
--- a/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java
+++ b/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java
@@ -20,15 +20,17 @@ import android.net.NetworkScorerAppData;
import android.support.v7.preference.Preference;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
/**
- * {@link PreferenceController} that shows the active network scorer and toggles the preference
- * based on whether or not there are valid scorers installed.
+ * {@link AbstractPreferenceController} that shows the active network scorer and toggles the
+ * preference based on whether or not there are valid scorers installed.
*/
-public class NetworkScorerPickerPreferenceController extends PreferenceController {
+public class NetworkScorerPickerPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_NETWORK_SCORER_PICKER = "network_scorer_picker";
diff --git a/src/com/android/settings/network/ProxyPreferenceController.java b/src/com/android/settings/network/ProxyPreferenceController.java
index edec247443..0970dd9a90 100644
--- a/src/com/android/settings/network/ProxyPreferenceController.java
+++ b/src/com/android/settings/network/ProxyPreferenceController.java
@@ -20,9 +20,11 @@ import android.content.Context;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class ProxyPreferenceController extends PreferenceController {
+public class ProxyPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_PROXY_SETTINGS = "proxy_settings";
diff --git a/src/com/android/settings/network/TetherPreferenceController.java b/src/com/android/settings/network/TetherPreferenceController.java
index 31a8526fb8..02290562a4 100644
--- a/src/com/android/settings/network/TetherPreferenceController.java
+++ b/src/com/android/settings/network/TetherPreferenceController.java
@@ -34,7 +34,8 @@ import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.TetherSettings;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnDestroy;
@@ -47,8 +48,8 @@ import static android.os.UserManager.DISALLOW_CONFIG_TETHERING;
import static com.android.settingslib.RestrictedLockUtils.checkIfRestrictionEnforced;
import static com.android.settingslib.RestrictedLockUtils.hasBaseUserRestriction;
-public class TetherPreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume, OnPause, OnDestroy {
+public class TetherPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause, OnDestroy {
private static final String KEY_TETHER_SETTINGS = "tether_settings";
diff --git a/src/com/android/settings/network/VpnPreferenceController.java b/src/com/android/settings/network/VpnPreferenceController.java
index a62be76d90..763fb725fb 100644
--- a/src/com/android/settings/network/VpnPreferenceController.java
+++ b/src/com/android/settings/network/VpnPreferenceController.java
@@ -39,8 +39,9 @@ import android.util.SparseArray;
import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -48,8 +49,8 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
import java.util.List;
-public class VpnPreferenceController extends PreferenceController implements LifecycleObserver,
- OnResume, OnPause {
+public class VpnPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
private static final String KEY_VPN_SETTINGS = "vpn_settings";
private static final NetworkRequest REQUEST = new NetworkRequest.Builder()
diff --git a/src/com/android/settings/network/WifiCallingPreferenceController.java b/src/com/android/settings/network/WifiCallingPreferenceController.java
index 0e673fa528..5d6e5cbb6f 100644
--- a/src/com/android/settings/network/WifiCallingPreferenceController.java
+++ b/src/com/android/settings/network/WifiCallingPreferenceController.java
@@ -21,9 +21,11 @@ import android.telephony.TelephonyManager;
import com.android.ims.ImsManager;
import com.android.settings.WifiCallingSettings;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class WifiCallingPreferenceController extends PreferenceController {
+public class WifiCallingPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_WFC_SETTINGS = "wifi_calling_settings";
private TelephonyManager mTm;
diff --git a/src/com/android/settings/nfc/NfcPreferenceController.java b/src/com/android/settings/nfc/NfcPreferenceController.java
index 074387139d..b146fe0862 100644
--- a/src/com/android/settings/nfc/NfcPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcPreferenceController.java
@@ -23,12 +23,10 @@ import android.nfc.NfcManager;
import android.os.Handler;
import android.provider.Settings;
import android.support.v14.preference.SwitchPreference;
-import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
-import com.android.settings.network.AirplaneModePreferenceController;
-import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -36,8 +34,8 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
import java.util.List;
-public class NfcPreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume, OnPause {
+public class NfcPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
public static final String KEY_TOGGLE_NFC = "toggle_nfc";
public static final String KEY_ANDROID_BEAM_SETTINGS = "android_beam_settings";
diff --git a/src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java b/src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java
index f513882018..bad626a3ae 100644
--- a/src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java
+++ b/src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java
@@ -23,14 +23,16 @@ import android.support.v7.preference.Preference;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.accounts.AccountRestrictionHelper;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
/**
* Base class for preference controller that handles preference that enforce adjust volume
* restriction
*/
-public abstract class AdjustVolumeRestrictedPreferenceController extends PreferenceController {
+public abstract class AdjustVolumeRestrictedPreferenceController extends
+ AbstractPreferenceController implements PreferenceControllerMixin {
private AccountRestrictionHelper mHelper;
diff --git a/src/com/android/settings/notification/BadgingNotificationPreferenceController.java b/src/com/android/settings/notification/BadgingNotificationPreferenceController.java
index decbe0b2f1..39522e83ad 100644
--- a/src/com/android/settings/notification/BadgingNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/BadgingNotificationPreferenceController.java
@@ -25,17 +25,18 @@ import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.TwoStatePreference;
-import android.util.Log;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
import static android.provider.Settings.Secure.NOTIFICATION_BADGING;
-public class BadgingNotificationPreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class BadgingNotificationPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnResume, OnPause {
private static final String TAG = "BadgeNotifPrefContr";
private static final String KEY_NOTIFICATION_BADGING = "notification_badging";
diff --git a/src/com/android/settings/notification/BootSoundPreferenceController.java b/src/com/android/settings/notification/BootSoundPreferenceController.java
index b644ee9a4c..945f9ae00d 100644
--- a/src/com/android/settings/notification/BootSoundPreferenceController.java
+++ b/src/com/android/settings/notification/BootSoundPreferenceController.java
@@ -22,9 +22,11 @@ import android.support.annotation.VisibleForTesting;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class BootSoundPreferenceController extends PreferenceController {
+public class BootSoundPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
// Boot Sounds needs to be a system property so it can be accessed during boot.
private static final String KEY_BOOT_SOUNDS = "boot_sounds";
diff --git a/src/com/android/settings/notification/CastPreferenceController.java b/src/com/android/settings/notification/CastPreferenceController.java
index 0156dfdbe8..fcb45352b6 100644
--- a/src/com/android/settings/notification/CastPreferenceController.java
+++ b/src/com/android/settings/notification/CastPreferenceController.java
@@ -18,9 +18,11 @@ package com.android.settings.notification;
import android.content.Context;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class CastPreferenceController extends PreferenceController {
+public class CastPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_WIFI_DISPLAY = "wifi_display";
diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java
index bfb9de0791..2b1ecc456b 100644
--- a/src/com/android/settings/notification/ConfigureNotificationSettings.java
+++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java
@@ -29,13 +29,12 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.RingtonePreference;
import com.android.settings.applications.NotificationApps;
-import com.android.settings.applications.NotificationApps.SummaryProvider;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.gestures.SwipeToNotificationPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -68,13 +67,13 @@ public class ConfigureNotificationSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
final BadgingNotificationPreferenceController badgeController =
new BadgingNotificationPreferenceController(context);
final PulseNotificationPreferenceController pulseController =
@@ -157,7 +156,7 @@ public class ConfigureNotificationSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null);
}
diff --git a/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java b/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java
index 39250c6847..d6291a8ffa 100644
--- a/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java
+++ b/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java
@@ -24,14 +24,16 @@ import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import com.android.settings.accounts.AccountRestrictionHelper;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
/**
* Base class for preference controller that handles preference that enforce adjust volume
* restriction
*/
-public class EmergencyBroadcastPreferenceController extends PreferenceController {
+public class EmergencyBroadcastPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private final String mPrefKey;
diff --git a/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java b/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
index 228e1857c2..db46ef1877 100644
--- a/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
@@ -32,8 +32,9 @@ import android.util.Log;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -43,8 +44,9 @@ import java.util.ArrayList;
import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS;
import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS;
-public class LockScreenNotificationPreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class LockScreenNotificationPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnResume, OnPause {
private static final String TAG = "LockScreenNotifPref";
diff --git a/src/com/android/settings/notification/PulseNotificationPreferenceController.java b/src/com/android/settings/notification/PulseNotificationPreferenceController.java
index d6db8ac931..4a8b8204f4 100644
--- a/src/com/android/settings/notification/PulseNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/PulseNotificationPreferenceController.java
@@ -27,15 +27,17 @@ import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.TwoStatePreference;
import android.util.Log;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
import static android.provider.Settings.System.NOTIFICATION_LIGHT_PULSE;
-public class PulseNotificationPreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class PulseNotificationPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnResume, OnPause {
private static final String TAG = "PulseNotifPrefContr";
private static final String KEY_NOTIFICATION_PULSE = "notification_pulse";
diff --git a/src/com/android/settings/notification/RingtonePreferenceControllerBase.java b/src/com/android/settings/notification/RingtonePreferenceControllerBase.java
index 333f08aebf..09a47b7d30 100644
--- a/src/com/android/settings/notification/RingtonePreferenceControllerBase.java
+++ b/src/com/android/settings/notification/RingtonePreferenceControllerBase.java
@@ -22,9 +22,11 @@ import android.media.RingtoneManager;
import android.net.Uri;
import android.support.v7.preference.Preference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public abstract class RingtonePreferenceControllerBase extends PreferenceController {
+public abstract class RingtonePreferenceControllerBase extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
public RingtonePreferenceControllerBase(Context context) {
super(context);
diff --git a/src/com/android/settings/notification/SettingPrefController.java b/src/com/android/settings/notification/SettingPrefController.java
index 413b4a2c0e..2af1bde3ca 100644
--- a/src/com/android/settings/notification/SettingPrefController.java
+++ b/src/com/android/settings/notification/SettingPrefController.java
@@ -27,15 +27,15 @@ import android.support.v7.preference.PreferenceScreen;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
-import java.util.List;
-public abstract class SettingPrefController extends PreferenceController implements
- LifecycleObserver, OnResume, OnPause {
+public abstract class SettingPrefController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
protected static final int DEFAULT_ON = 1;
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 8bee301f25..e759c390bd 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -31,9 +31,9 @@ import android.text.TextUtils;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.RingtonePreference;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -113,7 +113,7 @@ public class SoundSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, this, mVolumeCallback, getLifecycle());
}
@@ -182,10 +182,10 @@ public class SoundSettings extends DashboardFragment {
}
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
SoundSettings fragment, VolumeSeekBarPreference.Callback callback,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new ZenModePreferenceController(context));
controllers.add(new EmergencyBroadcastPreferenceController(
context, KEY_CELL_BROADCAST_SETTINGS));
@@ -233,7 +233,7 @@ public class SoundSettings extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* fragment */,
null /* callback */, null /* lifecycle */);
}
diff --git a/src/com/android/settings/notification/VibrateWhenRingPreferenceController.java b/src/com/android/settings/notification/VibrateWhenRingPreferenceController.java
index 338b652ee4..d41e16bc5a 100644
--- a/src/com/android/settings/notification/VibrateWhenRingPreferenceController.java
+++ b/src/com/android/settings/notification/VibrateWhenRingPreferenceController.java
@@ -27,15 +27,17 @@ import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.TwoStatePreference;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
import static android.provider.Settings.System.VIBRATE_WHEN_RINGING;
-public class VibrateWhenRingPreferenceController extends PreferenceController implements
- Preference.OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class VibrateWhenRingPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnResume, OnPause {
private static final String KEY_VIBRATE_WHEN_RINGING = "vibrate_when_ringing";
private SettingObserver mSettingObserver;
diff --git a/src/com/android/settings/notification/WorkSoundPreferenceController.java b/src/com/android/settings/notification/WorkSoundPreferenceController.java
index 465a2ec3ae..1497c2cd3f 100644
--- a/src/com/android/settings/notification/WorkSoundPreferenceController.java
+++ b/src/com/android/settings/notification/WorkSoundPreferenceController.java
@@ -43,15 +43,17 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.DefaultRingtonePreference;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class WorkSoundPreferenceController extends PreferenceController implements
- OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class WorkSoundPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, OnPreferenceChangeListener, LifecycleObserver,
+ OnResume, OnPause {
private static final String TAG = "WorkSoundPrefController";
private static final String KEY_WORK_CATEGORY = "sound_work_settings_section";
diff --git a/src/com/android/settings/search/BaseSearchIndexProvider.java b/src/com/android/settings/search/BaseSearchIndexProvider.java
index 11b4db1215..f43de3441d 100644
--- a/src/com/android/settings/search/BaseSearchIndexProvider.java
+++ b/src/com/android/settings/search/BaseSearchIndexProvider.java
@@ -25,7 +25,8 @@ import android.util.AttributeSet;
import android.util.Log;
import android.util.Xml;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -61,11 +62,17 @@ public class BaseSearchIndexProvider implements Indexable.SearchIndexProvider {
// Entire page should be suppressed, mark all keys from this page as non-indexable.
return getNonIndexableKeysFromXml(context);
}
- final List<PreferenceController> controllers = getPreferenceControllers(context);
+ final List<AbstractPreferenceController> controllers = getPreferenceControllers(context);
if (controllers != null && !controllers.isEmpty()) {
final List<String> nonIndexableKeys = new ArrayList<>();
- for (PreferenceController controller : controllers) {
- controller.updateNonIndexableKeys(nonIndexableKeys);
+ for (AbstractPreferenceController controller : controllers) {
+ if (controller instanceof PreferenceControllerMixin) {
+ ((PreferenceControllerMixin) controller)
+ .updateNonIndexableKeys(nonIndexableKeys);
+ } else {
+ throw new IllegalStateException(controller.getClass().getName()
+ + " must implement " + PreferenceControllerMixin.class.getName());
+ }
}
return nonIndexableKeys;
} else {
@@ -74,7 +81,7 @@ public class BaseSearchIndexProvider implements Indexable.SearchIndexProvider {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return null;
}
diff --git a/src/com/android/settings/search/DatabaseIndexingManager.java b/src/com/android/settings/search/DatabaseIndexingManager.java
index c681912e71..85ba869b79 100644
--- a/src/com/android/settings/search/DatabaseIndexingManager.java
+++ b/src/com/android/settings/search/DatabaseIndexingManager.java
@@ -42,7 +42,7 @@ import android.util.Log;
import android.util.Xml;
import com.android.settings.SettingsActivity;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -730,7 +730,7 @@ public class DatabaseIndexingManager {
final String intentTargetPackage = sir.intentTargetPackage;
final String intentTargetClass = sir.intentTargetClass;
- Map<String, PreferenceController> controllerUriMap = null;
+ Map<String, PreferenceControllerMixin> controllerUriMap = null;
if (fragmentName != null) {
controllerUriMap = DatabaseIndexingUtils
diff --git a/src/com/android/settings/search/DatabaseIndexingUtils.java b/src/com/android/settings/search/DatabaseIndexingUtils.java
index a6f3cb1ab1..b74fb53add 100644
--- a/src/com/android/settings/search/DatabaseIndexingUtils.java
+++ b/src/com/android/settings/search/DatabaseIndexingUtils.java
@@ -33,7 +33,8 @@ import android.util.Log;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.lang.reflect.Field;
import java.text.Normalizer;
@@ -75,12 +76,12 @@ public class DatabaseIndexingUtils {
/**
* @param className which wil provide the map between from {@link Uri}s to
- * {@link PreferenceController}
+ * {@link PreferenceControllerMixin}
* @param context
- * @return A map between {@link Uri}s and {@link PreferenceController}s to get the payload
+ * @return A map between {@link Uri}s and {@link PreferenceControllerMixin}s to get the payload
* types for Settings.
*/
- public static Map<String, PreferenceController> getPreferenceControllerUriMap(
+ public static Map<String, PreferenceControllerMixin> getPreferenceControllerUriMap(
String className, Context context) {
if (context == null) {
return null;
@@ -98,36 +99,41 @@ public class DatabaseIndexingUtils {
// SEARCH_INDEX_DATA_PROVIDER field
final Indexable.SearchIndexProvider provider = getSearchIndexProvider(clazz);
- List<PreferenceController> controllers =
+ List<AbstractPreferenceController> controllers =
provider.getPreferenceControllers(context);
if (controllers == null ) {
return null;
}
- ArrayMap<String, PreferenceController> map = new ArrayMap<>();
+ ArrayMap<String, PreferenceControllerMixin> map = new ArrayMap<>();
- for (PreferenceController controller : controllers) {
- map.put(controller.getPreferenceKey(), controller);
+ for (AbstractPreferenceController controller : controllers) {
+ if (controller instanceof PreferenceControllerMixin) {
+ map.put(controller.getPreferenceKey(), (PreferenceControllerMixin) controller);
+ } else {
+ throw new IllegalStateException(controller.getClass().getName()
+ + " must implement " + PreferenceControllerMixin.class.getName());
+ }
}
return map;
}
/**
- * @param uriMap Map between the {@link PreferenceController} keys
+ * @param uriMap Map between the {@link PreferenceControllerMixin} keys
* and the controllers themselves.
* @param key The look-up key
- * @return The Payload from the {@link PreferenceController} specified by the key, if it exists.
- * Otherwise null.
+ * @return The Payload from the {@link PreferenceControllerMixin} specified by the key,
+ * if it exists. Otherwise null.
*/
- public static ResultPayload getPayloadFromUriMap(Map<String, PreferenceController> uriMap,
+ public static ResultPayload getPayloadFromUriMap(Map<String, PreferenceControllerMixin> uriMap,
String key) {
if (uriMap == null) {
return null;
}
- PreferenceController controller = uriMap.get(key);
+ PreferenceControllerMixin controller = uriMap.get(key);
if (controller == null) {
return null;
}
diff --git a/src/com/android/settings/search/Indexable.java b/src/com/android/settings/search/Indexable.java
index 2ec4ac055d..505f41b400 100644
--- a/src/com/android/settings/search/Indexable.java
+++ b/src/com/android/settings/search/Indexable.java
@@ -18,7 +18,8 @@ package com.android.settings.search;
import android.content.Context;
import android.provider.SearchIndexableResource;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
@@ -69,8 +70,9 @@ public interface Indexable {
/**
* @param context
- * @return a list of {@link PreferenceController} for ResultPayload data during Indexing.
+ * @return a list of {@link AbstractPreferenceController} for ResultPayload data during
+ * Indexing.
*/
- List<PreferenceController> getPreferenceControllers(Context context);
+ List<AbstractPreferenceController> getPreferenceControllers(Context context);
}
}
diff --git a/src/com/android/settings/security/LockscreenDashboardFragment.java b/src/com/android/settings/security/LockscreenDashboardFragment.java
index e239a438de..b679b73c5a 100644
--- a/src/com/android/settings/security/LockscreenDashboardFragment.java
+++ b/src/com/android/settings/security/LockscreenDashboardFragment.java
@@ -23,10 +23,10 @@ import android.support.annotation.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.accounts.AddUserWhenLockedPreferenceController;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.notification.LockScreenNotificationPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -73,8 +73,8 @@ public class LockscreenDashboardFragment extends DashboardFragment
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
final Lifecycle lifecycle = getLifecycle();
final LockScreenNotificationPreferenceController notificationController =
new LockScreenNotificationPreferenceController(context,
@@ -111,8 +111,8 @@ public class LockscreenDashboardFragment extends DashboardFragment
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new LockScreenNotificationPreferenceController(context));
controllers.add(new AddUserWhenLockedPreferenceController(context));
controllers.add(new OwnerInfoPreferenceController(
diff --git a/src/com/android/settings/security/OwnerInfoPreferenceController.java b/src/com/android/settings/security/OwnerInfoPreferenceController.java
index a687cb9045..cae4d1099b 100644
--- a/src/com/android/settings/security/OwnerInfoPreferenceController.java
+++ b/src/com/android/settings/security/OwnerInfoPreferenceController.java
@@ -24,16 +24,17 @@ import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceScreen;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.OwnerInfoSettings;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnResume;
-public class OwnerInfoPreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume {
+public class OwnerInfoPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume {
private static final String KEY_OWNER_INFO = "owner_info_settings";
private static final int MY_USER_ID = UserHandle.myUserId();
diff --git a/src/com/android/settings/system/FactoryResetPreferenceController.java b/src/com/android/settings/system/FactoryResetPreferenceController.java
index a3cf10a531..69eef2a655 100644
--- a/src/com/android/settings/system/FactoryResetPreferenceController.java
+++ b/src/com/android/settings/system/FactoryResetPreferenceController.java
@@ -25,11 +25,13 @@ import android.support.v7.preference.Preference;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
-public class FactoryResetPreferenceController extends PreferenceController {
+public class FactoryResetPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
/** Key of the "Factory reset" preference in {@link R.xml.reset_dashboard_fragment}. */
private static final String KEY_FACTORY_RESET = "factory_reset";
diff --git a/src/com/android/settings/system/ResetDashboardFragment.java b/src/com/android/settings/system/ResetDashboardFragment.java
index c04e3744d1..48295a42e1 100644
--- a/src/com/android/settings/system/ResetDashboardFragment.java
+++ b/src/com/android/settings/system/ResetDashboardFragment.java
@@ -22,11 +22,11 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.applications.ResetAppPrefPreferenceController;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.network.NetworkResetPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
@@ -52,13 +52,13 @@ public class ResetDashboardFragment extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle());
}
- private static List<PreferenceController> buildPreferenceControllers(Context context,
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new NetworkResetPreferenceController(context));
controllers.add(new FactoryResetPreferenceController(context));
controllers.add(new ResetAppPrefPreferenceController(context, lifecycle));
@@ -79,7 +79,7 @@ public class ResetDashboardFragment extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* lifecycle */);
}
};
diff --git a/src/com/android/settings/system/SystemDashboardFragment.java b/src/com/android/settings/system/SystemDashboardFragment.java
index fd164bef37..5d4e7da122 100644
--- a/src/com/android/settings/system/SystemDashboardFragment.java
+++ b/src/com/android/settings/system/SystemDashboardFragment.java
@@ -22,12 +22,12 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.backup.BackupSettingsActivityPreferenceController;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.deviceinfo.AdditionalSystemUpdatePreferenceController;
import com.android.settings.deviceinfo.SystemUpdatePreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.Arrays;
@@ -60,12 +60,12 @@ public class SystemDashboardFragment extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context);
}
- private static List<PreferenceController> buildPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new SystemUpdatePreferenceController(context, UserManager.get(context)));
controllers.add(new AdditionalSystemUpdatePreferenceController(context));
controllers.add(new BackupSettingsActivityPreferenceController(context));
@@ -86,7 +86,7 @@ public class SystemDashboardFragment extends DashboardFragment {
}
@Override
- public List<PreferenceController> getPreferenceControllers(Context context) {
+ public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context);
}
diff --git a/src/com/android/settings/wifi/CellularFallbackPreferenceController.java b/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
index 4e9174c21c..2baf261dd7 100644
--- a/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
+++ b/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
@@ -22,13 +22,15 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
/**
- * {@link PreferenceController} that controls whether we should fall back to celluar when wifi is
- * bad.
+ * {@link AbstractPreferenceController} that controls whether we should fall back to celluar when
+ * wifi is bad.
*/
-public class CellularFallbackPreferenceController extends PreferenceController {
+public class CellularFallbackPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private static final String KEY_CELLULAR_FALLBACK = "wifi_cellular_data_fallback";
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index a50a1d91e5..f00fb73990 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -15,7 +15,6 @@
*/
package com.android.settings.wifi;
-import static android.content.Context.NETWORK_SCORE_SERVICE;
import static android.content.Context.WIFI_SERVICE;
import android.content.Context;
@@ -27,7 +26,6 @@ import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.network.NetworkScoreManagerWrapper;
import com.android.settings.network.NetworkScorerPickerPreferenceController;
@@ -35,6 +33,7 @@ import com.android.settings.network.WifiCallingPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.wifi.p2p.WifiP2pPreferenceController;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.Arrays;
@@ -69,13 +68,13 @@ public class ConfigureWifiSettings extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
final NetworkScoreManagerWrapper networkScoreManagerWrapper =
new NetworkScoreManagerWrapper(context.getSystemService(NetworkScoreManager.class));
mUseOpenWifiPreferenceController = new UseOpenWifiPreferenceController(context, this,
networkScoreManagerWrapper, getLifecycle());
final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
- final List<PreferenceController> controllers = new ArrayList<>();
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new WifiWakeupPreferenceController(context, getLifecycle()));
controllers.add(new NetworkScorerPickerPreferenceController(context,
networkScoreManagerWrapper));
diff --git a/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java b/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
index 7cf19f2883..79b7653a32 100644
--- a/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
+++ b/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
@@ -27,18 +27,19 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
/**
- * {@link PreferenceController} that controls whether we should notify user when open network is
- * available.
+ * {@link AbstractPreferenceController} that controls whether we should notify user when open
+ * network is available.
*/
-public class NotifyOpenNetworksPreferenceController extends PreferenceController implements
- LifecycleObserver, OnResume, OnPause {
+public class NotifyOpenNetworksPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
private static final String KEY_NOTIFY_OPEN_NETWORKS = "notify_open_networks";
private SettingObserver mSettingObserver;
diff --git a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
index 37cd692d27..c2846793ab 100644
--- a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
+++ b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
@@ -21,18 +21,20 @@ import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import com.android.settings.network.NetworkScoreManagerWrapper;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
/**
- * {@link PreferenceController} that controls whether a user wants to enable the "use open networks
- * automatically" feature provider by the current network recommendation provider.
+ * {@link AbstractPreferenceController} that controls whether a user wants to enable the "use open
+ * networks automatically" feature provider by the current network recommendation provider.
*/
-public class UseOpenWifiPreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener, LifecycleObserver, OnResume, OnPause {
+public class UseOpenWifiPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+ LifecycleObserver, OnResume, OnPause {
private static final String KEY_USE_OPEN_WIFI_AUTOMATICALLY = "use_open_wifi_automatically";
@VisibleForTesting static final int REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY = 400;
diff --git a/src/com/android/settings/wifi/WifiInfoPreferenceController.java b/src/com/android/settings/wifi/WifiInfoPreferenceController.java
index 238f0e19fd..97c4fb9d1b 100644
--- a/src/com/android/settings/wifi/WifiInfoPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiInfoPreferenceController.java
@@ -28,17 +28,18 @@ import android.text.TextUtils;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
/**
- * {@link PreferenceController} that updates MAC/IP address.
+ * {@link PreferenceControllerMixin} that updates MAC/IP address.
*/
-public class WifiInfoPreferenceController extends PreferenceController implements
- LifecycleObserver, OnResume, OnPause {
+public class WifiInfoPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
private static final String KEY_CURRENT_IP_ADDRESS = "current_ip_address";
private static final String KEY_MAC_ADDRESS = "mac_address";
diff --git a/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java b/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
index bc61cff0ea..2fadede220 100644
--- a/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
@@ -18,19 +18,20 @@ package com.android.settings.wifi;
import android.content.Context;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.widget.SummaryUpdater;
import com.android.settings.widget.MasterSwitchPreference;
import com.android.settings.widget.MasterSwitchController;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
-public class WifiMasterSwitchPreferenceController extends PreferenceController
- implements SummaryUpdater.OnSummaryChangeListener,
+public class WifiMasterSwitchPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, SummaryUpdater.OnSummaryChangeListener,
LifecycleObserver, OnResume, OnPause, OnStart, OnStop {
public static final String KEY_TOGGLE_WIFI = "toggle_wifi";
diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
index 9ec4c59e6e..3496246452 100644
--- a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
@@ -28,17 +28,19 @@ import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
/**
- * {@link PreferenceController} that controls whether the Wi-Fi Wakeup feature should be enabled.
+ * {@link PreferenceControllerMixin} that controls whether the Wi-Fi Wakeup feature should be
+ * enabled.
*/
-public class WifiWakeupPreferenceController extends PreferenceController implements
- LifecycleObserver, OnResume, OnPause {
+public class WifiWakeupPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
private static final String KEY_ENABLE_WIFI_WAKEUP = "enable_wifi_wakeup";
private SettingObserver mSettingObserver;
diff --git a/src/com/android/settings/wifi/WpsPreferenceController.java b/src/com/android/settings/wifi/WpsPreferenceController.java
index 7aaa7eb939..f636593670 100644
--- a/src/com/android/settings/wifi/WpsPreferenceController.java
+++ b/src/com/android/settings/wifi/WpsPreferenceController.java
@@ -29,18 +29,19 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
/**
- * {@link PreferenceController} that shows Dialog for WPS progress. Disabled when Wi-Fi is off.
+ * {@link PreferenceControllerMixin} that shows Dialog for WPS progress. Disabled when Wi-Fi is off.
*/
-public class WpsPreferenceController extends PreferenceController implements
- LifecycleObserver, OnPause, OnResume {
+public class WpsPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnPause, OnResume {
private static final String KEY_WPS_PUSH = "wps_push_button";
private static final String KEY_WPS_PIN = "wps_pin_entry";
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index 4ab0805d15..fe61faf63c 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -27,7 +27,6 @@ import android.content.IntentFilter;
import android.graphics.drawable.Drawable;
import android.net.ConnectivityManager;
import android.net.ConnectivityManager.NetworkCallback;
-import android.net.IpPrefix;
import android.net.LinkAddress;
import android.net.LinkProperties;
import android.net.Network;
@@ -53,10 +52,11 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.applications.LayoutPreference;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.vpn2.ConnectivityManagerWrapper;
import com.android.settings.wifi.WifiDetailPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -67,7 +67,6 @@ import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
-import java.util.List;
import java.util.StringJoiner;
import java.util.stream.Collectors;
@@ -75,8 +74,8 @@ import java.util.stream.Collectors;
* Controller for logic pertaining to displaying Wifi information for the
* {@link WifiNetworkDetailsFragment}.
*/
-public class WifiDetailPreferenceController extends PreferenceController implements
- LifecycleObserver, OnPause, OnResume {
+public class WifiDetailPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnPause, OnResume {
private static final String TAG = "WifiDetailsPrefCtrl";
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
index 664ac7f09c..001601016a 100644
--- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
@@ -24,9 +24,9 @@ import android.os.Looper;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.vpn2.ConnectivityManagerWrapperImpl;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.wifi.AccessPoint;
import java.util.ArrayList;
@@ -66,7 +66,7 @@ public class WifiNetworkDetailsFragment extends DashboardFragment {
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
mWifiDetailPreferenceController = new WifiDetailPreferenceController(
mAccessPoint,
@@ -78,7 +78,7 @@ public class WifiNetworkDetailsFragment extends DashboardFragment {
context.getSystemService(WifiManager.class),
mMetricsFeatureProvider);
- ArrayList<PreferenceController> controllers = new ArrayList(1);
+ ArrayList<AbstractPreferenceController> controllers = new ArrayList(1);
controllers.add(mWifiDetailPreferenceController);
return controllers;
}
diff --git a/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceController.java b/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceController.java
index 3df1978d51..e77762653f 100644
--- a/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceController.java
+++ b/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceController.java
@@ -21,9 +21,11 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceGroup;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public abstract class P2pCategoryPreferenceController extends PreferenceController {
+public abstract class P2pCategoryPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
protected PreferenceGroup mCategory;
diff --git a/src/com/android/settings/wifi/p2p/P2pThisDevicePreferenceController.java b/src/com/android/settings/wifi/p2p/P2pThisDevicePreferenceController.java
index ca992a984e..9ed315815f 100644
--- a/src/com/android/settings/wifi/p2p/P2pThisDevicePreferenceController.java
+++ b/src/com/android/settings/wifi/p2p/P2pThisDevicePreferenceController.java
@@ -22,9 +22,11 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public class P2pThisDevicePreferenceController extends PreferenceController {
+public class P2pThisDevicePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin {
private Preference mPreference;
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java b/src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java
index 3eb2b7b239..2d5e25fe35 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java
@@ -24,17 +24,18 @@ import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
/**
- * {@link PreferenceController} to toggle Wifi Direct preference on Wi-Fi state.
+ * {@link PreferenceControllerMixin} to toggle Wifi Direct preference on Wi-Fi state.
*/
-public class WifiP2pPreferenceController extends PreferenceController implements
- LifecycleObserver, OnPause, OnResume {
+public class WifiP2pPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnPause, OnResume {
private static final String KEY_WIFI_DIRECT = "wifi_direct";
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
index cd328d9bb7..109aa916ac 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
@@ -51,8 +51,8 @@ import android.widget.Toast;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.List;
@@ -168,8 +168,8 @@ public class WifiP2pSettings extends DashboardFragment
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
mPersistentCategoryController =
new P2pPersistentCategoryPreferenceController(context);
mPeerCategoryController =
diff --git a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
index eb21175544..b6aba1b688 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
@@ -22,10 +22,11 @@ import android.net.wifi.WifiManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
-public abstract class WifiTetherBasePreferenceController extends PreferenceController
- implements Preference.OnPreferenceChangeListener {
+public abstract class WifiTetherBasePreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
public interface OnTetherConfigUpdateListener {
void onTetherConfigUpdated();
diff --git a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
index 46fb7a983a..4fe01d38c4 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
@@ -30,7 +30,8 @@ import android.text.BidiFormatter;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.PreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -38,8 +39,8 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
import java.util.List;
-public class WifiTetherPreferenceController extends PreferenceController
- implements LifecycleObserver, OnResume, OnPause {
+public class WifiTetherPreferenceController extends AbstractPreferenceController
+ implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
public static final IntentFilter WIFI_TETHER_INTENT_FILTER;
private static final String WIFI_TETHER_SETTINGS = "wifi_tether";
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index 2584ed463e..73fb3090b7 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -16,6 +16,9 @@
package com.android.settings.wifi.tether;
+import static android.net.ConnectivityManager.ACTION_TETHER_STATE_CHANGED;
+import static android.net.wifi.WifiManager.WIFI_AP_STATE_CHANGED_ACTION;
+
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -31,16 +34,13 @@ import android.util.Log;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
-import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.core.AbstractPreferenceController;
import java.util.ArrayList;
import java.util.List;
-import static android.net.ConnectivityManager.ACTION_TETHER_STATE_CHANGED;
-import static android.net.wifi.WifiManager.WIFI_AP_STATE_CHANGED_ACTION;
-
public class WifiTetherSettings extends RestrictedDashboardFragment
implements WifiTetherBasePreferenceController.OnTetherConfigUpdateListener {
@@ -124,8 +124,8 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
}
@Override
- protected List<PreferenceController> getPreferenceControllers(Context context) {
- final List<PreferenceController> controllers = new ArrayList<>();
+ protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
mSSIDPreferenceController = new WifiTetherSSIDPreferenceController(context, this);
mPasswordPreferenceController = new WifiTetherPasswordPreferenceController(context, this);
mApBandPreferenceController = new WifiTetherApBandPreferenceController(context, this);