summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-06-25 18:26:17 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-06-25 18:26:17 +0000
commit31e7a17effe49cf626c233602f718892d756a752 (patch)
tree400a88fd3f271812d1b1c412044e4456db81171b
parentde435229e36390f044e14724fd5dda253703a8d6 (diff)
parentbe737674afd67f67e7053d3c0c87ed5dc61f052d (diff)
downloadnative-31e7a17effe49cf626c233602f718892d756a752.tar.gz
Merge "Clear spam log for INPUT_FEATURE_NO_INPUT_CHANNEL window" into rvc-dev
-rw-r--r--services/inputflinger/dispatcher/InputDispatcher.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/services/inputflinger/dispatcher/InputDispatcher.cpp b/services/inputflinger/dispatcher/InputDispatcher.cpp
index f011992daa..fe016af01f 100644
--- a/services/inputflinger/dispatcher/InputDispatcher.cpp
+++ b/services/inputflinger/dispatcher/InputDispatcher.cpp
@@ -3569,6 +3569,10 @@ std::vector<sp<InputWindowHandle>> InputDispatcher::getWindowHandlesLocked(
sp<InputWindowHandle> InputDispatcher::getWindowHandleLocked(
const sp<IBinder>& windowHandleToken) const {
+ if (windowHandleToken == nullptr) {
+ return nullptr;
+ }
+
for (auto& it : mWindowHandlesByDisplay) {
const std::vector<sp<InputWindowHandle>> windowHandles = it.second;
for (const sp<InputWindowHandle>& windowHandle : windowHandles) {
@@ -3584,7 +3588,8 @@ bool InputDispatcher::hasWindowHandleLocked(const sp<InputWindowHandle>& windowH
for (auto& it : mWindowHandlesByDisplay) {
const std::vector<sp<InputWindowHandle>> windowHandles = it.second;
for (const sp<InputWindowHandle>& handle : windowHandles) {
- if (handle->getToken() == windowHandle->getToken()) {
+ if (handle->getId() == windowHandle->getId() &&
+ handle->getToken() == windowHandle->getToken()) {
if (windowHandle->getInfo()->displayId != it.first) {
ALOGE("Found window %s in display %" PRId32
", but it should belong to display %" PRId32,