Loading services/surfaceflinger/DisplayDevice.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading @@ -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); } Loading services/surfaceflinger/DisplayDevice.h +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading services/surfaceflinger/tests/unittests/DisplayDevice_SetDisplayBrightnessTest.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
services/surfaceflinger/DisplayDevice.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading @@ -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); } Loading
services/surfaceflinger/DisplayDevice.h +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading
services/surfaceflinger/tests/unittests/DisplayDevice_SetDisplayBrightnessTest.cpp +18 −0 Original line number Diff line number Diff line Loading @@ -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