Make PreferenceController a mixin
Bug: 62912136 Test: Existing tests in BaseSearchIndexProviderTest Change-Id: Ieda359806c09a019840b2005446c7ec8b61fdb00
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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/*";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user