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

Commit 8704ef5a authored by Peter Lin's avatar Peter Lin Committed by Android (Google) Code Review
Browse files

Merge "Allow to apply first brightness as -1"

parents 7cfb710c dcfd4e6d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -171,7 +171,7 @@ auto DisplayDevice::getFrontEndInfo() const -> frontend::DisplayInfo {

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;
        }
@@ -298,7 +298,7 @@ void DisplayDevice::stageBrightness(float brightness) {
}

void DisplayDevice::persistBrightness(bool needsComposite) {
    if (mStagedBrightness && mBrightness != *mStagedBrightness) {
    if (mStagedBrightness && mBrightness != mStagedBrightness) {
        if (needsComposite) {
            getCompositionDisplay()->setNextBrightness(*mStagedBrightness);
        }
+1 −1
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ private:
    std::optional<hardware::graphics::composer::hal::PowerMode> mPowerMode;

    std::optional<float> mStagedBrightness;
    float mBrightness = -1.f;
    std::optional<float> mBrightness;

    // TODO(b/182939859): Remove special cases for primary display.
    const bool mIsPrimary;
+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