diff options
Diffstat (limited to 'services/surfaceflinger/tests/unittests/TestableScheduler.h')
-rw-r--r-- | services/surfaceflinger/tests/unittests/TestableScheduler.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/services/surfaceflinger/tests/unittests/TestableScheduler.h b/services/surfaceflinger/tests/unittests/TestableScheduler.h index 2a1b88e6fa..c0255d3e98 100644 --- a/services/surfaceflinger/tests/unittests/TestableScheduler.h +++ b/services/surfaceflinger/tests/unittests/TestableScheduler.h @@ -136,14 +136,25 @@ public: return mLayerHistory.mActiveLayerInfos.size(); } - void replaceTouchTimer(int64_t millis) { + void replaceTouchTimer(int64_t millis, + std::function<void(bool isReset)>&& testCallback = nullptr) { if (mTouchTimer) { mTouchTimer.reset(); } mTouchTimer.emplace( "Testable Touch timer", std::chrono::milliseconds(millis), - [this] { touchTimerCallback(TimerState::Reset); }, - [this] { touchTimerCallback(TimerState::Expired); }); + [this, testCallback] { + touchTimerCallback(TimerState::Reset); + if (testCallback != nullptr) { + testCallback(true); + } + }, + [this, testCallback] { + touchTimerCallback(TimerState::Expired); + if (testCallback != nullptr) { + testCallback(false); + } + }); mTouchTimer->start(); } |