Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e8a9b29 authored by Yuri Ufimtsev's avatar Yuri Ufimtsev Committed by Android (Google) Code Review
Browse files

Merge "Refactor some Preference Controllers to use BasePreferenceController"

parents 6649b9b0 cdc2677c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -27,7 +27,8 @@
            android:key="encryption_and_credentials_encryption_status"
            android:title="@string/crypt_keeper_encrypt_title"
            android:fragment="com.android.settings.security.CryptKeeperSettings"
            android:summary="@string/summary_placeholder" />
            android:summary="@string/summary_placeholder"
            settings:controller="com.android.settings.security.EncryptionStatusPreferenceController"/>

    </PreferenceCategory>

+13 −7
Original line number Diff line number Diff line
@@ -47,20 +47,23 @@
            android:key="enterprise_privacy"
            android:title="@string/enterprise_privacy_settings"
            android:summary="@string/summary_placeholder"
            android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings" />
            android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings"
            settings:controller="com.android.settings.enterprise.EnterprisePrivacyPreferenceController"/>

        <Preference
            android:key="financed_privacy"
            android:title="@string/financed_privacy_settings"
            android:summary="@string/summary_placeholder"
            android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings" />
            android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings"
            settings:controller="com.android.settings.enterprise.FinancedPrivacyPreferenceController"/>

    </PreferenceCategory>

    <Preference
        android:order="50"
        android:key="sim_lock_settings"
        android:title="@string/sim_lock_settings_category">
        android:title="@string/sim_lock_settings_category"
        settings:controller="com.android.settings.security.SimLockPreferenceController">

        <intent
            android:action="android.intent.action.MAIN"
@@ -74,14 +77,16 @@
        android:key="encryption_and_credential"
        android:title="@string/encryption_and_credential_settings_title"
        android:summary="@string/encryption_and_credential_settings_summary"
        android:fragment="com.android.settings.security.EncryptionAndCredential" />
        android:fragment="com.android.settings.security.EncryptionAndCredential"
        settings:controller="com.android.settings.security.EncryptionStatusPreferenceController" />

    <Preference
        android:order="70"
        android:key="manage_trust_agents"
        android:title="@string/manage_trust_agents"
        android:summary="@string/summary_placeholder"
        android:fragment="com.android.settings.security.trustagent.TrustAgentSettings" />
        android:fragment="com.android.settings.security.trustagent.TrustAgentSettings"
        settings:controller="com.android.settings.security.trustagent.ManageTrustAgentsPreferenceController" />

    <Preference
        android:order="80"
@@ -89,7 +94,8 @@
        android:title="@string/screen_pinning_title"
        android:summary="@string/summary_placeholder"
        android:fragment="com.android.settings.security.ScreenPinningSettings"
        settings:keywords="@string/keywords_app_pinning" />
        settings:keywords="@string/keywords_app_pinning"
        settings:controller="com.android.settings.security.ScreenPinningPreferenceController" />

    <SwitchPreference
        android:order="90"
+7 −17
Original line number Diff line number Diff line
@@ -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;
    }
}
+7 −17
Original line number Diff line number Diff line
@@ -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;
    }
}
+1 −7
Original line number Diff line number Diff line
@@ -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
Loading