1 package com.android.settings.display;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 
5 import android.app.Application;
6 import android.hardware.display.ColorDisplayManager;
7 import com.android.settings.R;
8 import com.android.settings.testutils.shadow.SettingsShadowResources;
9 import org.junit.After;
10 import org.junit.Test;
11 import org.junit.runner.RunWith;
12 import org.robolectric.RobolectricTestRunner;
13 import org.robolectric.RuntimeEnvironment;
14 import org.robolectric.annotation.Config;
15 
16 @RunWith(RobolectricTestRunner.class)
17 @Config(shadows = {SettingsShadowResources.class})
18 public class NightDisplayPreferenceControllerTest {
19 
20   @After
tearDown()21   public void tearDown() {
22     SettingsShadowResources.reset();
23   }
24 
25   @Test
nightDisplaySuggestion_isNotCompleted_ifAutoModeDisabled()26   public void nightDisplaySuggestion_isNotCompleted_ifAutoModeDisabled() {
27     final Application context = RuntimeEnvironment.application;
28     context.getSystemService(ColorDisplayManager.class)
29         .setNightDisplayAutoMode(ColorDisplayManager.AUTO_MODE_DISABLED);
30     assertThat(NightDisplayPreferenceController.isSuggestionComplete(context)).isFalse();
31   }
32 
33   @Test
nightDisplaySuggestion_isCompleted_ifAutoModeCustom()34   public void nightDisplaySuggestion_isCompleted_ifAutoModeCustom() {
35     final Application context = RuntimeEnvironment.application;
36     context.getSystemService(ColorDisplayManager.class)
37         .setNightDisplayAutoMode(ColorDisplayManager.AUTO_MODE_CUSTOM_TIME);
38     assertThat(NightDisplayPreferenceController.isSuggestionComplete(context)).isTrue();
39   }
40 
41   @Test
nightDisplaySuggestion_isCompleted_ifAutoModeTwilight()42   public void nightDisplaySuggestion_isCompleted_ifAutoModeTwilight() {
43     final Application context = RuntimeEnvironment.application;
44     context.getSystemService(ColorDisplayManager.class)
45         .setNightDisplayAutoMode(ColorDisplayManager.AUTO_MODE_TWILIGHT);
46     assertThat(NightDisplayPreferenceController.isSuggestionComplete(context)).isTrue();
47   }
48 
49   @Test
nightDisplaySuggestion_isCompleted_ifSuggestionDisabled()50   public void nightDisplaySuggestion_isCompleted_ifSuggestionDisabled() {
51     final Application context = RuntimeEnvironment.application;
52     context.getSystemService(ColorDisplayManager.class)
53         .setNightDisplayAutoMode(ColorDisplayManager.AUTO_MODE_DISABLED);
54     SettingsShadowResources.overrideResource(R.bool.config_night_light_suggestion_enabled, false);
55     assertThat(NightDisplayPreferenceController.isSuggestionComplete(context)).isTrue();
56   }
57 }
58