diff options
author | 2024-08-27 05:30:18 +0000 | |
---|---|---|
committer | 2024-11-07 04:00:30 +0000 | |
commit | 18b9352ff3201f6a57166c8bb832a28c6850ed2c (patch) | |
tree | 566053828520ac69387fb66c0361b1bdaa33b498 | |
parent | 7d24e7e93dc4e1bed6dce4d2f5b74644e5dbeb4f (diff) |
Move ADPF to standalone lib
Refactor the PowerAdvisor into its own independent library to better
reflect ownership and team structure, as well as making it easier to
expand and test, as the previous placement under "DisplayHardware"
was confusing.
Test: libpoweradvisor_test
Test: libsurfaceflinger_unittest
Bug: 369692284
Flag: EXEMPT refactor
Change-Id: I51388d0143b7e78413995d9c3a9bde69ae43eff2
25 files changed, 119 insertions, 302 deletions
diff --git a/services/surfaceflinger/Android.bp b/services/surfaceflinger/Android.bp index f1c79c11e1..8a667aef72 100644 --- a/services/surfaceflinger/Android.bp +++ b/services/surfaceflinger/Android.bp @@ -177,13 +177,13 @@ cc_library_headers { filegroup { name: "libsurfaceflinger_backend_sources", srcs: [ + "PowerAdvisor/*.cpp", "DisplayHardware/AidlComposerHal.cpp", "DisplayHardware/ComposerHal.cpp", "DisplayHardware/FramebufferSurface.cpp", "DisplayHardware/HWC2.cpp", "DisplayHardware/HWComposer.cpp", "DisplayHardware/HidlComposerHal.cpp", - "DisplayHardware/PowerAdvisor.cpp", "DisplayHardware/VirtualDisplaySurface.cpp", ], } diff --git a/services/surfaceflinger/CompositionEngine/include/compositionengine/DisplayCreationArgs.h b/services/surfaceflinger/CompositionEngine/include/compositionengine/DisplayCreationArgs.h index 6e60839dd9..98bccd81e4 100644 --- a/services/surfaceflinger/CompositionEngine/include/compositionengine/DisplayCreationArgs.h +++ b/services/surfaceflinger/CompositionEngine/include/compositionengine/DisplayCreationArgs.h @@ -24,7 +24,7 @@ #include <ui/Size.h> #include <ui/StaticDisplayInfo.h> -#include "DisplayHardware/PowerAdvisor.h" +#include "PowerAdvisor/PowerAdvisor.h" namespace android::compositionengine { @@ -48,7 +48,7 @@ struct DisplayCreationArgs { // Optional pointer to the power advisor interface, if one is needed for // this display. - Hwc2::PowerAdvisor* powerAdvisor = nullptr; + adpf::PowerAdvisor* powerAdvisor = nullptr; // Debugging. Human readable name for the display. std::string name; @@ -82,7 +82,7 @@ public: return *this; } - DisplayCreationArgsBuilder& setPowerAdvisor(Hwc2::PowerAdvisor* powerAdvisor) { + DisplayCreationArgsBuilder& setPowerAdvisor(adpf::PowerAdvisor* powerAdvisor) { mArgs.powerAdvisor = powerAdvisor; return *this; } diff --git a/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Display.h b/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Display.h index d8466ffdff..104a61b8e9 100644 --- a/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Display.h +++ b/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Display.h @@ -30,7 +30,7 @@ #include <ui/DisplayIdentification.h> #include "DisplayHardware/HWComposer.h" -#include "DisplayHardware/PowerAdvisor.h" +#include "PowerAdvisor/PowerAdvisor.h" namespace android::compositionengine { @@ -102,7 +102,7 @@ private: void setHintSessionRequiresRenderEngine(bool requiresRenderEngine) override; DisplayId mId; bool mIsDisconnected = false; - Hwc2::PowerAdvisor* mPowerAdvisor = nullptr; + adpf::PowerAdvisor* mPowerAdvisor = nullptr; const aidl::android::hardware::graphics::composer3::OverlayProperties* getOverlaySupport() override; }; diff --git a/services/surfaceflinger/CompositionEngine/src/Display.cpp b/services/surfaceflinger/CompositionEngine/src/Display.cpp index 1825065c8f..6a97c49df6 100644 --- a/services/surfaceflinger/CompositionEngine/src/Display.cpp +++ b/services/surfaceflinger/CompositionEngine/src/Display.cpp @@ -36,7 +36,7 @@ // TODO(b/129481165): remove the #pragma below and fix conversion issues #pragma clang diagnostic pop // ignored "-Wconversion" -#include "DisplayHardware/PowerAdvisor.h" +#include "PowerAdvisor/PowerAdvisor.h" using aidl::android::hardware::graphics::composer3::Capability; using aidl::android::hardware::graphics::composer3::DisplayCapability; diff --git a/services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp b/services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp index 416001e374..c1e59d01de 100644 --- a/services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp +++ b/services/surfaceflinger/CompositionEngine/tests/DisplayTest.cpp @@ -39,7 +39,7 @@ #include "ftl/future.h" #include "mock/DisplayHardware/MockHWC2.h" #include "mock/DisplayHardware/MockHWComposer.h" -#include "mock/DisplayHardware/MockPowerAdvisor.h" +#include "mock/PowerAdvisor/MockPowerAdvisor.h" #include <aidl/android/hardware/graphics/composer3/Composition.h> @@ -192,7 +192,7 @@ struct DisplayTestCommon : public testing::Test { } StrictMock<android::mock::HWComposer> mHwComposer; - StrictMock<Hwc2::mock::PowerAdvisor> mPowerAdvisor; + StrictMock<adpf::mock::PowerAdvisor> mPowerAdvisor; StrictMock<renderengine::mock::RenderEngine> mRenderEngine; StrictMock<mock::CompositionEngine> mCompositionEngine; sp<mock::NativeWindow> mNativeWindow = sp<StrictMock<mock::NativeWindow>>::make(); @@ -1035,7 +1035,7 @@ struct DisplayFunctionalTest : public testing::Test { } NiceMock<android::mock::HWComposer> mHwComposer; - NiceMock<Hwc2::mock::PowerAdvisor> mPowerAdvisor; + NiceMock<adpf::mock::PowerAdvisor> mPowerAdvisor; NiceMock<mock::CompositionEngine> mCompositionEngine; sp<mock::NativeWindow> mNativeWindow = sp<NiceMock<mock::NativeWindow>>::make(); sp<mock::DisplaySurface> mDisplaySurface = sp<NiceMock<mock::DisplaySurface>>::make(); diff --git a/services/surfaceflinger/DisplayDevice.h b/services/surfaceflinger/DisplayDevice.h index d09a6b369b..adcd32f757 100644 --- a/services/surfaceflinger/DisplayDevice.h +++ b/services/surfaceflinger/DisplayDevice.h @@ -42,7 +42,6 @@ #include "DisplayHardware/DisplayMode.h" #include "DisplayHardware/Hal.h" -#include "DisplayHardware/PowerAdvisor.h" #include "FrontEnd/DisplayInfo.h" #include "Scheduler/RefreshRateSelector.h" #include "ThreadContext.h" diff --git a/services/surfaceflinger/DisplayHardware/PowerAdvisor.cpp b/services/surfaceflinger/PowerAdvisor/PowerAdvisor.cpp index c914ec3066..c7d0b2c9ef 100644 --- a/services/surfaceflinger/DisplayHardware/PowerAdvisor.cpp +++ b/services/surfaceflinger/PowerAdvisor/PowerAdvisor.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -//#define LOG_NDEBUG 0 +// #define LOG_NDEBUG 0 #define ATRACE_TAG ATRACE_TAG_GRAPHICS @@ -24,6 +24,7 @@ #include <unistd.h> #include <cinttypes> #include <cstdint> +#include <functional> #include <optional> #include <android-base/properties.h> @@ -33,45 +34,29 @@ #include <binder/IServiceManager.h> -#include "../SurfaceFlingerProperties.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wconversion" +#include <powermanager/PowerHalController.h> +#include <powermanager/PowerHintSessionWrapper.h> +#pragma clang diagnostic pop +#include <common/FlagManager.h> #include "PowerAdvisor.h" -#include "SurfaceFlinger.h" -namespace android { -namespace Hwc2 { +namespace hal = aidl::android::hardware::power; -PowerAdvisor::~PowerAdvisor() = default; - -namespace impl { - -using aidl::android::hardware::power::Boost; -using aidl::android::hardware::power::ChannelConfig; -using aidl::android::hardware::power::Mode; -using aidl::android::hardware::power::SessionHint; -using aidl::android::hardware::power::SessionTag; -using aidl::android::hardware::power::WorkDuration; -using aidl::android::hardware::power::WorkDurationFixedV1; +namespace android::adpf::impl { -using aidl::android::hardware::common::fmq::MQDescriptor; using aidl::android::hardware::common::fmq::SynchronizedReadWrite; -using aidl::android::hardware::power::ChannelMessage; using android::hardware::EventFlag; -using ChannelMessageContents = ChannelMessage::ChannelMessageContents; -using MsgQueue = android::AidlMessageQueue<ChannelMessage, SynchronizedReadWrite>; +using ChannelMessageContents = hal::ChannelMessage::ChannelMessageContents; +using MsgQueue = android::AidlMessageQueue<hal::ChannelMessage, SynchronizedReadWrite>; using FlagQueue = android::AidlMessageQueue<int8_t, SynchronizedReadWrite>; PowerAdvisor::~PowerAdvisor() = default; namespace { -std::chrono::milliseconds getUpdateTimeout() { - // Default to a timeout of 80ms if nothing else is specified - static std::chrono::milliseconds timeout = - std::chrono::milliseconds(sysprop::display_update_imminent_timeout_ms(80)); - return timeout; -} - void traceExpensiveRendering(bool enabled) { if (enabled) { SFTRACE_ASYNC_BEGIN("ExpensiveRendering", 0); @@ -82,28 +67,30 @@ void traceExpensiveRendering(bool enabled) { } // namespace -PowerAdvisor::PowerAdvisor(SurfaceFlinger& flinger) - : mPowerHal(std::make_unique<power::PowerHalController>()), mFlinger(flinger) { - if (getUpdateTimeout() > 0ms) { - mScreenUpdateTimer.emplace("UpdateImminentTimer", getUpdateTimeout(), +PowerAdvisor::PowerAdvisor(std::function<void()>&& sfDisableExpensiveFn, + std::chrono::milliseconds timeout) + : mPowerHal(std::make_unique<power::PowerHalController>()) { + if (timeout > 0ms) { + mScreenUpdateTimer.emplace("UpdateImminentTimer", timeout, /* resetCallback */ nullptr, /* timeoutCallback */ - [this] { + [this, disableExpensiveFn = std::move(sfDisableExpensiveFn), + timeout] { while (true) { auto timeSinceLastUpdate = std::chrono::nanoseconds( systemTime() - mLastScreenUpdatedTime.load()); - if (timeSinceLastUpdate >= getUpdateTimeout()) { + if (timeSinceLastUpdate >= timeout) { break; } // We may try to disable expensive rendering and allow // for sending DISPLAY_UPDATE_IMMINENT hints too early if // we idled very shortly after updating the screen, so // make sure we wait enough time. - std::this_thread::sleep_for(getUpdateTimeout() - + std::this_thread::sleep_for(timeout - timeSinceLastUpdate); } mSendUpdateImminent.store(true); - mFlinger.disableExpensiveRendering(); + disableExpensiveFn(); }); } } @@ -132,7 +119,7 @@ void PowerAdvisor::setExpensiveRenderingExpected(DisplayId displayId, bool expec const bool expectsExpensiveRendering = !mExpensiveDisplays.empty(); if (mNotifiedExpensiveRendering != expectsExpensiveRendering) { - auto ret = getPowerHal().setMode(Mode::EXPENSIVE_RENDERING, expectsExpensiveRendering); + auto ret = getPowerHal().setMode(hal::Mode::EXPENSIVE_RENDERING, expectsExpensiveRendering); if (!ret.isOk()) { if (ret.isUnsupported()) { mHasExpensiveRendering = false; @@ -151,7 +138,7 @@ void PowerAdvisor::notifyCpuLoadUp() { if (!mBootFinished.load()) { return; } - sendHintSessionHint(SessionHint::CPU_LOAD_UP); + sendHintSessionHint(hal::SessionHint::CPU_LOAD_UP); } void PowerAdvisor::notifyDisplayUpdateImminentAndCpuReset() { @@ -163,12 +150,12 @@ void PowerAdvisor::notifyDisplayUpdateImminentAndCpuReset() { if (mSendUpdateImminent.exchange(false)) { ALOGV("AIDL notifyDisplayUpdateImminentAndCpuReset"); - sendHintSessionHint(SessionHint::CPU_LOAD_RESET); + sendHintSessionHint(hal::SessionHint::CPU_LOAD_RESET); if (!mHasDisplayUpdateImminent) { ALOGV("Skipped sending DISPLAY_UPDATE_IMMINENT because HAL doesn't support it"); } else { - auto ret = getPowerHal().setBoost(Boost::DISPLAY_UPDATE_IMMINENT, 0); + auto ret = getPowerHal().setBoost(hal::Boost::DISPLAY_UPDATE_IMMINENT, 0); if (ret.isUnsupported()) { mHasDisplayUpdateImminent = false; } @@ -205,7 +192,7 @@ bool PowerAdvisor::shouldCreateSessionWithConfig() { FlagManager::getInstance().adpf_use_fmq_channel(); } -void PowerAdvisor::sendHintSessionHint(SessionHint hint) { +void PowerAdvisor::sendHintSessionHint(hal::SessionHint hint) { if (!mBootFinished || !usePowerHintSession()) { ALOGV("Power hint session is not enabled, skip sending session hint"); return; @@ -236,7 +223,7 @@ bool PowerAdvisor::ensurePowerHintSessionRunning() { static_cast<int32_t>(getuid()), mHintSessionThreadIds, mTargetDuration.ns(), - SessionTag::SURFACEFLINGER, + hal::SessionTag::SURFACEFLINGER, &mSessionConfig); if (ret.isOk()) { mHintSession = ret.value(); @@ -326,7 +313,7 @@ void PowerAdvisor::reportActualWorkDuration() { return; } SFTRACE_CALL(); - std::optional<WorkDuration> actualDuration = estimateWorkDuration(); + std::optional<hal::WorkDuration> actualDuration = estimateWorkDuration(); if (!actualDuration.has_value() || actualDuration->durationNanos < 0) { ALOGV("Failed to send actual work duration, skipping"); return; @@ -377,7 +364,7 @@ void PowerAdvisor::reportActualWorkDuration() { mHintSessionQueue.clear(); } -template <ChannelMessage::ChannelMessageContents::Tag T, class In> +template <hal::ChannelMessage::ChannelMessageContents::Tag T, class In> bool PowerAdvisor::writeHintSessionMessage(In* contents, size_t count) { if (!mMsgQueue) { ALOGV("Skip using FMQ with message tag %hhd as it's not supported", T); @@ -395,13 +382,13 @@ bool PowerAdvisor::writeHintSessionMessage(In* contents, size_t count) { } for (size_t i = 0; i < count; ++i) { if constexpr (T == ChannelMessageContents::Tag::workDuration) { - const WorkDuration& duration = contents[i]; - new (tx.getSlot(i)) ChannelMessage{ + const hal::WorkDuration& duration = contents[i]; + new (tx.getSlot(i)) hal::ChannelMessage{ .sessionID = static_cast<int32_t>(mSessionConfig.id), .timeStampNanos = (i == count - 1) ? ::android::uptimeNanos() : duration.timeStampNanos, .data = ChannelMessageContents::make<ChannelMessageContents::Tag::workDuration, - WorkDurationFixedV1>({ + hal::WorkDurationFixedV1>({ .durationNanos = duration.durationNanos, .workPeriodStartTimestampNanos = duration.workPeriodStartTimestampNanos, .cpuDurationNanos = duration.cpuDurationNanos, @@ -409,7 +396,7 @@ bool PowerAdvisor::writeHintSessionMessage(In* contents, size_t count) { }), }; } else { - new (tx.getSlot(i)) ChannelMessage{ + new (tx.getSlot(i)) hal::ChannelMessage{ .sessionID = static_cast<int32_t>(mSessionConfig.id), .timeStampNanos = ::android::uptimeNanos(), .data = ChannelMessageContents::make<T, In>(std::move(contents[i])), @@ -572,7 +559,7 @@ std::vector<DisplayId> PowerAdvisor::getOrderedDisplayIds( return sortedDisplays; } -std::optional<WorkDuration> PowerAdvisor::estimateWorkDuration() { +std::optional<hal::WorkDuration> PowerAdvisor::estimateWorkDuration() { if (!mExpectedPresentTimes.isFull() || !mCommitStartTimes.isFull()) { return std::nullopt; } @@ -657,7 +644,7 @@ std::optional<WorkDuration> PowerAdvisor::estimateWorkDuration() { Duration combinedDuration = combineTimingEstimates(totalDuration, flingerDuration); Duration cpuDuration = combineTimingEstimates(totalDurationWithoutGpu, flingerDuration); - WorkDuration duration{ + hal::WorkDuration duration{ .timeStampNanos = TimePoint::now().ns(), .durationNanos = combinedDuration.ns(), .workPeriodStartTimestampNanos = mCommitStartTimes[0].ns(), @@ -760,6 +747,4 @@ power::PowerHalController& PowerAdvisor::getPowerHal() { return *mPowerHal; } -} // namespace impl -} // namespace Hwc2 -} // namespace android +} // namespace android::adpf::impl diff --git a/services/surfaceflinger/DisplayHardware/PowerAdvisor.h b/services/surfaceflinger/PowerAdvisor/PowerAdvisor.h index 1076b2b79b..458b46d500 100644 --- a/services/surfaceflinger/DisplayHardware/PowerAdvisor.h +++ b/services/surfaceflinger/PowerAdvisor/PowerAdvisor.h @@ -17,7 +17,7 @@ #pragma once #include <atomic> -#include <chrono> +#include <future> #include <unordered_map> #include <unordered_set> @@ -30,10 +30,8 @@ #pragma clang diagnostic ignored "-Wconversion" #include <aidl/android/hardware/power/IPower.h> #include <fmq/AidlMessageQueue.h> -#include <powermanager/PowerHalController.h> #pragma clang diagnostic pop -#include <compositionengine/impl/OutputCompositionState.h> #include <scheduler/Time.h> #include <ui/DisplayIdentification.h> #include "../Scheduler/OneShotTimer.h" @@ -42,13 +40,16 @@ using namespace std::chrono_literals; namespace android { -class SurfaceFlinger; +namespace power { +class PowerHalController; +class PowerHintSessionWrapper; +} // namespace power -namespace Hwc2 { +namespace adpf { class PowerAdvisor { public: - virtual ~PowerAdvisor(); + virtual ~PowerAdvisor() = default; // Initializes resources that cannot be initialized on construction virtual void init() = 0; @@ -113,9 +114,9 @@ namespace impl { // PowerAdvisor is a wrapper around IPower HAL which takes into account the // full state of the system when sending out power hints to things like the GPU. -class PowerAdvisor final : public Hwc2::PowerAdvisor { +class PowerAdvisor final : public adpf::PowerAdvisor { public: - PowerAdvisor(SurfaceFlinger& flinger); + PowerAdvisor(std::function<void()>&& function, std::chrono::milliseconds timeout); ~PowerAdvisor() override; void init() override; @@ -159,7 +160,6 @@ private: std::unordered_set<DisplayId> mExpensiveDisplays; bool mNotifiedExpensiveRendering = false; - SurfaceFlinger& mFlinger; std::atomic_bool mSendUpdateImminent = true; std::atomic<nsecs_t> mLastScreenUpdatedTime = 0; std::optional<scheduler::OneShotTimer> mScreenUpdateTimer; @@ -326,5 +326,5 @@ private: }; } // namespace impl -} // namespace Hwc2 +} // namespace adpf } // namespace android diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 532eebc4c3..0ea894c511 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -133,7 +133,6 @@ #include "DisplayHardware/FramebufferSurface.h" #include "DisplayHardware/HWComposer.h" #include "DisplayHardware/Hal.h" -#include "DisplayHardware/PowerAdvisor.h" #include "DisplayHardware/VirtualDisplaySurface.h" #include "DisplayRenderArea.h" #include "Effects/Daltonizer.h" @@ -153,6 +152,7 @@ #include "LayerVector.h" #include "MutexUtils.h" #include "NativeWindowSurface.h" +#include "PowerAdvisor/PowerAdvisor.h" #include "RegionSamplingThread.h" #include "RenderAreaBuilder.h" #include "Scheduler/EventThread.h" @@ -426,7 +426,11 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory, SkipInitializationTag) mEmulatedDisplayDensity(getDensityFromProperty("qemu.sf.lcd_density", false)), mInternalDisplayDensity( getDensityFromProperty("ro.sf.lcd_density", !mEmulatedDisplayDensity)), - mPowerAdvisor(std::make_unique<Hwc2::impl::PowerAdvisor>(*this)), + mPowerAdvisor(std::make_unique< + adpf::impl::PowerAdvisor>([this] { disableExpensiveRendering(); }, + std::chrono::milliseconds( + sysprop::display_update_imminent_timeout_ms( + 80)))), mWindowInfosListenerInvoker(sp<WindowInfosListenerInvoker>::make()), mSkipPowerOnForQuiescent(base::GetBoolProperty("ro.boot.quiescent"s, false)) { ALOGI("Using HWComposer service: %s", mHwcServiceName.c_str()); diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index c21df19326..d3479b7e52 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -57,6 +57,7 @@ #include <utils/threads.h> #include <compositionengine/OutputColorSetting.h> +#include <compositionengine/impl/OutputCompositionState.h> #include <scheduler/Fps.h> #include <scheduler/PresentLatencyTracker.h> #include <scheduler/Time.h> @@ -70,7 +71,6 @@ #include "Display/PhysicalDisplay.h" #include "DisplayDevice.h" #include "DisplayHardware/HWC2.h" -#include "DisplayHardware/PowerAdvisor.h" #include "DisplayIdGenerator.h" #include "Effects/Daltonizer.h" #include "FrontEnd/DisplayInfo.h" @@ -81,6 +81,7 @@ #include "FrontEnd/TransactionHandler.h" #include "LayerVector.h" #include "MutexUtils.h" +#include "PowerAdvisor/PowerAdvisor.h" #include "Scheduler/ISchedulerCallback.h" #include "Scheduler/RefreshRateSelector.h" #include "Scheduler/Scheduler.h" @@ -1360,7 +1361,7 @@ private: sp<os::IInputFlinger> mInputFlinger; InputWindowCommands mInputWindowCommands; - std::unique_ptr<Hwc2::PowerAdvisor> mPowerAdvisor; + std::unique_ptr<adpf::PowerAdvisor> mPowerAdvisor; void enableRefreshRateOverlay(bool enable) REQUIRES(mStateLock, kMainThreadContext); diff --git a/services/surfaceflinger/tests/unittests/Android.bp b/services/surfaceflinger/tests/unittests/Android.bp index cb8820a209..6af51435c3 100644 --- a/services/surfaceflinger/tests/unittests/Android.bp +++ b/services/surfaceflinger/tests/unittests/Android.bp @@ -29,13 +29,10 @@ package { filegroup { name: "libsurfaceflinger_backend_mock_sources", srcs: [ + ":poweradvisor_mock_sources", "mock/DisplayHardware/MockComposer.cpp", "mock/DisplayHardware/MockHWC2.cpp", "mock/DisplayHardware/MockHWComposer.cpp", - "mock/DisplayHardware/MockIPower.cpp", - "mock/DisplayHardware/MockPowerHintSessionWrapper.cpp", - "mock/DisplayHardware/MockPowerAdvisor.cpp", - "mock/DisplayHardware/MockPowerHalController.cpp", "mock/system/window/MockNativeWindow.cpp", ], } @@ -54,6 +51,13 @@ cc_library_headers { } filegroup { + name: "poweradvisor_mock_sources", + srcs: [ + "mock/PowerAdvisor/*.cpp", + ], +} + +filegroup { name: "libsurfaceflinger_mock_sources", srcs: [ "mock/MockEventThread.cpp", @@ -86,79 +90,7 @@ cc_test { ":libsurfaceflinger_backend_mock_sources", ":libsurfaceflinger_mock_sources", ":libsurfaceflinger_sources", - "libsurfaceflinger_unittest_main.cpp", - "ActiveDisplayRotationFlagsTest.cpp", - "BackgroundExecutorTest.cpp", - "CommitTest.cpp", - "CompositionTest.cpp", - "DaltonizerTest.cpp", - "DisplayIdGeneratorTest.cpp", - "DisplayTransactionTest.cpp", - "DisplayDevice_GetBestColorModeTest.cpp", - "DisplayDevice_SetDisplayBrightnessTest.cpp", - "DisplayDevice_SetProjectionTest.cpp", - "DisplayModeControllerTest.cpp", - "EventThreadTest.cpp", - "FlagManagerTest.cpp", - "FpsReporterTest.cpp", - "FpsTest.cpp", - "FramebufferSurfaceTest.cpp", - "FrameRateOverrideMappingsTest.cpp", - "FrameTimelineTest.cpp", - "HWComposerTest.cpp", - "JankTrackerTest.cpp", - "OneShotTimerTest.cpp", - "LayerHistoryIntegrationTest.cpp", - "LayerInfoTest.cpp", - "LayerMetadataTest.cpp", - "LayerHierarchyTest.cpp", - "LayerLifecycleManagerTest.cpp", - "LayerSnapshotTest.cpp", - "LayerTestUtils.cpp", - "MessageQueueTest.cpp", - "PowerAdvisorTest.cpp", - "SmallAreaDetectionAllowMappingsTest.cpp", - "SurfaceFlinger_ColorMatrixTest.cpp", - "SurfaceFlinger_CreateDisplayTest.cpp", - "SurfaceFlinger_DestroyDisplayTest.cpp", - "SurfaceFlinger_DisplayModeSwitching.cpp", - "SurfaceFlinger_DisplayTransactionCommitTest.cpp", - "SurfaceFlinger_ExcludeDolbyVisionTest.cpp", - "SurfaceFlinger_FoldableTest.cpp", - "SurfaceFlinger_GetDisplayNativePrimariesTest.cpp", - "SurfaceFlinger_GetDisplayStatsTest.cpp", - "SurfaceFlinger_HdrOutputControlTest.cpp", - "SurfaceFlinger_HotplugTest.cpp", - "SurfaceFlinger_InitializeDisplaysTest.cpp", - "SurfaceFlinger_NotifyExpectedPresentTest.cpp", - "SurfaceFlinger_NotifyPowerBoostTest.cpp", - "SurfaceFlinger_PowerHintTest.cpp", - "SurfaceFlinger_SetDisplayStateTest.cpp", - "SurfaceFlinger_SetPowerModeInternalTest.cpp", - "SurfaceFlinger_SetupNewDisplayDeviceInternalTest.cpp", - "SchedulerTest.cpp", - "RefreshRateSelectorTest.cpp", - "RefreshRateStatsTest.cpp", - "RegionSamplingTest.cpp", - "TestableScheduler.cpp", - "TimeStatsTest.cpp", - "FrameTracerTest.cpp", - "TransactionApplicationTest.cpp", - "TransactionFrameTracerTest.cpp", - "TransactionProtoParserTest.cpp", - "TransactionSurfaceFrameTest.cpp", - "TransactionTraceWriterTest.cpp", - "TransactionTracingTest.cpp", - "TunnelModeEnabledReporterTest.cpp", - "VSyncCallbackRegistrationTest.cpp", - "VSyncDispatchTimerQueueTest.cpp", - "VSyncDispatchRealtimeTest.cpp", - "VsyncModulatorTest.cpp", - "VSyncPredictorTest.cpp", - "VSyncReactorTest.cpp", - "VsyncConfigurationTest.cpp", - "VsyncScheduleTest.cpp", - "WindowInfosListenerInvokerTest.cpp", + "*.cpp", ], } diff --git a/services/surfaceflinger/tests/unittests/CommitAndCompositeTest.h b/services/surfaceflinger/tests/unittests/CommitAndCompositeTest.h index d4c801f050..b517ff02ad 100644 --- a/services/surfaceflinger/tests/unittests/CommitAndCompositeTest.h +++ b/services/surfaceflinger/tests/unittests/CommitAndCompositeTest.h @@ -22,8 +22,8 @@ #include "TestableSurfaceFlinger.h" #include "mock/DisplayHardware/MockComposer.h" -#include "mock/DisplayHardware/MockPowerAdvisor.h" #include "mock/MockTimeStats.h" +#include "mock/PowerAdvisor/MockPowerAdvisor.h" #include "mock/system/window/MockNativeWindow.h" namespace android { @@ -33,11 +33,11 @@ struct CommitAndCompositeTest : testing::Test { void SetUp() override { mFlinger.setupMockScheduler({.displayId = DEFAULT_DISPLAY_ID}); mComposer = new Hwc2::mock::Composer(); - mPowerAdvisor = new Hwc2::mock::PowerAdvisor(); + mPowerAdvisor = new adpf::mock::PowerAdvisor(); mFlinger.setupRenderEngine(std::unique_ptr<renderengine::RenderEngine>(mRenderEngine)); mFlinger.setupTimeStats(std::shared_ptr<TimeStats>(mTimeStats)); mFlinger.setupComposer(std::unique_ptr<Hwc2::Composer>(mComposer)); - mFlinger.setupPowerAdvisor(std::unique_ptr<Hwc2::PowerAdvisor>(mPowerAdvisor)); + mFlinger.setupPowerAdvisor(std::unique_ptr<adpf::PowerAdvisor>(mPowerAdvisor)); constexpr bool kIsPrimary = true; FakeHwcDisplayInjector(DEFAULT_DISPLAY_ID, hal::DisplayType::PHYSICAL, kIsPrimary) @@ -79,7 +79,7 @@ struct CommitAndCompositeTest : testing::Test { sp<compositionengine::mock::DisplaySurface>::make(); sp<mock::NativeWindow> mNativeWindow = sp<mock::NativeWindow>::make(); mock::TimeStats* mTimeStats = new mock::TimeStats(); - Hwc2::mock::PowerAdvisor* mPowerAdvisor = nullptr; + adpf::mock::PowerAdvisor* mPowerAdvisor = nullptr; Hwc2::mock::Composer* mComposer = nullptr; }; diff --git a/services/surfaceflinger/tests/unittests/CompositionTest.cpp b/services/surfaceflinger/tests/unittests/CompositionTest.cpp index 4f72424bd7..860ad2e013 100644 --- a/services/surfaceflinger/tests/unittests/CompositionTest.cpp +++ b/services/surfaceflinger/tests/unittests/CompositionTest.cpp @@ -40,10 +40,10 @@ #include "Layer.h" #include "TestableSurfaceFlinger.h" #include "mock/DisplayHardware/MockComposer.h" -#include "mock/DisplayHardware/MockPowerAdvisor.h" #include "mock/MockEventThread.h" #include "mock/MockTimeStats.h" #include "mock/MockVsyncController.h" +#include "mock/PowerAdvisor/MockPowerAdvisor.h" #include "mock/system/window/MockNativeWindow.h" namespace android { @@ -110,9 +110,9 @@ public: mFlinger.setupTimeStats(std::shared_ptr<TimeStats>(mTimeStats)); mComposer = new Hwc2::mock::Composer(); - mPowerAdvisor = new Hwc2::mock::PowerAdvisor(); + mPowerAdvisor = new adpf::mock::PowerAdvisor(); mFlinger.setupComposer(std::unique_ptr<Hwc2::Composer>(mComposer)); - mFlinger.setupPowerAdvisor(std::unique_ptr<Hwc2::PowerAdvisor>(mPowerAdvisor)); + mFlinger.setupPowerAdvisor(std::unique_ptr<adpf::PowerAdvisor>(mPowerAdvisor)); mFlinger.mutableMaxRenderTargetSize() = 16384; } @@ -158,7 +158,7 @@ public: Hwc2::mock::Composer* mComposer = nullptr; renderengine::mock::RenderEngine* mRenderEngine = new renderengine::mock::RenderEngine(); mock::TimeStats* mTimeStats = new mock::TimeStats(); - Hwc2::mock::PowerAdvisor* mPowerAdvisor = nullptr; + adpf::mock::PowerAdvisor* mPowerAdvisor = nullptr; sp<Fence> mClientTargetAcquireFence = Fence::NO_FENCE; diff --git a/services/surfaceflinger/tests/unittests/DisplayTransactionTestHelpers.h b/services/surfaceflinger/tests/unittests/DisplayTransactionTestHelpers.h index db3c0a1d69..fa976c8091 100644 --- a/services/surfaceflinger/tests/unittests/DisplayTransactionTestHelpers.h +++ b/services/surfaceflinger/tests/unittests/DisplayTransactionTestHelpers.h @@ -47,10 +47,10 @@ #include "TestableSurfaceFlinger.h" #include "mock/DisplayHardware/MockComposer.h" #include "mock/DisplayHardware/MockDisplayMode.h" -#include "mock/DisplayHardware/MockPowerAdvisor.h" #include "mock/MockEventThread.h" #include "mock/MockNativeWindowSurface.h" #include "mock/MockVsyncController.h" +#include "mock/PowerAdvisor/MockPowerAdvisor.h" #include "mock/system/window/MockNativeWindow.h" namespace android { @@ -118,7 +118,7 @@ public: sp<GraphicBuffer> mBuffer = sp<GraphicBuffer>::make(1u, 1u, PIXEL_FORMAT_RGBA_8888, GRALLOC_USAGE_SW_WRITE_OFTEN | GRALLOC_USAGE_SW_READ_OFTEN); - Hwc2::mock::PowerAdvisor mPowerAdvisor; + adpf::mock::PowerAdvisor mPowerAdvisor; FakeDisplayInjector mFakeDisplayInjector{mFlinger, mPowerAdvisor, mNativeWindow}; diff --git a/services/surfaceflinger/tests/unittests/FakeDisplayInjector.h b/services/surfaceflinger/tests/unittests/FakeDisplayInjector.h index 6e4bf2b06e..744c53637a 100644 --- a/services/surfaceflinger/tests/unittests/FakeDisplayInjector.h +++ b/services/surfaceflinger/tests/unittests/FakeDisplayInjector.h @@ -19,14 +19,14 @@ #include <gmock/gmock.h> #include "TestableSurfaceFlinger.h" -#include "mock/DisplayHardware/MockPowerAdvisor.h" +#include "mock/PowerAdvisor/MockPowerAdvisor.h" #include "mock/system/window/MockNativeWindow.h" namespace android { using FakeDisplayDeviceInjector = TestableSurfaceFlinger::FakeDisplayDeviceInjector; +using android::adpf::mock::PowerAdvisor; using android::hardware::graphics::composer::hal::HWDisplayId; -using android::Hwc2::mock::PowerAdvisor; struct FakeDisplayInjectorArgs { PhysicalDisplayId displayId = PhysicalDisplayId::fromPort(255u); @@ -36,7 +36,7 @@ struct FakeDisplayInjectorArgs { class FakeDisplayInjector { public: - FakeDisplayInjector(TestableSurfaceFlinger& flinger, Hwc2::mock::PowerAdvisor& powerAdvisor, + FakeDisplayInjector(TestableSurfaceFlinger& flinger, PowerAdvisor& powerAdvisor, sp<mock::NativeWindow> nativeWindow) : mFlinger(flinger), mPowerAdvisor(powerAdvisor), mNativeWindow(nativeWindow) {} @@ -89,7 +89,7 @@ public: } TestableSurfaceFlinger& mFlinger; - Hwc2::mock::PowerAdvisor& mPowerAdvisor; + PowerAdvisor& mPowerAdvisor; sp<mock::NativeWindow> mNativeWindow; }; diff --git a/services/surfaceflinger/tests/unittests/PowerAdvisorTest.cpp b/services/surfaceflinger/tests/unittests/PowerAdvisorTest.cpp index 8375bb9a56..5c25f34ae7 100644 --- a/services/surfaceflinger/tests/unittests/PowerAdvisorTest.cpp +++ b/services/surfaceflinger/tests/unittests/PowerAdvisorTest.cpp @@ -17,7 +17,8 @@ #undef LOG_TAG #define LOG_TAG "PowerAdvisorTest" -#include <DisplayHardware/PowerAdvisor.h> +#include "PowerAdvisor/PowerAdvisor.h" + #include <android_os.h> #include <binder/Status.h> #include <com_android_graphics_surfaceflinger_flags.h> @@ -29,18 +30,17 @@ #include <ui/DisplayId.h> #include <chrono> #include <future> -#include "TestableSurfaceFlinger.h" -#include "mock/DisplayHardware/MockPowerHalController.h" -#include "mock/DisplayHardware/MockPowerHintSessionWrapper.h" +#include "mock/PowerAdvisor/MockPowerHalController.h" +#include "mock/PowerAdvisor/MockPowerHintSessionWrapper.h" using namespace android; -using namespace android::Hwc2::mock; +using namespace android::adpf::mock; using namespace android::hardware::power; using namespace std::chrono_literals; using namespace testing; using namespace android::power; -namespace android::Hwc2::impl { +namespace android::adpf::impl { class PowerAdvisorTest : public testing::Test { public: @@ -73,7 +73,6 @@ public: void testGpuScenario(GpuTestConfig& config, WorkDuration& ret); protected: - TestableSurfaceFlinger mFlinger; std::unique_ptr<PowerAdvisor> mPowerAdvisor; MockPowerHalController* mMockPowerHalController; std::shared_ptr<MockPowerHintSessionWrapper> mMockPowerHintSession; @@ -98,7 +97,7 @@ int64_t PowerAdvisorTest::toNanos(Duration d) { } void PowerAdvisorTest::SetUp() { - mPowerAdvisor = std::make_unique<impl::PowerAdvisor>(*mFlinger.flinger()); + mPowerAdvisor = std::make_unique<impl::PowerAdvisor>([]() {}, 80ms); mPowerAdvisor->mPowerHal = std::make_unique<NiceMock<MockPowerHalController>>(); mMockPowerHalController = reinterpret_cast<MockPowerHalController*>(mPowerAdvisor->mPowerHal.get()); @@ -844,4 +843,4 @@ TEST_F(PowerAdvisorTest, fmq_sendHint_queueFull) { } } // namespace -} // namespace android::Hwc2::impl +} // namespace android::adpf::impl diff --git a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h index 6778af3547..7f0b7a6585 100644 --- a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h +++ b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h @@ -44,22 +44,22 @@ #include "NativeWindowSurface.h" #include "RenderArea.h" #include "Scheduler/RefreshRateSelector.h" +#include "Scheduler/VSyncTracker.h" +#include "Scheduler/VsyncController.h" #include "SurfaceFlinger.h" #include "TestableScheduler.h" #include "android/gui/ISurfaceComposerClient.h" + #include "mock/DisplayHardware/MockComposer.h" #include "mock/DisplayHardware/MockDisplayMode.h" -#include "mock/DisplayHardware/MockPowerAdvisor.h" #include "mock/MockEventThread.h" #include "mock/MockFrameTimeline.h" #include "mock/MockFrameTracer.h" #include "mock/MockSchedulerCallback.h" -#include "mock/system/window/MockNativeWindow.h" - -#include "Scheduler/VSyncTracker.h" -#include "Scheduler/VsyncController.h" #include "mock/MockVSyncTracker.h" #include "mock/MockVsyncController.h" +#include "mock/PowerAdvisor/MockPowerAdvisor.h" +#include "mock/system/window/MockNativeWindow.h" namespace android { @@ -190,7 +190,7 @@ public: &mFlinger->mCompositionEngine->getHwComposer()); } - void setupPowerAdvisor(std::unique_ptr<Hwc2::PowerAdvisor> powerAdvisor) { + void setupPowerAdvisor(std::unique_ptr<adpf::PowerAdvisor> powerAdvisor) { mFlinger->mPowerAdvisor = std::move(powerAdvisor); } @@ -1160,7 +1160,7 @@ private: scheduler::mock::NoOpSchedulerCallback mNoOpSchedulerCallback; std::unique_ptr<frametimeline::impl::TokenManager> mTokenManager; scheduler::TestableScheduler* mScheduler = nullptr; - Hwc2::mock::PowerAdvisor mPowerAdvisor; + adpf::mock::PowerAdvisor mPowerAdvisor; }; } // namespace android diff --git a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockIPower.cpp b/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockIPower.cpp deleted file mode 100644 index 2323ebb4aa..0000000000 --- a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockIPower.cpp +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "mock/DisplayHardware/MockIPower.h" - -namespace android::Hwc2::mock { - -// Explicit default instantiation is recommended. -MockIPower::MockIPower() = default; - -} // namespace android::Hwc2::mock diff --git a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockIPower.h b/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockIPower.h deleted file mode 100644 index 4c034d7012..0000000000 --- a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockIPower.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include "binder/Status.h" - -// FMQ library in IPower does questionable conversions -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wconversion" -#include <aidl/android/hardware/power/IPower.h> -#pragma clang diagnostic pop - -#include <gmock/gmock.h> - -using aidl::android::hardware::power::Boost; -using aidl::android::hardware::power::ChannelConfig; -using aidl::android::hardware::power::IPower; -using aidl::android::hardware::power::IPowerHintSession; -using aidl::android::hardware::power::SessionConfig; -using aidl::android::hardware::power::SessionTag; -using aidl::android::hardware::power::SupportInfo; - -using aidl::android::hardware::power::Mode; -using android::binder::Status; - -namespace android::Hwc2::mock { - -class MockIPower : public IPower { -public: - MockIPower(); - - MOCK_METHOD(ndk::ScopedAStatus, isBoostSupported, (Boost boost, bool* ret), (override)); - MOCK_METHOD(ndk::ScopedAStatus, setBoost, (Boost boost, int32_t durationMs), (override)); - MOCK_METHOD(ndk::ScopedAStatus, isModeSupported, (Mode mode, bool* ret), (override)); - MOCK_METHOD(ndk::ScopedAStatus, setMode, (Mode mode, bool enabled), (override)); - MOCK_METHOD(ndk::ScopedAStatus, createHintSession, - (int32_t tgid, int32_t uid, const std::vector<int32_t>& threadIds, - int64_t durationNanos, std::shared_ptr<IPowerHintSession>* session), - (override)); - MOCK_METHOD(ndk::ScopedAStatus, getHintSessionPreferredRate, (int64_t * rate), (override)); - MOCK_METHOD(ndk::ScopedAStatus, createHintSessionWithConfig, - (int32_t tgid, int32_t uid, const std::vector<int32_t>& threadIds, - int64_t durationNanos, SessionTag tag, SessionConfig* config, - std::shared_ptr<IPowerHintSession>* _aidl_return), - (override)); - MOCK_METHOD(ndk::ScopedAStatus, getSessionChannel, - (int32_t tgid, int32_t uid, ChannelConfig* _aidl_return), (override)); - MOCK_METHOD(ndk::ScopedAStatus, closeSessionChannel, (int32_t tgid, int32_t uid), (override)); - MOCK_METHOD(ndk::ScopedAStatus, getSupportInfo, (SupportInfo * _aidl_return), (override)); - MOCK_METHOD(ndk::ScopedAStatus, getInterfaceVersion, (int32_t * version), (override)); - MOCK_METHOD(ndk::ScopedAStatus, getInterfaceHash, (std::string * hash), (override)); - MOCK_METHOD(ndk::SpAIBinder, asBinder, (), (override)); - MOCK_METHOD(bool, isRemote, (), (override)); -}; - -} // namespace android::Hwc2::mock diff --git a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerAdvisor.cpp b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerAdvisor.cpp index 1ba38a822a..f4c1e52537 100644 --- a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerAdvisor.cpp +++ b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerAdvisor.cpp @@ -16,10 +16,10 @@ #include "MockPowerAdvisor.h" -namespace android::Hwc2::mock { +namespace android::adpf::mock { // Explicit default instantiation is recommended. PowerAdvisor::PowerAdvisor() = default; PowerAdvisor::~PowerAdvisor() = default; -} // namespace android::Hwc2::mock +} // namespace android::adpf::mock diff --git a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerAdvisor.h b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerAdvisor.h index 4efdfe877b..5c4512a2df 100644 --- a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerAdvisor.h +++ b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerAdvisor.h @@ -18,11 +18,11 @@ #include <gmock/gmock.h> -#include "DisplayHardware/PowerAdvisor.h" +#include "PowerAdvisor/PowerAdvisor.h" -namespace android::Hwc2::mock { +namespace android::adpf::mock { -class PowerAdvisor : public android::Hwc2::PowerAdvisor { +class PowerAdvisor : public android::adpf::PowerAdvisor { public: PowerAdvisor(); ~PowerAdvisor() override; @@ -65,4 +65,4 @@ public: MOCK_METHOD(void, setTotalFrameTargetWorkDuration, (Duration targetDuration), (override)); }; -} // namespace android::Hwc2::mock +} // namespace android::adpf::mock diff --git a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerHalController.cpp b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerHalController.cpp index 3ec5c2d09b..3b8de55607 100644 --- a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerHalController.cpp +++ b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerHalController.cpp @@ -16,9 +16,9 @@ #include "MockPowerHalController.h" -namespace android::Hwc2::mock { +namespace android::adpf::mock { MockPowerHalController::MockPowerHalController() = default; MockPowerHalController::~MockPowerHalController() = default; -} // namespace android::Hwc2::mock +} // namespace android::adpf::mock diff --git a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerHalController.h b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerHalController.h index af1862d1cf..fba4cd82fa 100644 --- a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerHalController.h +++ b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerHalController.h @@ -19,10 +19,7 @@ #include <gmock/gmock.h> #include <scheduler/Time.h> -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wconversion" #include <powermanager/PowerHalController.h> -#pragma clang diagnostic pop namespace android { namespace hardware { @@ -32,7 +29,7 @@ class IPower; } // namespace hardware } // namespace android -namespace android::Hwc2::mock { +namespace android::adpf::mock { using android::power::HalResult; @@ -59,4 +56,4 @@ public: MOCK_METHOD(HalResult<void>, closeSessionChannel, (int tgid, int uid), (override)); }; -} // namespace android::Hwc2::mock
\ No newline at end of file +} // namespace android::adpf::mock
\ No newline at end of file diff --git a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerHintSessionWrapper.cpp b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerHintSessionWrapper.cpp index d383283d8e..cb39783b77 100644 --- a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerHintSessionWrapper.cpp +++ b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerHintSessionWrapper.cpp @@ -14,12 +14,12 @@ * limitations under the License. */ -#include "mock/DisplayHardware/MockPowerHintSessionWrapper.h" +#include "MockPowerHintSessionWrapper.h" -namespace android::Hwc2::mock { +namespace android::adpf::mock { // Explicit default instantiation is recommended. MockPowerHintSessionWrapper::MockPowerHintSessionWrapper() : power::PowerHintSessionWrapper(nullptr) {} -} // namespace android::Hwc2::mock +} // namespace android::adpf::mock diff --git a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerHintSessionWrapper.h b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerHintSessionWrapper.h index bc6950cccb..4518de8c16 100644 --- a/services/surfaceflinger/tests/unittests/mock/DisplayHardware/MockPowerHintSessionWrapper.h +++ b/services/surfaceflinger/tests/unittests/mock/PowerAdvisor/MockPowerHintSessionWrapper.h @@ -16,13 +16,7 @@ #pragma once -#include "binder/Status.h" - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wconversion" -#include <aidl/android/hardware/power/IPower.h> #include <powermanager/PowerHintSessionWrapper.h> -#pragma clang diagnostic pop #include <gmock/gmock.h> @@ -34,7 +28,7 @@ using android::binder::Status; using namespace aidl::android::hardware::power; -namespace android::Hwc2::mock { +namespace android::adpf::mock { class MockPowerHintSessionWrapper : public power::PowerHintSessionWrapper { public: @@ -52,4 +46,4 @@ public: MOCK_METHOD(power::HalResult<SessionConfig>, getSessionConfig, (), (override)); }; -} // namespace android::Hwc2::mock +} // namespace android::adpf::mock |