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