diff options
author | Mady Mellor <madym@google.com> | 2020-06-23 19:12:00 +0000 |
---|---|---|
committer | Mady Mellor <madym@google.com> | 2020-06-23 23:10:48 +0000 |
commit | 017bcd179d70208bb8a3fcbe115f8cfa5e64b794 (patch) | |
tree | fc33b34e32328391564e33888d6dc5ca551c5a9f | |
parent | 80d685aef18683ed175e0a3fddbd8f55a83c788d (diff) | |
download | native-017bcd179d70208bb8a3fcbe115f8cfa5e64b794.tar.gz |
Revert "Clear spam log for INPUT_FEATURE_NO_INPUT_CHANNEL window"
This reverts commit 80d685aef18683ed175e0a3fddbd8f55a83c788d.
Reason for revert: seeing if maybe caused regression (b/159719013)
Bug: 159719013
Bug: 159349058
Change-Id: Iac21f799822bab5c26b9753ed78617e0087810bf
-rw-r--r-- | services/inputflinger/dispatcher/InputDispatcher.cpp | 33 | ||||
-rw-r--r-- | services/inputflinger/dispatcher/InputDispatcher.h | 3 |
2 files changed, 15 insertions, 21 deletions
diff --git a/services/inputflinger/dispatcher/InputDispatcher.cpp b/services/inputflinger/dispatcher/InputDispatcher.cpp index cb68355e91..f011992daa 100644 --- a/services/inputflinger/dispatcher/InputDispatcher.cpp +++ b/services/inputflinger/dispatcher/InputDispatcher.cpp @@ -3569,10 +3569,6 @@ 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,22 +3580,21 @@ sp<InputWindowHandle> InputDispatcher::getWindowHandleLocked( return nullptr; } -bool InputDispatcher::hasWindowHandleLocked(const sp<InputWindowHandle>& windowHandle, - int32_t displayId) const { - const std::vector<sp<InputWindowHandle>> windowHandles = getWindowHandlesLocked(displayId); - for (const sp<InputWindowHandle>& handle : windowHandles) { - if (handle->getId() == windowHandle->getId() && - handle->getToken() == windowHandle->getToken()) { - if (handle->getInfo()->displayId != displayId) { - ALOGE("Found window %s in display %" PRId32 - ", but it should belong to display %" PRId32, - windowHandle->getName().c_str(), displayId, - windowHandle->getInfo()->displayId); +bool InputDispatcher::hasWindowHandleLocked(const sp<InputWindowHandle>& windowHandle) const { + for (auto& it : mWindowHandlesByDisplay) { + const std::vector<sp<InputWindowHandle>> windowHandles = it.second; + for (const sp<InputWindowHandle>& handle : windowHandles) { + if (handle->getToken() == windowHandle->getToken()) { + if (windowHandle->getInfo()->displayId != it.first) { + ALOGE("Found window %s in display %" PRId32 + ", but it should belong to display %" PRId32, + windowHandle->getName().c_str(), it.first, + windowHandle->getInfo()->displayId); + } + return true; } - return true; } } - return false; } @@ -3759,7 +3754,7 @@ void InputDispatcher::setInputWindowsLocked( TouchState& state = stateIt->second; for (size_t i = 0; i < state.windows.size();) { TouchedWindow& touchedWindow = state.windows[i]; - if (!hasWindowHandleLocked(touchedWindow.windowHandle, displayId)) { + if (!hasWindowHandleLocked(touchedWindow.windowHandle)) { if (DEBUG_FOCUS) { ALOGD("Touched window was removed: %s in display %" PRId32, touchedWindow.windowHandle->getName().c_str(), displayId); @@ -3783,7 +3778,7 @@ void InputDispatcher::setInputWindowsLocked( // Otherwise, they might stick around until the window handle is destroyed // which might not happen until the next GC. for (const sp<InputWindowHandle>& oldWindowHandle : oldWindowHandles) { - if (!hasWindowHandleLocked(oldWindowHandle, displayId)) { + if (!hasWindowHandleLocked(oldWindowHandle)) { if (DEBUG_FOCUS) { ALOGD("Window went away: %s", oldWindowHandle->getName().c_str()); } diff --git a/services/inputflinger/dispatcher/InputDispatcher.h b/services/inputflinger/dispatcher/InputDispatcher.h index 0f558b4e73..e679c6b06f 100644 --- a/services/inputflinger/dispatcher/InputDispatcher.h +++ b/services/inputflinger/dispatcher/InputDispatcher.h @@ -301,8 +301,7 @@ private: sp<InputWindowHandle> getWindowHandleLocked(const sp<IBinder>& windowHandleToken) const REQUIRES(mLock); sp<InputChannel> getInputChannelLocked(const sp<IBinder>& windowToken) const REQUIRES(mLock); - bool hasWindowHandleLocked(const sp<InputWindowHandle>& windowHandle, int32_t displayId) const - REQUIRES(mLock); + bool hasWindowHandleLocked(const sp<InputWindowHandle>& windowHandle) const REQUIRES(mLock); /* * Validate and update InputWindowHandles for a given display. |