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

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

Merge "Some EvenDimmer changes" into main

parents 5fec3c5c 6b3bcfec
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2014,7 +2014,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
            @Nullable DisplayBrightnessState state) {
        synchronized (mCachedBrightnessInfo) {
            float stateMax = state != null ? state.getMaxBrightness() : PowerManager.BRIGHTNESS_MAX;
            float stateMin = state != null ? state.getMinBrightness() : PowerManager.BRIGHTNESS_MAX;
            float stateMin = state != null ? state.getMinBrightness() : PowerManager.BRIGHTNESS_MIN;
            @BrightnessInfo.BrightnessMaxReason int maxReason =
                    state != null ? state.getBrightnessMaxReason()
                            : BrightnessInfo.BRIGHTNESS_MAX_REASON_NONE;
+8 −6
Original line number Diff line number Diff line
@@ -1095,10 +1095,9 @@ final class LocalDisplayAdapter extends DisplayAdapter {

                        final float minHardwareNits = backlightToNits(brightnessToBacklight(
                                mDisplayDeviceConfig.getEvenDimmerTransitionPoint()));
                        final float requestedNits =
                                backlightToNits(brightnessToBacklight(brightnessState));
                        mNitsToEvenDimmerStrength =
                                mCdsi.fetchEvenDimmerSpline(minHardwareNits);
                        final float backlight = brightnessToBacklight(brightnessState);
                        final float requestedNits = backlightToNits(backlight);
                        mNitsToEvenDimmerStrength = mCdsi.fetchEvenDimmerSpline(minHardwareNits);

                        if (mNitsToEvenDimmerStrength == null) {
                            return;
@@ -1108,9 +1107,12 @@ final class LocalDisplayAdapter extends DisplayAdapter {
                        int strength = Math.round(mNitsToEvenDimmerStrength
                                .interpolate(requestedNits));
                        boolean enabled = strength > 0.0f;
                        if (mEvenDimmerEnabled != enabled) {
                        if (mEvenDimmerEnabled != enabled || (DEBUG && enabled)) {
                            Slog.i(TAG, "Setting Extra Dim; strength: " + strength
                                    + ", " + (enabled ? "enabled" : "disabled"));
                                    + ", " + (enabled ? "enabled" : "disabled")
                                    + ", requestedNits: " + requestedNits
                                    + ", brightnessState: " + brightnessState
                                    + ", backlight: " + backlight);
                        }
                        if (mEvenDimmerStrength != strength || mEvenDimmerEnabled != enabled) {
                            mEvenDimmerEnabled = enabled;
+10 −3
Original line number Diff line number Diff line
@@ -1193,6 +1193,7 @@ public final class ColorDisplayService extends SystemService {
        }

        pw.println("Color mode: " + getColorModeInternal());
        pw.println("mEvenDimmerSpline: " + mEvenDimmerSpline);
    }

    private abstract class NightDisplayAutoMode {
@@ -1730,12 +1731,18 @@ public final class ColorDisplayService extends SystemService {
        }

        /**
         * Get spline to map between requested nits, and required even dimmer strength.
         * Gets a spline that can be used to get the appropriate EvenDimmer strength [0-1] to use
         * for a given nits that we want. This spline is used to make the screen darker than the
         * lowest nits supported by the hardware. As such, the provided baselineNits should be the
         * minimum nits supported by the hardware, and we can use this spline to figure out the
         * strength we need to achieve a nits lower than the hardware minimum.
         *
         * @param baselineNits The baseline nits produced when 0% strength is used.
         * @return nits to strength spline
         */
        public Spline fetchEvenDimmerSpline(float nits) {
        public Spline fetchEvenDimmerSpline(float baselineNits) {
            if (mEvenDimmerSpline == null) {
                mEvenDimmerSpline = createNitsToStrengthSpline(nits);
                mEvenDimmerSpline = createNitsToStrengthSpline(baselineNits);
            }
            return mEvenDimmerSpline;
        }