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