Merge "Refactor some Preference Controllers to use BasePreferenceController"

This commit is contained in:
Yuri Ufimtsev
2022-01-10 14:48:13 +00:00
committed by Android (Google) Code Review
11 changed files with 33 additions and 77 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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