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

Commit 65ccea2e authored by Fiona Campbell's avatar Fiona Campbell
Browse files

Even Dimmer for manual screen brightness mode

Bug: 338416256
Fixes: 331324279
Test: atest EvenDimmerPreferenceControllerTest

Change-Id: I039f90df1b77348cde543964905c0745c888413d
parent bcb87740
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -50,11 +50,7 @@ public class EvenDimmerPreferenceController extends TogglePreferenceController {
                com.android.internal.R.bool.config_evenDimmerEnabled);

        if (Flags.evenDimmer() && enabledInConfig) {
            return Settings.System.getInt(mContext.getContentResolver(),
                    Settings.System.SCREEN_BRIGHTNESS_MODE,
                    Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL)
                    == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC ? AVAILABLE
                    : DISABLED_DEPENDENT_SETTING;
            return AVAILABLE;
        } else {
            return UNSUPPORTED_ON_DEVICE;
        }
+18 −20
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.settings.display;


import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;

import static com.google.common.truth.Truth.assertThat;
@@ -36,7 +35,6 @@ import android.provider.Settings;
import com.android.server.display.feature.flags.Flags;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -65,7 +63,7 @@ public class EvenDimmerPreferenceControllerTest {

    @RequiresFlagsDisabled(Flags.FLAG_EVEN_DIMMER)
    @Test
    public void testGetAvailabilityStatus_flagOffconfigTrue() {
    public void testGetAvailabilityStatus_flagOffConfigTrue() {
        when(mContext.getResources()).thenReturn(mResources);
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_evenDimmerEnabled)).thenReturn(true);
@@ -86,7 +84,6 @@ public class EvenDimmerPreferenceControllerTest {
                Settings.Secure.EVEN_DIMMER_ACTIVATED)).isEqualTo(0.0f); // false
    }

    @Ignore("b/331324279")
    @RequiresFlagsEnabled(Flags.FLAG_EVEN_DIMMER)
    @Test
    public void testGetAvailabilityStatus_flagOnConfigTrue() {
@@ -99,10 +96,24 @@ public class EvenDimmerPreferenceControllerTest {
        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
    }

    @Ignore("b/331324279")

    @RequiresFlagsEnabled(Flags.FLAG_EVEN_DIMMER)
    @Test
    public void testGetAvailabilityStatus_flagOnConfigFalse() {
        when(mContext.getResources()).thenReturn(mResources);
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_evenDimmerEnabled)).thenReturn(false);
        // setup
        mController = new EvenDimmerPreferenceController(mContext, "key");

        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
    }

    @Test
    @RequiresFlagsEnabled(Flags.FLAG_EVEN_DIMMER)
    public void testSetChecked_enable() throws Settings.SettingNotFoundException {
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_evenDimmerEnabled)).thenReturn(true);
        mController.setChecked(true);
        assertThat(Settings.Secure.getFloat(mContext.getContentResolver(),
                Settings.Secure.EVEN_DIMMER_ACTIVATED)).isEqualTo(1.0f); // true
@@ -111,23 +122,10 @@ public class EvenDimmerPreferenceControllerTest {
    @Test
    @RequiresFlagsEnabled(Flags.FLAG_EVEN_DIMMER)
    public void testSetChecked_disable() throws Settings.SettingNotFoundException {
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_evenDimmerEnabled)).thenReturn(true);
        mController.setChecked(false);
        assertThat(Settings.Secure.getFloat(mContext.getContentResolver(),
                Settings.Secure.EVEN_DIMMER_ACTIVATED)).isEqualTo(0.0f); // false
    }

    @Ignore("b/331324279")
    @Test
    @RequiresFlagsEnabled(Flags.FLAG_EVEN_DIMMER)
    public void testDisabledIfAutobrightnessIsOff() {
        // Autobrightness off
        Settings.System.putInt(mContext.getContentResolver(),
                Settings.System.SCREEN_BRIGHTNESS_MODE,
                Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
        // Try turn controller on
        mController.setChecked(true);

        assertThat(mController.getAvailabilityStatus()).isEqualTo(
                DISABLED_DEPENDENT_SETTING);
    }
}