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

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

Merge "brightness: add loading logic of bedtime autobrightness curve" into main

parents 08972cce 8994356a
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -82,7 +82,8 @@ public class AutomaticBrightnessController {
    @IntDef(prefix = { "AUTO_BRIGHTNESS_MODE_" }, value = {
            AUTO_BRIGHTNESS_MODE_DEFAULT,
            AUTO_BRIGHTNESS_MODE_IDLE,
            AUTO_BRIGHTNESS_MODE_DOZE
            AUTO_BRIGHTNESS_MODE_DOZE,
            AUTO_BRIGHTNESS_MODE_BEDTIME_WEAR
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface AutomaticBrightnessMode{}
@@ -90,6 +91,7 @@ public class AutomaticBrightnessController {
    public static final int AUTO_BRIGHTNESS_MODE_DEFAULT = 0;
    public static final int AUTO_BRIGHTNESS_MODE_IDLE = 1;
    public static final int AUTO_BRIGHTNESS_MODE_DOZE = 2;
    public static final int AUTO_BRIGHTNESS_MODE_BEDTIME_WEAR = 3;
    public static final int AUTO_BRIGHTNESS_MODE_MAX = AUTO_BRIGHTNESS_MODE_DOZE;

    // How long the current sensor reading is assumed to be valid beyond the current time.
+2 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.server.display;

import static android.text.TextUtils.formatSimple;

import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_BEDTIME_WEAR;
import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_DEFAULT;
import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_DOZE;
import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_IDLE;
@@ -114,7 +115,7 @@ public abstract class BrightnessMappingStrategy {
                luxLevels = getLuxLevels(context.getResources().getIntArray(
                        com.android.internal.R.array.config_autoBrightnessLevelsIdle));
            }
            case AUTO_BRIGHTNESS_MODE_DOZE -> {
            case AUTO_BRIGHTNESS_MODE_DOZE, AUTO_BRIGHTNESS_MODE_BEDTIME_WEAR -> {
                luxLevels = displayDeviceConfig.getAutoBrightnessBrighteningLevelsLux(mode, preset);
                brightnessLevels =
                        displayDeviceConfig.getAutoBrightnessBrighteningLevels(mode, preset);
+11 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.display;
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_DOZE;
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_OFF;

import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_BEDTIME_WEAR;
import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_DEFAULT;
import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_DOZE;
import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_IDLE;
@@ -1086,6 +1087,16 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
            brightnessMappers.put(AUTO_BRIGHTNESS_MODE_DOZE, dozeModeBrightnessMapper);
        }

        if (mFlags.areAutoBrightnessModesEnabled()
                && mFlags.isAutoBrightnessModeBedtimeWearEnabled()) {
            BrightnessMappingStrategy bedtimeBrightnessMapper =
                    BrightnessMappingStrategy.create(context, mDisplayDeviceConfig,
                            AUTO_BRIGHTNESS_MODE_BEDTIME_WEAR, mDisplayWhiteBalanceController);
            if (bedtimeBrightnessMapper != null) {
                brightnessMappers.put(AUTO_BRIGHTNESS_MODE_BEDTIME_WEAR, bedtimeBrightnessMapper);
            }
        }

        float userLux = BrightnessMappingStrategy.INVALID_LUX;
        float userNits = BrightnessMappingStrategy.INVALID_NITS;
        if (mAutomaticBrightnessController != null) {
+4 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.server.display.config;

import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_BEDTIME_WEAR;
import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_DEFAULT;
import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_DOZE;
import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIGHTNESS_MODE_IDLE;
@@ -247,6 +248,9 @@ public class DisplayBrightnessMappingConfig {
            case AUTO_BRIGHTNESS_MODE_DOZE -> {
                return AutoBrightnessModeName.doze.getRawName();
            }
            case AUTO_BRIGHTNESS_MODE_BEDTIME_WEAR -> {
                return AutoBrightnessModeName.bedtime_wear.getRawName();
            }
            default -> throw new IllegalArgumentException("Unknown auto-brightness mode: " + mode);
        }
    }
+1 −0
Original line number Diff line number Diff line
@@ -955,6 +955,7 @@
            <xs:enumeration value="default"/>
            <xs:enumeration value="idle"/>
            <xs:enumeration value="doze"/>
            <xs:enumeration value="bedtime_wear"/>
        </xs:restriction>
    </xs:simpleType>

Loading