Enable controllers to use a custom key.

Test: atest SettingsUnitTests
Test: m -j45 RunSettingsRoboTests
Bug: 191763369
Change-Id: I48eea95613600580c80c8850f0a3fd543a7e0a43
This commit is contained in:
Jan Tomljanovic
2021-06-25 01:45:30 +01:00
parent 37b1831d0d
commit c6667337ca
18 changed files with 171 additions and 27 deletions

View File

@@ -19,16 +19,20 @@ package com.android.settings.biometrics.face;
import android.content.Context;
import android.os.UserHandle;
import com.android.settings.R;
import androidx.preference.Preference;
import com.android.settings.R;
public class FaceProfileStatusPreferenceController extends FaceStatusPreferenceController {
private static final String KEY_FACE_SETTINGS = "face_settings_profile";
public FaceProfileStatusPreferenceController(Context context) {
super(context, KEY_FACE_SETTINGS);
this(context, KEY_FACE_SETTINGS);
}
public FaceProfileStatusPreferenceController(Context context, String key) {
super(context, key);
}
@Override

View File

@@ -25,7 +25,11 @@ public class FingerprintProfileStatusPreferenceController
public static final String KEY_FINGERPRINT_SETTINGS = "fingerprint_settings_profile";
public FingerprintProfileStatusPreferenceController(Context context) {
super(context, KEY_FINGERPRINT_SETTINGS);
this(context, KEY_FINGERPRINT_SETTINGS);
}
public FingerprintProfileStatusPreferenceController(Context context, String key) {
super(context, key);
}
@Override

View File

@@ -28,17 +28,23 @@ public class EnterprisePrivacyPreferenceController extends AbstractPreferenceCon
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), new PrivacyPreferenceControllerHelper(context));
this(Objects.requireNonNull(context), KEY_ENTERPRISE_PRIVACY);
}
public EnterprisePrivacyPreferenceController(Context context, String key) {
this(Objects.requireNonNull(context), new PrivacyPreferenceControllerHelper(context), key);
}
@VisibleForTesting
EnterprisePrivacyPreferenceController(
Context context, PrivacyPreferenceControllerHelper privacyPreferenceControllerHelper) {
EnterprisePrivacyPreferenceController(Context context,
PrivacyPreferenceControllerHelper privacyPreferenceControllerHelper, String key) {
super(Objects.requireNonNull(context));
mPrivacyPreferenceControllerHelper = Objects.requireNonNull(
privacyPreferenceControllerHelper);
this.mPreferenceKey = key;
}
@Override
@@ -54,6 +60,6 @@ public class EnterprisePrivacyPreferenceController extends AbstractPreferenceCon
@Override
public String getPreferenceKey() {
return KEY_ENTERPRISE_PRIVACY;
return mPreferenceKey;
}
}

View File

@@ -32,17 +32,23 @@ public class FinancedPrivacyPreferenceController extends AbstractPreferenceContr
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), new PrivacyPreferenceControllerHelper(context));
this(Objects.requireNonNull(context), PREF_KEY_FINANCED_PRIVACY);
}
public FinancedPrivacyPreferenceController(Context context, String key) {
this(Objects.requireNonNull(context), new PrivacyPreferenceControllerHelper(context), key);
}
@VisibleForTesting
FinancedPrivacyPreferenceController(
Context context, PrivacyPreferenceControllerHelper privacyPreferenceControllerHelper) {
FinancedPrivacyPreferenceController(Context context,
PrivacyPreferenceControllerHelper privacyPreferenceControllerHelper, String key) {
super(Objects.requireNonNull(context));
mPrivacyPreferenceControllerHelper = Objects.requireNonNull(
privacyPreferenceControllerHelper);
this.mPreferenceKey = key;
}
@Override
@@ -57,6 +63,6 @@ public class FinancedPrivacyPreferenceController extends AbstractPreferenceContr
@Override
public String getPreferenceKey() {
return PREF_KEY_FINANCED_PRIVACY;
return mPreferenceKey;
}
}

View File

@@ -37,9 +37,17 @@ public class ChangeProfileScreenLockPreferenceController extends
private static final String KEY_UNLOCK_SET_OR_CHANGE_PROFILE = "unlock_set_or_change_profile";
private final String mPreferenceKey;
public ChangeProfileScreenLockPreferenceController(Context context,
SettingsPreferenceFragment host) {
this(context, host, KEY_UNLOCK_SET_OR_CHANGE_PROFILE);
}
public ChangeProfileScreenLockPreferenceController(Context context,
SettingsPreferenceFragment host, String key) {
super(context, host);
this.mPreferenceKey = key;
}
public boolean isAvailable() {
@@ -65,7 +73,7 @@ public class ChangeProfileScreenLockPreferenceController extends
@Override
public String getPreferenceKey() {
return KEY_UNLOCK_SET_OR_CHANGE_PROFILE;
return mPreferenceKey;
}
@Override

View File

@@ -26,7 +26,6 @@ import android.content.Intent;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Log;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -74,6 +73,7 @@ public class LockUnificationPreferenceController extends AbstractPreferenceContr
private RestrictedSwitchPreference mUnifyProfile;
private final String mPreferenceKey;
private LockscreenCredential mCurrentDevicePassword;
private LockscreenCredential mCurrentProfilePassword;
@@ -82,10 +82,15 @@ public class LockUnificationPreferenceController extends AbstractPreferenceContr
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mUnifyProfile = screen.findPreference(KEY_UNIFICATION);
mUnifyProfile = screen.findPreference(mPreferenceKey);
}
public LockUnificationPreferenceController(Context context, SettingsPreferenceFragment host) {
this(context, host, KEY_UNIFICATION);
}
public LockUnificationPreferenceController(
Context context, SettingsPreferenceFragment host, String key) {
super(context);
mHost = host;
mUm = context.getSystemService(UserManager.class);
@@ -96,6 +101,7 @@ public class LockUnificationPreferenceController extends AbstractPreferenceContr
mProfileUserId = Utils.getManagedProfileId(mUm, MY_USER_ID);
mCurrentDevicePassword = LockscreenCredential.createNone();
mCurrentProfilePassword = LockscreenCredential.createNone();
this.mPreferenceKey = key;
}
@Override
@@ -106,7 +112,7 @@ public class LockUnificationPreferenceController extends AbstractPreferenceContr
@Override
public String getPreferenceKey() {
return KEY_UNIFICATION;
return mPreferenceKey;
}
@Override

View File

@@ -27,7 +27,11 @@ public class ScreenPinningPreferenceController extends BasePreferenceController
private static final String KEY_SCREEN_PINNING = "screen_pinning_settings";
public ScreenPinningPreferenceController(Context context) {
super(context, KEY_SCREEN_PINNING);
this(context, KEY_SCREEN_PINNING);
}
public ScreenPinningPreferenceController(Context context, String key) {
super(context, key);
}
@Override

View File

@@ -41,7 +41,11 @@ public class SimLockPreferenceController extends BasePreferenceController {
private TelephonyManager mTelephonyManager;
public SimLockPreferenceController(Context context) {
super(context, KEY_SIM_LOCK);
this(context, KEY_SIM_LOCK);
}
public SimLockPreferenceController(Context context, String key) {
super(context, key);
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mCarrierConfigManager = (CarrierConfigManager)
mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);

View File

@@ -55,9 +55,15 @@ public class VisiblePatternProfilePreferenceController extends TogglePreferenceC
this(context, null /* lifecycle */);
}
// TODO (b/73074893) Replace this constructor without Lifecycle using setter method instead.
public VisiblePatternProfilePreferenceController(Context context, Lifecycle lifecycle) {
super(context, KEY_VISIBLE_PATTERN_PROFILE);
this(context, lifecycle, KEY_VISIBLE_PATTERN_PROFILE);
}
// TODO (b/73074893) Replace this constructor without Lifecycle using setter method instead.
public VisiblePatternProfilePreferenceController(
Context context, Lifecycle lifecycle, String key) {
super(context, key);
mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
mLockPatternUtils = FeatureFactory.getFactory(context)
.getSecurityFeatureProvider()

View File

@@ -38,7 +38,11 @@ public class ManageTrustAgentsPreferenceController extends BasePreferenceControl
private TrustAgentManager mTrustAgentManager;
public ManageTrustAgentsPreferenceController(Context context) {
super(context, KEY_MANAGE_TRUST_AGENTS);
this(context, KEY_MANAGE_TRUST_AGENTS);
}
public ManageTrustAgentsPreferenceController(Context context, String key) {
super(context, key);
final SecurityFeatureProvider securityFeatureProvider = FeatureFactory.getFactory(context)
.getSecurityFeatureProvider();
mLockPatternUtils = securityFeatureProvider.getLockPatternUtils(context);

View File

@@ -101,4 +101,16 @@ public class FingerprintProfileStatusPreferenceControllerTest {
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
}
@Test
public void getPreferenceKey_byDefault_returnsDefaultValue() {
assertThat(mController.getPreferenceKey()).isEqualTo("fingerprint_settings_profile");
}
@Test
public void getPreferenceKey_whenGivenValue_returnsGivenValue() {
mController = new FingerprintProfileStatusPreferenceController(mContext, "key");
assertThat(mController.getPreferenceKey()).isEqualTo("key");
}
}

View File

@@ -48,7 +48,7 @@ public class EnterprisePrivacyPreferenceControllerTest {
public void setUp() {
MockitoAnnotations.initMocks(this);
mController = new EnterprisePrivacyPreferenceController(
mContext, mPrivacyPreferenceControllerHelper);
mContext, mPrivacyPreferenceControllerHelper, KEY_ENTERPRISE_PRIVACY);
}
@Test
@@ -90,7 +90,15 @@ public class EnterprisePrivacyPreferenceControllerTest {
}
@Test
public void testGetPreferenceKey() {
public void getPreferenceKey_byDefault_returnsDefaultValue() {
assertThat(mController.getPreferenceKey()).isEqualTo(KEY_ENTERPRISE_PRIVACY);
}
@Test
public void getPreferenceKey_whenGivenValue_returnsGivenValue() {
mController = new EnterprisePrivacyPreferenceController(
mContext, mPrivacyPreferenceControllerHelper, "key");
assertThat(mController.getPreferenceKey()).isEqualTo("key");
}
}

View File

@@ -48,7 +48,7 @@ public class FinancedPrivacyPreferenceControllerTest {
public void setUp() {
MockitoAnnotations.initMocks(this);
mController = new FinancedPrivacyPreferenceController(
mContext, mPrivacyPreferenceControllerHelper);
mContext, mPrivacyPreferenceControllerHelper, PREF_KEY_FINANCED_PRIVACY);
}
@Test
@@ -81,7 +81,15 @@ public class FinancedPrivacyPreferenceControllerTest {
}
@Test
public void testGetPreferenceKey() {
public void getPreferenceKey_byDefault_returnsDefaultValue() {
assertThat(mController.getPreferenceKey()).isEqualTo(PREF_KEY_FINANCED_PRIVACY);
}
@Test
public void getPreferenceKey_whenGivenValue_returnsGivenValue() {
mController = new FinancedPrivacyPreferenceController(
mContext, mPrivacyPreferenceControllerHelper, "key");
assertThat(mController.getPreferenceKey()).isEqualTo("key");
}
}

View File

@@ -98,4 +98,18 @@ public class LockUnificationPreferenceControllerTest {
assertThat(mController.isAvailable()).isTrue();
}
@Test
public void getPreferenceKey_byDefault_returnsDefaultValue() {
init();
assertThat(mController.getPreferenceKey()).isEqualTo("unification");
}
@Test
public void getPreferenceKey_whenGivenValue_returnsGivenValue() {
mController = new LockUnificationPreferenceController(mContext, mHost, "key");
assertThat(mController.getPreferenceKey()).isEqualTo("key");
}
}

View File

@@ -89,4 +89,16 @@ public class ScreenPinningPreferenceControllerTest {
assertThat(mPreference.getSummary())
.isEqualTo(mContext.getString(R.string.switch_on_text));
}
@Test
public void getPreferenceKey_byDefault_returnsDefaultValue() {
assertThat(mController.getPreferenceKey()).isEqualTo("screen_pinning_settings");
}
@Test
public void getPreferenceKey_whenGivenValue_returnsGivenValue() {
mController = new ScreenPinningPreferenceController(mContext, "key");
assertThat(mController.getPreferenceKey()).isEqualTo("key");
}
}

View File

@@ -65,6 +65,7 @@ public class SimLockPreferenceControllerTest {
private SimLockPreferenceController mController;
private Preference mPreference;
private Context mContext;
@Before
public void setUp() {
@@ -75,8 +76,9 @@ public class SimLockPreferenceControllerTest {
shadowApplication.setSystemService(Context.CARRIER_CONFIG_SERVICE, mCarrierManager);
shadowApplication.setSystemService(Context.USER_SERVICE, mUserManager);
shadowApplication.setSystemService(Context.TELEPHONY_SERVICE, mTelephonyManager);
mController = new SimLockPreferenceController(RuntimeEnvironment.application);
mPreference = new Preference(RuntimeEnvironment.application);
mContext = RuntimeEnvironment.application;
mController = new SimLockPreferenceController(mContext);
mPreference = new Preference(mContext);
mPreference.setKey(mController.getPreferenceKey());
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
}
@@ -136,6 +138,18 @@ public class SimLockPreferenceControllerTest {
assertThat(mPreference.isEnabled()).isTrue();
}
@Test
public void getPreferenceKey_byDefault_returnsDefaultValue() {
assertThat(mController.getPreferenceKey()).isEqualTo("sim_lock_settings");
}
@Test
public void getPreferenceKey_whenGivenValue_returnsGivenValue() {
mController = new SimLockPreferenceController(mContext, "key");
assertThat(mController.getPreferenceKey()).isEqualTo("key");
}
private void setupMockIcc() {
final List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>();
SubscriptionInfo info = mock(SubscriptionInfo.class);

View File

@@ -115,4 +115,16 @@ public class VisiblePatternProfilePreferenceControllerTest {
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
}
@Test
public void getPreferenceKey_byDefault_returnsDefaultValue() {
assertThat(mController.getPreferenceKey()).isEqualTo("visiblepattern_profile");
}
@Test
public void getPreferenceKey_whenGivenValue_returnsGivenValue() {
mController = new VisiblePatternProfilePreferenceController(mContext, mLifecycle, "key");
assertThat(mController.getPreferenceKey()).isEqualTo("key");
}
}

View File

@@ -117,4 +117,16 @@ public class ManageTrustAgentsPreferenceControllerTest {
.isEqualTo(mContext.getResources().getQuantityString(
R.plurals.manage_trust_agents_summary_on, 1, 1));
}
@Test
public void getPreferenceKey_byDefault_returnsDefaultValue() {
assertThat(mController.getPreferenceKey()).isEqualTo("manage_trust_agents");
}
@Test
public void getPreferenceKey_whenGivenValue_returnsGivenValue() {
mController = new ManageTrustAgentsPreferenceController(mContext, "key");
assertThat(mController.getPreferenceKey()).isEqualTo("key");
}
}