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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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