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

Commit 887828e4 authored by Piotr Wilczyński's avatar Piotr Wilczyński
Browse files

BrightnessEvent last sensor reading

Bug: 385763321
Flag: EXEMPT log only update
Test: AutomaticBrightnessControllerTest, BrightnessEventTest
Change-Id: Ie32a4f44faf0eb3b7901bbb7321fac64c366b08a
parent c7a1e6a3
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -418,6 +418,10 @@ public class AutomaticBrightnessController {
        if (brightnessEvent != null) {
            brightnessEvent.setLux(
                    mAmbientLuxValid ? mAmbientLux : PowerManager.BRIGHTNESS_INVALID_FLOAT);
            if (mAmbientLightRingBuffer.size() > 0) {
                brightnessEvent.setLastReadLux(
                        mAmbientLightRingBuffer.getLux(mAmbientLightRingBuffer.size() - 1));
            }
            brightnessEvent.setPreThresholdLux(mPreThresholdLux);
            brightnessEvent.setPreThresholdBrightness(mPreThresholdBrightness);
            brightnessEvent.setRecommendedBrightness(mScreenAutoBrightness);
+11 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ public final class BrightnessEvent {
    private int mDisplayPolicy;
    private long mTime;
    private float mLux;
    private float mLastReadLux;
    private float mNits;
    private float mHdrNits;
    private float mPercent;
@@ -110,6 +111,7 @@ public final class BrightnessEvent {
        // Lux values
        mLux = that.getLux();
        mPreThresholdLux = that.getPreThresholdLux();
        mLastReadLux = that.mLastReadLux;
        mNits = that.getNits();
        mHdrNits = that.getHdrNits();
        mPercent = that.getPercent();
@@ -151,6 +153,7 @@ public final class BrightnessEvent {
        // Lux values
        mLux = INVALID_LUX;
        mPreThresholdLux = 0;
        mLastReadLux = INVALID_LUX;
        mNits = INVALID_NITS;
        mHdrNits = INVALID_NITS;
        mPercent = -1f;
@@ -197,6 +200,8 @@ public final class BrightnessEvent {
                && mDisplayStateReason == that.mDisplayStateReason
                && mDisplayPolicy == that.mDisplayPolicy
                && Float.floatToRawIntBits(mLux) == Float.floatToRawIntBits(that.mLux)
                && Float.floatToRawIntBits(mLastReadLux) == Float.floatToRawIntBits(
                that.mLastReadLux)
                && Float.floatToRawIntBits(mPreThresholdLux)
                == Float.floatToRawIntBits(that.mPreThresholdLux)
                && Float.floatToRawIntBits(mNits) == Float.floatToRawIntBits(that.mNits)
@@ -253,6 +258,8 @@ public final class BrightnessEvent {
                + ", rcmdBrt=" + mRecommendedBrightness
                + ", preBrt=" + mPreThresholdBrightness
                + ", preLux=" + mPreThresholdLux
                + (mLastReadLux != INVALID_LUX ? ", lastReadLux=" + mLastReadLux
                : "")
                + ", wasShortTermModelActive=" + mWasShortTermModelActive
                + ", autoBrightness=" + mAutomaticBrightnessEnabled + " ("
                + autoBrightnessModeToString(mAutoBrightnessMode) + ")"
@@ -336,6 +343,10 @@ public final class BrightnessEvent {
        this.mLux = lux;
    }

    public void setLastReadLux(float lastReadLux) {
        this.mLastReadLux = lastReadLux;
    }

    public float getPreThresholdLux() {
        return mPreThresholdLux;
    }
+21 −2
Original line number Diff line number Diff line
@@ -94,11 +94,14 @@ public final class BrightnessEventTest {
                        + "rbcStrength=-1, powerFactor=0.2, physDisp=display_name(987654321), "
                        + "logicalId=1, slowChange=true, rampSpeed=0.3";
        assertEquals(expectedString, actualString);
    }

        // Now check with optional HDR logging (when HDR brightness differs from brightness)
    @Test
    public void testToStringWorksAsExpected_hdr() {
        // Check with optional HDR logging (when HDR brightness differs from brightness)
        mBrightnessEvent.setHdrBrightness(0.7f);
        mBrightnessEvent.setHdrNits(1093.8f);
        actualString = mBrightnessEvent.toString(false);
        String actualString = mBrightnessEvent.toString(false);
        String expectedHdrString =
                "BrightnessEvent: brt=0.6(46.5%)(hdr=0.7), nits=893.8(hdr=1093.8), lux=100.0, "
                        + "reason=doze [ low_pwr ], strat=strategy_name, state=ON, "
@@ -111,6 +114,22 @@ public final class BrightnessEventTest {
        assertEquals(expectedHdrString, actualString);
    }

    @Test
    public void testToStringWorksAsExpected_lastReadLux() {
        mBrightnessEvent.setLastReadLux(831.49f);
        String actualString = mBrightnessEvent.toString(false);
        String expectedString =
                "BrightnessEvent: brt=0.6(46.5%), nits=893.8, lux=100.0, reason=doze [ "
                        + "low_pwr ], strat=strategy_name, state=ON, stateReason=DEFAULT_POLICY, "
                        + "policy=BRIGHT, flags=, initBrt=25.0, rcmdBrt=0.6, preBrt=NaN, "
                        + "preLux=150.0, lastReadLux=831.49, wasShortTermModelActive=true, "
                        + "autoBrightness=true (idle), unclampedBrt=0.65, hbmMax=0.62, "
                        + "hbmMode=off, thrmMax=0.65, rbcStrength=-1, powerFactor=0.2, "
                        + "physDisp=display_name(987654321), logicalId=1, slowChange=true, "
                        + "rampSpeed=0.3";
        assertEquals(expectedString, actualString);
    }

    @Test
    public void testFlagsToString() {
        mBrightnessEvent.reset();