Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96294df2 authored by Andrew Sapperstein's avatar Andrew Sapperstein Committed by Android (Google) Code Review
Browse files

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

parents 7e6d495c 4e9d5279
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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>
+7 −0
Original line number Diff line number Diff line
@@ -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;
    }
+0 −7
Original line number Diff line number Diff line
@@ -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(
+20 −0
Original line number Diff line number Diff line
@@ -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();
  }
}