Make some display related slices public.
Only PreferenceControllers with isPublicSlice() set to true are exposed to other apps. Others will be Settings only. Bug: 141088937 Test: robotests Change-Id: I2a36da4ac4bb14a4d2ac7b89ab2bb3ebf8e655f7
This commit is contained in:
@@ -36,7 +36,7 @@ public class AdaptiveSleepDetailPreferenceController extends AdaptiveSleepPrefer
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSliceable() {
|
||||
public boolean isPublicSlice() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -55,6 +55,11 @@ public class AmbientDisplayAlwaysOnPreferenceController extends TogglePreference
|
||||
return TextUtils.equals(getPreferenceKey(), "ambient_display_always_on");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPublicSlice() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChecked() {
|
||||
return getConfig().alwaysOnEnabled(MY_USER);
|
||||
|
@@ -88,6 +88,11 @@ public class AmbientDisplayNotificationsPreferenceController extends
|
||||
return TextUtils.equals(getPreferenceKey(), "ambient_display_notification");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPublicSlice() {
|
||||
return true;
|
||||
}
|
||||
|
||||
private AmbientDisplayConfiguration getAmbientConfig() {
|
||||
if (mConfig == null) {
|
||||
mConfig = new AmbientDisplayConfiguration(mContext);
|
||||
|
@@ -33,7 +33,7 @@ public class AutoBrightnessDetailPreferenceController extends AutoBrightnessPref
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSliceable() {
|
||||
public boolean isPublicSlice() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -81,6 +81,11 @@ public class AutoRotatePreferenceController extends TogglePreferenceController i
|
||||
return TextUtils.equals(getPreferenceKey(), "auto_rotate");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPublicSlice() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChecked() {
|
||||
return !RotationPolicy.isRotationLocked(mContext);
|
||||
|
@@ -63,6 +63,11 @@ public class NightDisplayActivationPreferenceController extends TogglePreference
|
||||
return TextUtils.equals(getPreferenceKey(), "night_display_activated");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPublicSlice() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
|
@@ -50,6 +50,11 @@ public class NightDisplayIntensityPreferenceController extends SliderPreferenceC
|
||||
return TextUtils.equals(getPreferenceKey(), "night_display_temperature");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPublicSlice() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
|
@@ -61,6 +61,11 @@ public class AdaptiveSleepDetailPreferenceControllerTest {
|
||||
assertThat(mController.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPublicSlice_returnTrue() {
|
||||
assertThat(mController.isPublicSlice()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_configTrueSet_shouldReturnAvailable() {
|
||||
SettingsShadowResources.overrideResource(R.bool.config_adaptive_sleep_available, true);
|
||||
|
@@ -133,10 +133,10 @@ public class AdaptiveSleepPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceable_returnsFalse() {
|
||||
public void isSliceable_returnsTrue() {
|
||||
final AdaptiveSleepPreferenceController controller =
|
||||
new AdaptiveSleepPreferenceController(mContext, "any_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
assertThat(controller.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -128,4 +128,9 @@ public class AmbientDisplayAlwaysOnPreferenceControllerTest {
|
||||
new AmbientDisplayAlwaysOnPreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPublicSlice_returnTrue() {
|
||||
assertThat(mController.isPublicSlice()).isTrue();
|
||||
}
|
||||
}
|
||||
|
@@ -171,4 +171,9 @@ public class AmbientDisplayNotificationsPreferenceControllerTest {
|
||||
new AmbientDisplayNotificationsPreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPublicSlice_returnTrue() {
|
||||
assertThat(mController.isPublicSlice()).isTrue();
|
||||
}
|
||||
}
|
||||
|
@@ -51,6 +51,11 @@ public class AutoBrightnessDetailPreferenceControllerTest {
|
||||
assertThat(mController.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPublicSlice_returnTrue() {
|
||||
assertThat(mController.isPublicSlice()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_configTrueSet_shouldReturnAvailable() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
|
@@ -35,7 +35,6 @@ import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.ShadowRotationPolicy;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -153,6 +152,11 @@ public class AutoRotatePreferenceControllerTest {
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPublicSlice_returnTrue() {
|
||||
assertThat(mController.isPublicSlice()).isTrue();
|
||||
}
|
||||
|
||||
private void enableAutoRotationPreference() {
|
||||
when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
|
||||
when(mContext.getResources().getBoolean(anyInt())).thenReturn(true);
|
||||
|
@@ -15,6 +15,7 @@
|
||||
package com.android.settings.display;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -57,7 +58,7 @@ public class NightDisplayActivationPreferenceControllerTest {
|
||||
mPreference = new LayoutPreference(mContext, R.layout.night_display_activation_button);
|
||||
when(mScreen.findPreference(anyString())).thenReturn(mPreference);
|
||||
mPreferenceController = new NightDisplayActivationPreferenceController(mContext,
|
||||
"night_display_activation");
|
||||
"night_display_activation");
|
||||
mPreferenceController.displayPreference(mScreen);
|
||||
}
|
||||
|
||||
@@ -83,7 +84,7 @@ public class NightDisplayActivationPreferenceControllerTest {
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
final NightDisplayActivationPreferenceController controller =
|
||||
new NightDisplayActivationPreferenceController(mContext,"night_display_activated");
|
||||
new NightDisplayActivationPreferenceController(mContext, "night_display_activated");
|
||||
assertThat(controller.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@@ -94,6 +95,11 @@ public class NightDisplayActivationPreferenceControllerTest {
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPublicSlice_returnTrue() {
|
||||
assertThat(mPreferenceController.isPublicSlice()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onClick_activates() {
|
||||
mColorDisplayManager.setNightDisplayActivated(false);
|
||||
|
@@ -19,7 +19,9 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import android.content.Context;
|
||||
import android.hardware.display.ColorDisplayManager;
|
||||
import android.provider.Settings.Secure;
|
||||
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -32,83 +34,89 @@ import org.robolectric.annotation.Config;
|
||||
@Config(shadows = SettingsShadowResources.class)
|
||||
public class NightDisplayIntensityPreferenceControllerTest {
|
||||
|
||||
private Context mContext;
|
||||
private NightDisplayIntensityPreferenceController mPreferenceController;
|
||||
private Context mContext;
|
||||
private NightDisplayIntensityPreferenceController mPreferenceController;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mPreferenceController = new NightDisplayIntensityPreferenceController(mContext,
|
||||
"night_display_temperature");
|
||||
}
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mPreferenceController = new NightDisplayIntensityPreferenceController(mContext,
|
||||
"night_display_temperature");
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
SettingsShadowResources.reset();
|
||||
}
|
||||
@After
|
||||
public void tearDown() {
|
||||
SettingsShadowResources.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAvailable_configuredAvailable_isActivated_available() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_nightDisplayAvailable, true);
|
||||
Secure.putInt(mContext.getContentResolver(), Secure.NIGHT_DISPLAY_ACTIVATED, 1);
|
||||
assertThat(mPreferenceController.isAvailable()).isTrue();
|
||||
}
|
||||
@Test
|
||||
public void isAvailable_configuredAvailable_isActivated_available() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_nightDisplayAvailable, true);
|
||||
Secure.putInt(mContext.getContentResolver(), Secure.NIGHT_DISPLAY_ACTIVATED, 1);
|
||||
assertThat(mPreferenceController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAvailable_configuredAvailable_isNotActivated_available() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_nightDisplayAvailable, true);
|
||||
Secure.putInt(mContext.getContentResolver(), Secure.NIGHT_DISPLAY_ACTIVATED, 0);
|
||||
assertThat(mPreferenceController.isAvailable()).isTrue();
|
||||
}
|
||||
@Test
|
||||
public void isAvailable_configuredAvailable_isNotActivated_available() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_nightDisplayAvailable, true);
|
||||
Secure.putInt(mContext.getContentResolver(), Secure.NIGHT_DISPLAY_ACTIVATED, 0);
|
||||
assertThat(mPreferenceController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAvailable_configuredUnavailable_unavailable() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_nightDisplayAvailable, false);
|
||||
assertThat(mPreferenceController.isAvailable()).isFalse();
|
||||
}
|
||||
@Test
|
||||
public void isAvailable_configuredUnavailable_unavailable() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_nightDisplayAvailable, false);
|
||||
assertThat(mPreferenceController.isAvailable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onPreferenceChange_changesTemperature() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_nightDisplayColorTemperatureMin, 2950);
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_nightDisplayColorTemperatureMax, 3050);
|
||||
// A slider-adjusted "20" here would be 1/5 from the left / least-intense, i.e. 3030.
|
||||
mPreferenceController.onPreferenceChange(null, 20);
|
||||
@Test
|
||||
public void onPreferenceChange_changesTemperature() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_nightDisplayColorTemperatureMin, 2950);
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_nightDisplayColorTemperatureMax, 3050);
|
||||
// A slider-adjusted "20" here would be 1/5 from the left / least-intense, i.e. 3030.
|
||||
mPreferenceController.onPreferenceChange(null, 20);
|
||||
|
||||
assertThat(
|
||||
mContext.getSystemService(ColorDisplayManager.class).getNightDisplayColorTemperature())
|
||||
.isEqualTo(3030);
|
||||
}
|
||||
assertThat(
|
||||
mContext.getSystemService(
|
||||
ColorDisplayManager.class).getNightDisplayColorTemperature())
|
||||
.isEqualTo(3030);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rangeOfSlider_staysWithinValidRange() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_nightDisplayColorTemperatureMin, 2950);
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_nightDisplayColorTemperatureMax, 3050);
|
||||
@Test
|
||||
public void rangeOfSlider_staysWithinValidRange() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_nightDisplayColorTemperatureMin, 2950);
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_nightDisplayColorTemperatureMax, 3050);
|
||||
|
||||
assertThat(mPreferenceController.getMax() - mPreferenceController.getMin())
|
||||
.isGreaterThan(0);
|
||||
}
|
||||
assertThat(mPreferenceController.getMax() - mPreferenceController.getMin())
|
||||
.isGreaterThan(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getMin_alwaysReturnsZero() {
|
||||
assertThat(mPreferenceController.getMin()).isEqualTo(0);
|
||||
}
|
||||
@Test
|
||||
public void getMin_alwaysReturnsZero() {
|
||||
assertThat(mPreferenceController.getMin()).isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
assertThat(mPreferenceController.isSliceable()).isTrue();
|
||||
}
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
assertThat(mPreferenceController.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableIncorrectKey_returnsFalse() {
|
||||
final NightDisplayIntensityPreferenceController controller =
|
||||
new NightDisplayIntensityPreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
@Test
|
||||
public void isSliceableIncorrectKey_returnsFalse() {
|
||||
final NightDisplayIntensityPreferenceController controller =
|
||||
new NightDisplayIntensityPreferenceController(mContext, "bad_key");
|
||||
assertThat(controller.isSliceable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPublicSlice_returnTrue() {
|
||||
assertThat(mPreferenceController.isPublicSlice()).isTrue();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user