Merge "Refactor some Preference Controllers to use BasePreferenceController"
This commit is contained in:
committed by
Android (Google) Code Review
commit
2e8a9b292d
@@ -18,21 +18,15 @@ import android.content.Context;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class EnterprisePrivacyPreferenceController extends AbstractPreferenceController implements
|
||||
public class EnterprisePrivacyPreferenceController extends BasePreferenceController implements
|
||||
PreferenceControllerMixin {
|
||||
|
||||
private static final String KEY_ENTERPRISE_PRIVACY = "enterprise_privacy";
|
||||
private final PrivacyPreferenceControllerHelper mPrivacyPreferenceControllerHelper;
|
||||
private final String mPreferenceKey;
|
||||
|
||||
public EnterprisePrivacyPreferenceController(Context context) {
|
||||
this(Objects.requireNonNull(context), KEY_ENTERPRISE_PRIVACY);
|
||||
}
|
||||
|
||||
public EnterprisePrivacyPreferenceController(Context context, String key) {
|
||||
this(Objects.requireNonNull(context), new PrivacyPreferenceControllerHelper(context), key);
|
||||
@@ -41,10 +35,9 @@ public class EnterprisePrivacyPreferenceController extends AbstractPreferenceCon
|
||||
@VisibleForTesting
|
||||
EnterprisePrivacyPreferenceController(Context context,
|
||||
PrivacyPreferenceControllerHelper privacyPreferenceControllerHelper, String key) {
|
||||
super(Objects.requireNonNull(context));
|
||||
super(Objects.requireNonNull(context), key);
|
||||
mPrivacyPreferenceControllerHelper = Objects.requireNonNull(
|
||||
privacyPreferenceControllerHelper);
|
||||
this.mPreferenceKey = key;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -53,13 +46,10 @@ public class EnterprisePrivacyPreferenceController extends AbstractPreferenceCon
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
public int getAvailabilityStatus() {
|
||||
return mPrivacyPreferenceControllerHelper.hasDeviceOwner()
|
||||
&& !mPrivacyPreferenceControllerHelper.isFinancedDevice();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return mPreferenceKey;
|
||||
&& !mPrivacyPreferenceControllerHelper.isFinancedDevice()
|
||||
? AVAILABLE
|
||||
: UNSUPPORTED_ON_DEVICE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,22 +21,16 @@ import android.content.Context;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/** Preference controller which displays a financed preference for financed devices. */
|
||||
public class FinancedPrivacyPreferenceController extends AbstractPreferenceController implements
|
||||
public class FinancedPrivacyPreferenceController extends BasePreferenceController implements
|
||||
PreferenceControllerMixin {
|
||||
|
||||
private static final String PREF_KEY_FINANCED_PRIVACY = "financed_privacy";
|
||||
private final PrivacyPreferenceControllerHelper mPrivacyPreferenceControllerHelper;
|
||||
private final String mPreferenceKey;
|
||||
|
||||
public FinancedPrivacyPreferenceController(Context context) {
|
||||
this(Objects.requireNonNull(context), PREF_KEY_FINANCED_PRIVACY);
|
||||
}
|
||||
|
||||
public FinancedPrivacyPreferenceController(Context context, String key) {
|
||||
this(Objects.requireNonNull(context), new PrivacyPreferenceControllerHelper(context), key);
|
||||
@@ -45,10 +39,9 @@ public class FinancedPrivacyPreferenceController extends AbstractPreferenceContr
|
||||
@VisibleForTesting
|
||||
FinancedPrivacyPreferenceController(Context context,
|
||||
PrivacyPreferenceControllerHelper privacyPreferenceControllerHelper, String key) {
|
||||
super(Objects.requireNonNull(context));
|
||||
super(Objects.requireNonNull(context), key);
|
||||
mPrivacyPreferenceControllerHelper = Objects.requireNonNull(
|
||||
privacyPreferenceControllerHelper);
|
||||
this.mPreferenceKey = key;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -57,12 +50,9 @@ public class FinancedPrivacyPreferenceController extends AbstractPreferenceContr
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
return mPrivacyPreferenceControllerHelper.isFinancedDevice();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return mPreferenceKey;
|
||||
public int getAvailabilityStatus() {
|
||||
return mPrivacyPreferenceControllerHelper.isFinancedDevice()
|
||||
? AVAILABLE
|
||||
: CONDITIONALLY_UNAVAILABLE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,12 +24,6 @@ import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
public class ScreenPinningPreferenceController extends BasePreferenceController {
|
||||
|
||||
private static final String KEY_SCREEN_PINNING = "screen_pinning_settings";
|
||||
|
||||
public ScreenPinningPreferenceController(Context context) {
|
||||
this(context, KEY_SCREEN_PINNING);
|
||||
}
|
||||
|
||||
public ScreenPinningPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
}
|
||||
@@ -37,7 +31,7 @@ public class ScreenPinningPreferenceController extends BasePreferenceController
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return mContext.getResources().getBoolean(R.bool.config_show_screen_pinning_settings)
|
||||
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
||||
? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package com.android.settings.security;
|
||||
|
||||
import static com.android.settings.security.EncryptionStatusPreferenceController.PREF_KEY_ENCRYPTION_SECURITY_PAGE;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -27,10 +25,7 @@ import com.android.settings.biometrics.combination.CombinedBiometricProfileStatu
|
||||
import com.android.settings.biometrics.face.FaceProfileStatusPreferenceController;
|
||||
import com.android.settings.biometrics.fingerprint.FingerprintProfileStatusPreferenceController;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.enterprise.EnterprisePrivacyPreferenceController;
|
||||
import com.android.settings.enterprise.FinancedPrivacyPreferenceController;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.security.trustagent.ManageTrustAgentsPreferenceController;
|
||||
import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
|
||||
import com.android.settings.widget.PreferenceCategoryController;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
@@ -96,13 +91,6 @@ public class SecurityAdvancedSettings extends DashboardFragment {
|
||||
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
|
||||
Lifecycle lifecycle, DashboardFragment host) {
|
||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||
controllers.add(new EnterprisePrivacyPreferenceController(context));
|
||||
controllers.add(new FinancedPrivacyPreferenceController(context));
|
||||
controllers.add(new ManageTrustAgentsPreferenceController(context));
|
||||
controllers.add(new ScreenPinningPreferenceController(context));
|
||||
controllers.add(new SimLockPreferenceController(context));
|
||||
controllers.add(new EncryptionStatusPreferenceController(context,
|
||||
PREF_KEY_ENCRYPTION_SECURITY_PAGE));
|
||||
controllers.add(new TrustAgentListPreferenceController(context, host, lifecycle));
|
||||
|
||||
final List<AbstractPreferenceController> profileSecurityControllers = new ArrayList<>();
|
||||
|
||||
@@ -33,17 +33,11 @@ import java.util.List;
|
||||
|
||||
public class SimLockPreferenceController extends BasePreferenceController {
|
||||
|
||||
private static final String KEY_SIM_LOCK = "sim_lock_settings";
|
||||
|
||||
private final CarrierConfigManager mCarrierConfigManager;
|
||||
private final UserManager mUserManager;
|
||||
private final SubscriptionManager mSubscriptionManager;
|
||||
private TelephonyManager mTelephonyManager;
|
||||
|
||||
public SimLockPreferenceController(Context context) {
|
||||
this(context, KEY_SIM_LOCK);
|
||||
}
|
||||
|
||||
public SimLockPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
||||
|
||||
@@ -19,7 +19,6 @@ package com.android.settings.security.trustagent;
|
||||
import android.content.Context;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
@@ -30,17 +29,11 @@ import com.android.settings.security.SecurityFeatureProvider;
|
||||
|
||||
public class ManageTrustAgentsPreferenceController extends BasePreferenceController {
|
||||
|
||||
@VisibleForTesting
|
||||
static final String KEY_MANAGE_TRUST_AGENTS = "manage_trust_agents";
|
||||
private static final int MY_USER_ID = UserHandle.myUserId();
|
||||
|
||||
private final LockPatternUtils mLockPatternUtils;
|
||||
private TrustAgentManager mTrustAgentManager;
|
||||
|
||||
public ManageTrustAgentsPreferenceController(Context context) {
|
||||
this(context, KEY_MANAGE_TRUST_AGENTS);
|
||||
}
|
||||
|
||||
public ManageTrustAgentsPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
final SecurityFeatureProvider securityFeatureProvider = FeatureFactory.getFactory(context)
|
||||
|
||||
Reference in New Issue
Block a user