Merge "Make the night display suggestion depend on a flag." into pi-dev

am: 96294df2f0

Change-Id: I1463f360f286e7770d0e7ecd5e7d3ab69ecff837
This commit is contained in:
Andrew Sapperstein
2018-05-17 13:42:38 -07:00
committed by android-build-merger
4 changed files with 30 additions and 7 deletions

View File

@@ -131,4 +131,7 @@
<!-- List of a11y components on the device allowed to be enabled by Settings Slices --> <!-- List of a11y components on the device allowed to be enabled by Settings Slices -->
<string-array name="config_settings_slices_accessibility_components" translatable="false"/> <string-array name="config_settings_slices_accessibility_components" translatable="false"/>
<!-- Whether or not to show the night light suggestion. -->
<bool name="config_night_light_suggestion_enabled">true</bool>
</resources> </resources>

View File

@@ -18,6 +18,7 @@ import android.content.Context;
import com.android.internal.app.ColorDisplayController; import com.android.internal.app.ColorDisplayController;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settings.R;
public class NightDisplayPreferenceController extends AbstractPreferenceController implements public class NightDisplayPreferenceController extends AbstractPreferenceController implements
PreferenceControllerMixin { PreferenceControllerMixin {
@@ -29,6 +30,12 @@ public class NightDisplayPreferenceController extends AbstractPreferenceControll
} }
public static boolean isSuggestionComplete(Context context) { public static boolean isSuggestionComplete(Context context) {
final boolean isEnabled = context.getResources().getBoolean(
R.bool.config_night_light_suggestion_enabled);
// The suggestion is always complete if not enabled.
if (!isEnabled) {
return true;
}
final ColorDisplayController controller = new ColorDisplayController(context); final ColorDisplayController controller = new ColorDisplayController(context);
return controller.getAutoMode() != ColorDisplayController.AUTO_MODE_DISABLED; return controller.getAutoMode() != ColorDisplayController.AUTO_MODE_DISABLED;
} }

View File

@@ -162,13 +162,6 @@ public class SuggestionFeatureProviderImplTest {
assertThat(suggestions).hasSize(3); assertThat(suggestions).hasSize(3);
} }
@Test
public void nightDisplaySuggestion_isNotCompleted_byDefault() {
final ComponentName componentName =
new ComponentName(mContext, NightDisplaySuggestionActivity.class);
assertThat(mProvider.isSuggestionComplete(mContext, componentName)).isFalse();
}
@Test @Test
public void testGetSmartSuggestionEnabledTaggedData_disabled() { public void testGetSmartSuggestionEnabledTaggedData_disabled() {
assertThat(mProvider.getLoggingTaggedData(mContext)).asList().containsExactly( assertThat(mProvider.getLoggingTaggedData(mContext)).asList().containsExactly(

View File

@@ -6,15 +6,22 @@ import android.app.Application;
import android.content.ComponentName; import android.content.ComponentName;
import android.provider.Settings.Secure; import android.provider.Settings.Secure;
import com.android.internal.app.ColorDisplayController; import com.android.internal.app.ColorDisplayController;
import com.android.settings.R;
import com.android.settings.Settings.NightDisplaySuggestionActivity; import com.android.settings.Settings.NightDisplaySuggestionActivity;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {
SettingsShadowResources.class
})
public class NightDisplayPreferenceControllerTest { public class NightDisplayPreferenceControllerTest {
private NightDisplayPreferenceController mPreferenceController; private NightDisplayPreferenceController mPreferenceController;
@@ -27,6 +34,7 @@ public class NightDisplayPreferenceControllerTest {
@After @After
public void tearDown() { public void tearDown() {
mPreferenceController = null; mPreferenceController = null;
SettingsShadowResources.reset();
} }
@Test @Test
@@ -58,4 +66,16 @@ public class NightDisplayPreferenceControllerTest {
new ComponentName(context, NightDisplaySuggestionActivity.class); new ComponentName(context, NightDisplaySuggestionActivity.class);
assertThat(mPreferenceController.isSuggestionComplete(context)).isTrue(); 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();
}
} }