From 4bda0f54d87d15356f7589600e0c9dbaf6f7a060 Mon Sep 17 00:00:00 2001 From: Siarhei Vishniakou Date: Tue, 9 Mar 2021 18:46:50 +0000 Subject: [PATCH] Update the usage of receiveFinishedSignal To match the new signature of receiveFinishedSignal api, update the InputEventSender. Bug: 167947340 Test: atest libinput_tests Change-Id: I43a0f2d314560aae6f0e9e767464d0c5ad9fb62b --- core/jni/android_view_InputEventSender.cpp | 28 ++++++++++------------ 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/core/jni/android_view_InputEventSender.cpp b/core/jni/android_view_InputEventSender.cpp index 9746a07a1b771..96326f591998a 100644 --- a/core/jni/android_view_InputEventSender.cpp +++ b/core/jni/android_view_InputEventSender.cpp @@ -34,6 +34,8 @@ #include "core_jni_helpers.h" +using android::base::Result; + namespace android { // Log debug messages about the dispatch cycle. @@ -197,16 +199,9 @@ status_t NativeInputEventSender::receiveFinishedSignals(JNIEnv* env) { ScopedLocalRef senderObj(env, NULL); bool skipCallbacks = false; for (;;) { - uint32_t publishedSeq; - bool handled; - std::function callback = - [&publishedSeq, &handled](uint32_t inSeq, bool inHandled, - nsecs_t inConsumeTime) -> void { - publishedSeq = inSeq; - handled = inHandled; - }; - status_t status = mInputPublisher.receiveFinishedSignal(callback); - if (status) { + Result result = mInputPublisher.receiveFinishedSignal(); + if (!result.ok()) { + const status_t status = result.error().code(); if (status == WOULD_BLOCK) { return OK; } @@ -215,7 +210,7 @@ status_t NativeInputEventSender::receiveFinishedSignals(JNIEnv* env) { return status; } - auto it = mPublishedSeqMap.find(publishedSeq); + auto it = mPublishedSeqMap.find(result->seq); if (it == mPublishedSeqMap.end()) { continue; } @@ -225,9 +220,9 @@ status_t NativeInputEventSender::receiveFinishedSignals(JNIEnv* env) { if (kDebugDispatchCycle) { ALOGD("channel '%s' ~ Received finished signal, seq=%u, handled=%s, " - "pendingEvents=%zu.", - getInputChannelName().c_str(), seq, handled ? "true" : "false", - mPublishedSeqMap.size()); + "pendingEvents=%zu.", + getInputChannelName().c_str(), seq, result->handled ? "true" : "false", + mPublishedSeqMap.size()); } if (!skipCallbacks) { @@ -241,8 +236,9 @@ status_t NativeInputEventSender::receiveFinishedSignals(JNIEnv* env) { } env->CallVoidMethod(senderObj.get(), - gInputEventSenderClassInfo.dispatchInputEventFinished, - jint(seq), jboolean(handled)); + gInputEventSenderClassInfo.dispatchInputEventFinished, + static_cast(result->seq), + static_cast(result->handled)); if (env->ExceptionCheck()) { ALOGE("Exception dispatching finished signal."); skipCallbacks = true;