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

Commit ca9671d5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Allow to apply first brightness as -1" into tm-qpr-dev

parents 5027343b 85658a1b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -174,7 +174,7 @@ auto DisplayDevice::getInputInfo() const -> InputInfo {

void DisplayDevice::setPowerMode(hal::PowerMode mode) {
    if (mode == hal::PowerMode::OFF || mode == hal::PowerMode::ON) {
        if (mStagedBrightness && mBrightness != *mStagedBrightness) {
        if (mStagedBrightness && mBrightness != mStagedBrightness) {
            getCompositionDisplay()->setNextBrightness(*mStagedBrightness);
            mBrightness = *mStagedBrightness;
        }
@@ -336,7 +336,7 @@ void DisplayDevice::stageBrightness(float brightness) {
}

void DisplayDevice::persistBrightness(bool needsComposite) {
    if (mStagedBrightness && mBrightness != *mStagedBrightness) {
    if (mStagedBrightness && mBrightness != mStagedBrightness) {
        if (needsComposite) {
            getCompositionDisplay()->setNextBrightness(*mStagedBrightness);
        }
+2 −2
Original line number Diff line number Diff line
@@ -284,8 +284,8 @@ private:
     // allow initial power mode as null.
    std::optional<hardware::graphics::composer::hal::PowerMode> mPowerMode;
    DisplayModePtr mActiveMode;
    std::optional<float> mStagedBrightness = std::nullopt;
    float mBrightness = -1.f;
    std::optional<float> mStagedBrightness;
    std::optional<float> mBrightness;
    const DisplayModes mSupportedModes;

    std::atomic<nsecs_t> mLastHwVsync = 0;
+18 −0
Original line number Diff line number Diff line
@@ -96,5 +96,23 @@ TEST_F(SetDisplayBrightnessTest, persistDisplayBrightnessWithCompositeShortCircu
    EXPECT_EQ(std::nullopt, displayDevice->getCompositionDisplay()->getState().displayBrightness);
}

TEST_F(SetDisplayBrightnessTest, firstDisplayBrightnessWithComposite) {
    ftl::FakeGuard guard(kMainThreadContext);
    sp<DisplayDevice> displayDevice = getDisplayDevice();

    EXPECT_EQ(std::nullopt, displayDevice->getStagedBrightness());

    constexpr float kDisplayBrightness = -1.0f;
    displayDevice->stageBrightness(kDisplayBrightness);

    EXPECT_EQ(-1.0f, displayDevice->getStagedBrightness());

    displayDevice->persistBrightness(true);

    EXPECT_EQ(std::nullopt, displayDevice->getStagedBrightness());
    EXPECT_EQ(kDisplayBrightness,
              displayDevice->getCompositionDisplay()->getState().displayBrightness);
}

} // namespace
} // namespace android