diff options
3 files changed, 19 insertions, 8 deletions
diff --git a/services/surfaceflinger/tests/unittests/CompositionTest.cpp b/services/surfaceflinger/tests/unittests/CompositionTest.cpp index 17ef6ff5e1..19a93e1820 100644 --- a/services/surfaceflinger/tests/unittests/CompositionTest.cpp +++ b/services/surfaceflinger/tests/unittests/CompositionTest.cpp @@ -284,13 +284,16 @@ struct BaseDisplayVariant { constexpr auto kDisplayConnectionType = ui::DisplayConnectionType::Internal; constexpr bool kIsPrimary = true; - test->mDisplay = FakeDisplayDeviceInjector(test->mFlinger, compositionDisplay, - kDisplayConnectionType, HWC_DISPLAY, kIsPrimary) - .setDisplaySurface(test->mDisplaySurface) - .setNativeWindow(test->mNativeWindow) - .setSecure(Derived::IS_SECURE) - .setPowerMode(Derived::INIT_POWER_MODE) - .inject(); + test->mDisplay = + FakeDisplayDeviceInjector(test->mFlinger, compositionDisplay, + kDisplayConnectionType, HWC_DISPLAY, kIsPrimary) + .setDisplaySurface(test->mDisplaySurface) + .setNativeWindow(test->mNativeWindow) + .setSecure(Derived::IS_SECURE) + .setPowerMode(Derived::INIT_POWER_MODE) + .setRefreshRateSelector(test->mFlinger.scheduler()->refreshRateSelector()) + .skipRegisterDisplay() + .inject(); Mock::VerifyAndClear(test->mNativeWindow.get()); constexpr bool kIsInternal = kDisplayConnectionType == ui::DisplayConnectionType::Internal; diff --git a/services/surfaceflinger/tests/unittests/SurfaceFlinger_PowerHintTest.cpp b/services/surfaceflinger/tests/unittests/SurfaceFlinger_PowerHintTest.cpp index 9699fc2a8d..7839ef0dbb 100644 --- a/services/surfaceflinger/tests/unittests/SurfaceFlinger_PowerHintTest.cpp +++ b/services/surfaceflinger/tests/unittests/SurfaceFlinger_PowerHintTest.cpp @@ -92,6 +92,8 @@ void SurfaceFlingerPowerHintTest::SetUp() { .setDisplaySurface(mDisplaySurface) .setNativeWindow(mNativeWindow) .setPowerMode(hal::PowerMode::ON) + .setRefreshRateSelector(mFlinger.scheduler()->refreshRateSelector()) + .skipRegisterDisplay() .inject(); } diff --git a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h index 448803817a..0649333f82 100644 --- a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h +++ b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h @@ -855,6 +855,11 @@ public: return *this; } + auto& skipRegisterDisplay() { + mRegisterDisplay = false; + return *this; + } + sp<DisplayDevice> inject() NO_THREAD_SAFETY_ANALYSIS { const auto displayId = mCreationArgs.compositionDisplay->getDisplayId(); @@ -918,7 +923,7 @@ public: ui::ColorModes(), std::nullopt); - if (mFlinger.scheduler()) { + if (mFlinger.scheduler() && mRegisterDisplay) { mFlinger.scheduler()->registerDisplay(physicalId, display->holdRefreshRateSelector()); } @@ -937,6 +942,7 @@ public: sp<BBinder> mDisplayToken = sp<BBinder>::make(); DisplayDeviceCreationArgs mCreationArgs; DisplayModes mDisplayModes; + bool mRegisterDisplay = true; const std::optional<ui::DisplayConnectionType> mConnectionType; const std::optional<hal::HWDisplayId> mHwcDisplayId; }; |