Merge "Make the night display suggestion depend on a flag." into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
96294df2f0
@@ -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>
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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(
|
||||||
|
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user