Files
app_Settings/tests/robotests/src/com/android/settings/display/NightDisplayPreferenceControllerTest.java
Daniel Nishi 4e9d52791b Make the night display suggestion depend on a flag.
This allows it to be enabled/disabled on certain devices.

Change-Id: I7b73bb866b05b92588e15ef7ffc2834cdde041ce
Fixes: 78601616
Test: Settings robotest
2018-05-17 10:29:59 -07:00

82 lines
3.1 KiB
Java

package com.android.settings.display;
import static com.google.common.truth.Truth.assertThat;
import android.app.Application;
import android.content.ComponentName;
import android.provider.Settings.Secure;
import com.android.internal.app.ColorDisplayController;
import com.android.settings.R;
import com.android.settings.Settings.NightDisplaySuggestionActivity;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {
SettingsShadowResources.class
})
public class NightDisplayPreferenceControllerTest {
private NightDisplayPreferenceController mPreferenceController;
@Before
public void setUp() {
mPreferenceController = new NightDisplayPreferenceController(RuntimeEnvironment.application);
}
@After
public void tearDown() {
mPreferenceController = null;
SettingsShadowResources.reset();
}
@Test
public void nightDisplaySuggestion_isNotCompleted_ifAutoModeDisabled() {
final Application context = RuntimeEnvironment.application;
Secure.putInt(context.getContentResolver(),
Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_DISABLED);
final ComponentName componentName =
new ComponentName(context, NightDisplaySuggestionActivity.class);
assertThat(mPreferenceController.isSuggestionComplete(context)).isFalse();
}
@Test
public void nightDisplaySuggestion_isCompleted_ifAutoModeCustom() {
final Application context = RuntimeEnvironment.application;
Secure.putInt(context.getContentResolver(),
Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_CUSTOM);
final ComponentName componentName =
new ComponentName(context, NightDisplaySuggestionActivity.class);
assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue();
}
@Test
public void nightDisplaySuggestion_isCompleted_ifAutoModeTwilight() {
final Application context = RuntimeEnvironment.application;
Secure.putInt(context.getContentResolver(),
Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_TWILIGHT);
final ComponentName componentName =
new ComponentName(context, NightDisplaySuggestionActivity.class);
assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue();
}
@Test
public void nightDisplaySuggestion_isCompleted_ifDisabled() {
final Application context = RuntimeEnvironment.application;
Secure.putInt(context.getContentResolver(),
Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_DISABLED);
SettingsShadowResources.overrideResource(R.bool.config_night_light_suggestion_enabled, false);
final ComponentName componentName =
new ComponentName(context, NightDisplaySuggestionActivity.class);
assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue();
}
}