Make PreferenceController a mixin

Bug: 62912136
Test: Existing tests in BaseSearchIndexProviderTest
Change-Id: Ieda359806c09a019840b2005446c7ec8b61fdb00
This commit is contained in:
Tony Mantler
2017-06-13 13:09:25 -07:00
parent 4bac421538
commit 1d583e125f
203 changed files with 1027 additions and 782 deletions

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;

View File

@@ -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 */);
}
};

View File

@@ -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());

View File

@@ -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;

View File

@@ -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;