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

Commit 8baa2e78 authored by Oleg Petšjonkin's avatar Oleg Petšjonkin Committed by Android (Google) Code Review
Browse files

Merge "Disable HBMController HDR boost if HDRModifier is enabled" into main

parents 208f84cc bb206200
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -67,6 +67,10 @@ class BrightnessRangeController {
            mNormalBrightnessModeController.resetNbmData(
                    displayDeviceConfig.getLuxThrottlingData());
        }
        if (flags.useNewHdrBrightnessModifier()) {
            // HDR boost is handled by HdrBrightnessModifier and should be disabled in HbmController
            mHbmController.disableHdrBoost();
        }
        updateHdrClamper(info, displayToken, displayDeviceConfig);
    }

+18 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import com.android.internal.display.BrightnessSynchronizer;
import com.android.internal.util.FrameworkStatsLog;
import com.android.server.display.DisplayManagerService.Clock;
import com.android.server.display.config.HighBrightnessModeData;
import com.android.server.display.feature.DisplayManagerFlags;
import com.android.server.display.utils.DebugUtils;

import java.io.PrintWriter;
@@ -119,6 +120,14 @@ class HighBrightnessModeController {
    @Nullable
    private HighBrightnessModeMetadata mHighBrightnessModeMetadata;

    /**
     * If {@link DisplayManagerFlags#useNewHdrBrightnessModifier()} is ON, hdr boost is handled by
     * {@link com.android.server.display.brightness.clamper.HdrBrightnessModifier} and should be
     * disabled in this class. After flag is cleaned up, this field together with HDR handling
     * should be cleaned up from this class.
     */
    private boolean mHdrBoostDisabled = false;

    HighBrightnessModeController(Handler handler, int width, int height, IBinder displayToken,
            String displayUniqueId, float brightnessMin, float brightnessMax,
            HighBrightnessModeData hbmData, HdrBrightnessDeviceConfig hdrBrightnessCfg,
@@ -323,6 +332,7 @@ class HighBrightnessModeController {
        pw.println("  mIsTimeAvailable= " + mIsTimeAvailable);
        pw.println("  mIsBlockedByLowPowerMode=" + mIsBlockedByLowPowerMode);
        pw.println("  width*height=" + mWidth + "*" + mHeight);
        pw.println("  mHdrBoostDisabled=" + mHdrBoostDisabled);

        if (mHighBrightnessModeMetadata != null) {
            pw.println("  mRunningStartTimeMillis="
@@ -373,6 +383,11 @@ class HighBrightnessModeController {
        return mHbmData != null && mHighBrightnessModeMetadata != null;
    }

    void disableHdrBoost() {
        mHdrBoostDisabled = true;
        unregisterHdrListener();
    }

    private long calculateRemainingTime(long currentTime) {
        if (!deviceSupportsHbm()) {
            return 0;
@@ -583,6 +598,9 @@ class HighBrightnessModeController {
    }

    private void registerHdrListener(IBinder displayToken) {
        if (mHdrBoostDisabled) {
            return;
        }
        if (mRegisteredDisplayToken == displayToken) {
            return;
        }