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

am: 95e789dc58

Change-Id: I732a4d92f23354db44ce294096ad1e38ae0f198b
This commit is contained in:
Andrew Sapperstein
2018-05-17 13:59:26 -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 -->
<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>

View File

@@ -18,6 +18,7 @@ import android.content.Context;
import com.android.internal.app.ColorDisplayController;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settings.R;
public class NightDisplayPreferenceController extends AbstractPreferenceController implements
PreferenceControllerMixin {
@@ -29,6 +30,12 @@ public class NightDisplayPreferenceController extends AbstractPreferenceControll
}
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);
return controller.getAutoMode() != ColorDisplayController.AUTO_MODE_DISABLED;
}

View File

@@ -162,13 +162,6 @@ public class SuggestionFeatureProviderImplTest {
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
public void testGetSmartSuggestionEnabledTaggedData_disabled() {
assertThat(mProvider.getLoggingTaggedData(mContext)).asList().containsExactly(

View File

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