Merge "Update CTS package name for input test" into main
diff --git a/services/inputflinger/dispatcher/trace/ThreadedBackend.cpp b/services/inputflinger/dispatcher/trace/ThreadedBackend.cpp
index c0a98f5..3c3c15a 100644
--- a/services/inputflinger/dispatcher/trace/ThreadedBackend.cpp
+++ b/services/inputflinger/dispatcher/trace/ThreadedBackend.cpp
@@ -57,6 +57,7 @@
const TracedEventMetadata& metadata) {
std::scoped_lock lock(mLock);
mQueue.emplace_back(event, metadata);
+ setIdleStatus(false);
mThreadWakeCondition.notify_all();
}
@@ -65,6 +66,7 @@
const TracedEventMetadata& metadata) {
std::scoped_lock lock(mLock);
mQueue.emplace_back(event, metadata);
+ setIdleStatus(false);
mThreadWakeCondition.notify_all();
}
@@ -73,6 +75,7 @@
const TracedEventMetadata& metadata) {
std::scoped_lock lock(mLock);
mQueue.emplace_back(dispatchArgs, metadata);
+ setIdleStatus(false);
mThreadWakeCondition.notify_all();
}
@@ -84,7 +87,9 @@
std::unique_lock lock(mLock);
base::ScopedLockAssertion assumeLocked(mLock);
- setIdleStatus(true);
+ if (mQueue.empty()) {
+ setIdleStatus(true);
+ }
// Wait until we need to process more events or exit.
mThreadWakeCondition.wait(lock,
@@ -94,8 +99,6 @@
return;
}
- setIdleStatus(false);
-
mQueue.swap(entries);
} // release lock
diff --git a/services/inputflinger/tests/InputTracingTest.cpp b/services/inputflinger/tests/InputTracingTest.cpp
index fe4d6d9..23fa045 100644
--- a/services/inputflinger/tests/InputTracingTest.cpp
+++ b/services/inputflinger/tests/InputTracingTest.cpp
@@ -626,6 +626,8 @@
consumed = window->consumeMotionEvent(WithMotionAction(ACTION_CANCEL));
s.expectMotionTraced(Level::NONE, *consumed);
s.expectDispatchTraced(Level::REDACTED, {*consumed, window});
+
+ waitForTracerIdle();
}
TEST_F(InputTracingTest, SimultaneousTracingSessions) {