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

Commit 333b21c6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Disable even dimmer setting conditionally" into main

parents 8e2324d9 4a401d43
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -47,7 +47,16 @@ public class EvenDimmerPreferenceController extends TogglePreferenceController {
        // enable based on flag and config.xml
        final boolean enabledInConfig = mResources.getBoolean(
                com.android.internal.R.bool.config_evenDimmerEnabled);
        return (Flags.evenDimmer() && enabledInConfig) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;

        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;
        } else {
            return UNSUPPORTED_ON_DEVICE;
        }
    }

    @Override
+15 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ 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;
@@ -111,4 +112,18 @@ public class EvenDimmerPreferenceControllerTest {
        assertThat(Settings.Secure.getFloat(mContext.getContentResolver(),
                Settings.Secure.EVEN_DIMMER_ACTIVATED)).isEqualTo(0.0f); // false
    }

    @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);
    }
}