• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.content.ComponentName;
7 import android.provider.Settings.Secure;
8 import com.android.internal.app.ColorDisplayController;
9 import com.android.settings.R;
10 import com.android.settings.Settings.NightDisplaySuggestionActivity;
11 import com.android.settings.testutils.SettingsRobolectricTestRunner;
12 import com.android.settings.testutils.shadow.SettingsShadowResources;
13 
14 import org.junit.After;
15 import org.junit.Before;
16 import org.junit.Test;
17 import org.junit.runner.RunWith;
18 import org.robolectric.annotation.Config;
19 import org.robolectric.RuntimeEnvironment;
20 
21 @RunWith(SettingsRobolectricTestRunner.class)
22 @Config(shadows = {
23         SettingsShadowResources.class
24 })
25 public class NightDisplayPreferenceControllerTest {
26 
27   private NightDisplayPreferenceController mPreferenceController;
28 
29   @Before
setUp()30   public void setUp() {
31     mPreferenceController = new NightDisplayPreferenceController(RuntimeEnvironment.application);
32   }
33 
34   @After
tearDown()35   public void tearDown() {
36     mPreferenceController = null;
37     SettingsShadowResources.reset();
38   }
39 
40   @Test
nightDisplaySuggestion_isNotCompleted_ifAutoModeDisabled()41   public void nightDisplaySuggestion_isNotCompleted_ifAutoModeDisabled() {
42     final Application context = RuntimeEnvironment.application;
43     Secure.putInt(context.getContentResolver(),
44         Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_DISABLED);
45     final ComponentName componentName =
46         new ComponentName(context, NightDisplaySuggestionActivity.class);
47     assertThat(mPreferenceController.isSuggestionComplete(context)).isFalse();
48   }
49 
50   @Test
nightDisplaySuggestion_isCompleted_ifAutoModeCustom()51   public void nightDisplaySuggestion_isCompleted_ifAutoModeCustom() {
52     final Application context = RuntimeEnvironment.application;
53     Secure.putInt(context.getContentResolver(),
54         Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_CUSTOM);
55     final ComponentName componentName =
56         new ComponentName(context, NightDisplaySuggestionActivity.class);
57     assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue();
58   }
59 
60   @Test
nightDisplaySuggestion_isCompleted_ifAutoModeTwilight()61   public void nightDisplaySuggestion_isCompleted_ifAutoModeTwilight() {
62     final Application context = RuntimeEnvironment.application;
63     Secure.putInt(context.getContentResolver(),
64         Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_TWILIGHT);
65     final ComponentName componentName =
66         new ComponentName(context, NightDisplaySuggestionActivity.class);
67     assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue();
68   }
69 
70   @Test
nightDisplaySuggestion_isCompleted_ifDisabled()71   public void nightDisplaySuggestion_isCompleted_ifDisabled() {
72     final Application context = RuntimeEnvironment.application;
73     Secure.putInt(context.getContentResolver(),
74             Secure.NIGHT_DISPLAY_AUTO_MODE, ColorDisplayController.AUTO_MODE_DISABLED);
75     SettingsShadowResources.overrideResource(R.bool.config_night_light_suggestion_enabled, false);
76 
77     final ComponentName componentName =
78             new ComponentName(context, NightDisplaySuggestionActivity.class);
79     assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue();
80   }
81 }
82