Update the "When to dream" settings
For devices which don't support dreaming on battery, we can offer simpler options since the device must always be charging for screensavers to appear. Therefore there are only two options: 1. While charging 2. While docked and charging Test: flashed and verified on device Test: make -j64 RunSettingsRoboTests Fixes: 226187572 Change-Id: I6ed24cda8874f2fb941f6cfded9ed97ed78a3cb6
This commit is contained in:
@@ -29,33 +29,40 @@ import com.android.settingslib.dream.DreamBackend.WhenToDream;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class DreamSettingsTest {
|
||||
|
||||
private static final List<String> KEYS = Arrays.asList(
|
||||
DreamSettings.WHILE_CHARGING_ONLY,
|
||||
DreamSettings.WHILE_DOCKED_ONLY,
|
||||
DreamSettings.EITHER_CHARGING_OR_DOCKED,
|
||||
DreamSettings.NEVER_DREAM
|
||||
DreamSettings.WHILE_CHARGING_ONLY,
|
||||
DreamSettings.WHILE_DOCKED_ONLY,
|
||||
DreamSettings.EITHER_CHARGING_OR_DOCKED,
|
||||
DreamSettings.NEVER_DREAM
|
||||
);
|
||||
|
||||
private static final @WhenToDream int[] SETTINGS = {
|
||||
DreamBackend.WHILE_CHARGING,
|
||||
DreamBackend.WHILE_DOCKED,
|
||||
DreamBackend.EITHER,
|
||||
DreamBackend.NEVER,
|
||||
DreamBackend.WHILE_CHARGING,
|
||||
DreamBackend.WHILE_DOCKED,
|
||||
DreamBackend.EITHER,
|
||||
DreamBackend.NEVER,
|
||||
};
|
||||
|
||||
private static final int[] RES_IDS = {
|
||||
R.string.screensaver_settings_summary_sleep,
|
||||
R.string.screensaver_settings_summary_dock,
|
||||
R.string.screensaver_settings_summary_either_long,
|
||||
R.string.screensaver_settings_summary_never
|
||||
R.string.screensaver_settings_summary_sleep,
|
||||
R.string.screensaver_settings_summary_dock,
|
||||
R.string.screensaver_settings_summary_either_long,
|
||||
R.string.screensaver_settings_summary_never
|
||||
};
|
||||
|
||||
private static final int[] RES_IDS_NO_BATTERY = {
|
||||
R.string.screensaver_settings_summary_sleep,
|
||||
R.string.screensaver_settings_summary_dock_and_charging,
|
||||
R.string.screensaver_settings_summary_either_long,
|
||||
R.string.screensaver_settings_summary_never
|
||||
};
|
||||
|
||||
@Test
|
||||
@@ -81,11 +88,17 @@ public class DreamSettingsTest {
|
||||
@Test
|
||||
public void getDreamSettingDescriptionResId() {
|
||||
for (int i = 0; i < SETTINGS.length; i++) {
|
||||
assertThat(DreamSettings.getDreamSettingDescriptionResId(SETTINGS[i]))
|
||||
assertThat(DreamSettings.getDreamSettingDescriptionResId(
|
||||
SETTINGS[i], /* enabledOnBattery= */ false))
|
||||
.isEqualTo(RES_IDS_NO_BATTERY[i]);
|
||||
assertThat(DreamSettings.getDreamSettingDescriptionResId(
|
||||
SETTINGS[i], /* enabledOnBattery= */ true))
|
||||
.isEqualTo(RES_IDS[i]);
|
||||
}
|
||||
// Default
|
||||
assertThat(DreamSettings.getDreamSettingDescriptionResId(-1))
|
||||
assertThat(DreamSettings.getDreamSettingDescriptionResId(-1, /* enabledOnBattery= */ false))
|
||||
.isEqualTo(R.string.screensaver_settings_summary_never);
|
||||
assertThat(DreamSettings.getDreamSettingDescriptionResId(-1, /* enabledOnBattery= */ true))
|
||||
.isEqualTo(R.string.screensaver_settings_summary_never);
|
||||
}
|
||||
|
||||
|
@@ -28,6 +28,7 @@ import android.os.UserManager;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
import com.android.settingslib.dream.DreamBackend;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -37,9 +38,11 @@ import org.mockito.Answers;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.util.ReflectionHelpers;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(shadows = SettingsShadowResources.class)
|
||||
public class WhenToDreamPickerTest {
|
||||
|
||||
private WhenToDreamPicker mPicker;
|
||||
@@ -53,10 +56,15 @@ public class WhenToDreamPickerTest {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
final Context context = spy(ApplicationProvider.getApplicationContext());
|
||||
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_dreamsEnabledOnBattery,
|
||||
true);
|
||||
|
||||
when(context.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
|
||||
FakeFeatureFactory.setupForTest();
|
||||
|
||||
mPicker = new WhenToDreamPicker();
|
||||
mPicker = spy(new WhenToDreamPicker());
|
||||
when(mPicker.getContext()).thenReturn(context);
|
||||
mPicker.onAttach(context);
|
||||
|
||||
ReflectionHelpers.setField(mPicker, "mBackend", mBackend);
|
||||
|
@@ -64,7 +64,7 @@ public class WhenToDreamPreferenceControllerTest {
|
||||
public void setup() throws Exception {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(ApplicationProvider.getApplicationContext());
|
||||
mController = new WhenToDreamPreferenceController(mContext, true);
|
||||
mController = new WhenToDreamPreferenceController(mContext, true, true);
|
||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||
when(mContext.getSystemService(PowerManager.class)).thenReturn(mPowerManager);
|
||||
when(mPowerManager.isAmbientDisplaySuppressedForTokenByApp(anyString(), anyInt()))
|
||||
@@ -88,7 +88,7 @@ public class WhenToDreamPreferenceControllerTest {
|
||||
final Preference mockPref = mock(Preference.class);
|
||||
when(mockPref.getContext()).thenReturn(mContext);
|
||||
when(mBackend.getWhenToDreamSetting()).thenReturn(testSetting);
|
||||
final int expectedResId = DreamSettings.getDreamSettingDescriptionResId(testSetting);
|
||||
final int expectedResId = DreamSettings.getDreamSettingDescriptionResId(testSetting, true);
|
||||
|
||||
mController.updateState(mockPref);
|
||||
verify(mockPref).setSummary(expectedResId);
|
||||
|
Reference in New Issue
Block a user