Add isSliceable API to BasePrefController
Only support explicitly approved Settings Slices, dictated by controllers which return true for the new method isSliceable. Updating the supported settings to a whitelist means that the method to return all available slices must be updated, and checking slicability when we index slices. Test: robotests Change-Id: I85848c2cdf3e151fa94b33dd1dc5c0374ef94b5b Merged-In: Ib2b9690cdd0036b5cc4a1cb846c52bce7c824ab9 Fixes: 79779103
This commit is contained in:
committed by
Andrew Sapperstein
parent
a419c4717d
commit
1dd25fd87c
@@ -150,4 +150,19 @@ public class AmbientDisplayAlwaysOnPreferenceControllerTest {
|
||||
|
||||
assertThat(newValue).isEqualTo(currentValue);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
final AmbientDisplayAlwaysOnPreferenceController controller =
|
||||
new AmbientDisplayAlwaysOnPreferenceController(mContext,
|
||||
"ambient_display_always_on");
|
||||
assertThat(controller.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableIncorrectKey_returnsFalse() {
|
||||
final AmbientDisplayAlwaysOnPreferenceController controller =
|
||||
new AmbientDisplayAlwaysOnPreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
}
|
||||
|
@@ -182,4 +182,19 @@ public class AmbientDisplayNotificationsPreferenceControllerTest {
|
||||
|
||||
assertThat(newValue).isEqualTo(currentValue);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
final AmbientDisplayNotificationsPreferenceController controller =
|
||||
new AmbientDisplayNotificationsPreferenceController(mContext,
|
||||
"ambient_display_notification");
|
||||
assertThat(controller.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableIncorrectKey_returnsFalse() {
|
||||
final AmbientDisplayNotificationsPreferenceController controller =
|
||||
new AmbientDisplayNotificationsPreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
}
|
||||
|
@@ -93,4 +93,19 @@ public class AutoBrightnessPreferenceControllerTest {
|
||||
|
||||
assertThat(newValue).isEqualTo(SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
final AutoBrightnessPreferenceController controller =
|
||||
new AutoBrightnessPreferenceController(mContext,
|
||||
"auto_brightness");
|
||||
assertThat(controller.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableIncorrectKey_returnsFalse() {
|
||||
final AutoBrightnessPreferenceController controller =
|
||||
new AutoBrightnessPreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
}
|
||||
|
@@ -104,7 +104,7 @@ public class AutoRotatePreferenceControllerTest {
|
||||
@Test
|
||||
public void testGetAvailabilityStatus() {
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(BasePreferenceController
|
||||
.CONDITIONALLY_UNAVAILABLE);
|
||||
.UNSUPPORTED_ON_DEVICE);
|
||||
|
||||
enableAutoRotationPreference();
|
||||
|
||||
@@ -114,7 +114,7 @@ public class AutoRotatePreferenceControllerTest {
|
||||
disableAutoRotationPreference();
|
||||
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(BasePreferenceController
|
||||
.CONDITIONALLY_UNAVAILABLE);
|
||||
.UNSUPPORTED_ON_DEVICE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -144,6 +144,20 @@ public class AutoRotatePreferenceControllerTest {
|
||||
assertThat(RotationPolicy.isRotationLocked(mContext)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
final AutoRotatePreferenceController controller =
|
||||
new AutoRotatePreferenceController(mContext, "auto_rotate");
|
||||
assertThat(controller.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableIncorrectKey_returnsFalse() {
|
||||
final AutoRotatePreferenceController controller =
|
||||
new AutoRotatePreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
|
||||
private void enableAutoRotationPreference() {
|
||||
when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
|
||||
when(mContext.getResources().getBoolean(anyInt())).thenReturn(true);
|
||||
|
@@ -72,6 +72,20 @@ public class NightDisplayActivationPreferenceControllerTest {
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
final NightDisplayActivationPreferenceController controller =
|
||||
new NightDisplayActivationPreferenceController(mContext,"night_display_activated");
|
||||
assertThat(controller.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableIncorrectKey_returnsFalse() {
|
||||
final NightDisplayActivationPreferenceController controller =
|
||||
new NightDisplayActivationPreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onClick_activates() {
|
||||
Secure.putInt(mContext.getContentResolver(), Secure.NIGHT_DISPLAY_ACTIVATED, 0);
|
||||
|
@@ -76,4 +76,18 @@ public class NightDisplayIntensityPreferenceControllerTest {
|
||||
Secure.NIGHT_DISPLAY_COLOR_TEMPERATURE, -1))
|
||||
.isEqualTo(3030);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
final NightDisplayIntensityPreferenceController controller =
|
||||
new NightDisplayIntensityPreferenceController(mContext,"night_display_temperature");
|
||||
assertThat(controller.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableIncorrectKey_returnsFalse() {
|
||||
final NightDisplayIntensityPreferenceController controller =
|
||||
new NightDisplayIntensityPreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user