diff options
author | Craig Mautner <cmautner@google.com> | 2014-11-11 13:28:43 -0800 |
---|---|---|
committer | Craig Mautner <cmautner@google.com> | 2014-11-11 14:05:03 -0800 |
commit | 0c17a2b2ea5c7bd4f6c9bd426e67c40022e3d84c (patch) | |
tree | e76585b813c172c2e5be3f61ed38c5edd3d13885 /services | |
parent | bfd633e131585d8e924b6a77c66284ec7e5dcc72 (diff) | |
download | frameworks_native-0c17a2b2ea5c7bd4f6c9bd426e67c40022e3d84c.zip frameworks_native-0c17a2b2ea5c7bd4f6c9bd426e67c40022e3d84c.tar.gz frameworks_native-0c17a2b2ea5c7bd4f6c9bd426e67c40022e3d84c.tar.bz2 |
Stop consuming input on error dialogs.
This code is no longer necessary and was preventing input from
reaching their desired windows. See bug 17648830.
Change-Id: Ib1c026ece70e6fa98343340b89af4199d6d0ffca
Diffstat (limited to 'services')
-rw-r--r-- | services/inputflinger/InputDispatcher.cpp | 25 | ||||
-rw-r--r-- | services/inputflinger/InputWindow.h | 6 |
2 files changed, 0 insertions, 31 deletions
diff --git a/services/inputflinger/InputDispatcher.cpp b/services/inputflinger/InputDispatcher.cpp index 02fb6f0..603836a 100644 --- a/services/inputflinger/InputDispatcher.cpp +++ b/services/inputflinger/InputDispatcher.cpp @@ -477,7 +477,6 @@ sp<InputWindowHandle> InputDispatcher::findTouchedWindowAtLocked(int32_t display const InputWindowInfo* windowInfo = windowHandle->getInfo(); if (windowInfo->displayId == displayId) { int32_t flags = windowInfo->layoutParamsFlags; - int32_t privateFlags = windowInfo->layoutParamsPrivateFlags; if (windowInfo->visible) { if (!(flags & InputWindowInfo::FLAG_NOT_TOUCHABLE)) { @@ -489,11 +488,6 @@ sp<InputWindowHandle> InputDispatcher::findTouchedWindowAtLocked(int32_t display } } } - - if (privateFlags & InputWindowInfo::PRIVATE_FLAG_SYSTEM_ERROR) { - // Error window is on top but not visible, so touch is dropped. - return NULL; - } } } return NULL; @@ -1190,7 +1184,6 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, int32_t y = int32_t(entry->pointerCoords[pointerIndex]. getAxisValue(AMOTION_EVENT_AXIS_Y)); sp<InputWindowHandle> newTouchedWindowHandle; - sp<InputWindowHandle> topErrorWindowHandle; bool isTouchModal = false; // Traverse windows from front to back to find touched window and outside targets. @@ -1202,13 +1195,6 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, continue; // wrong display } - int32_t privateFlags = windowInfo->layoutParamsPrivateFlags; - if (privateFlags & InputWindowInfo::PRIVATE_FLAG_SYSTEM_ERROR) { - if (topErrorWindowHandle == NULL) { - topErrorWindowHandle = windowHandle; - } - } - int32_t flags = windowInfo->layoutParamsFlags; if (windowInfo->visible) { if (! (flags & InputWindowInfo::FLAG_NOT_TOUCHABLE)) { @@ -1233,17 +1219,6 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, } } - // If there is an error window but it is not taking focus (typically because - // it is invisible) then wait for it. Any other focused window may in - // fact be in ANR state. - if (topErrorWindowHandle != NULL && newTouchedWindowHandle != topErrorWindowHandle) { - injectionResult = handleTargetsNotReadyLocked(currentTime, entry, - NULL, NULL, nextWakeupTime, - "Waiting because a system error window is about to be displayed."); - injectionPermission = INJECTION_PERMISSION_UNKNOWN; - goto Unresponsive; - } - // Figure out whether splitting will be allowed for this window. if (newTouchedWindowHandle != NULL && newTouchedWindowHandle->getInfo()->supportsSplitTouch()) { diff --git a/services/inputflinger/InputWindow.h b/services/inputflinger/InputWindow.h index 5879c84..42457ce 100644 --- a/services/inputflinger/InputWindow.h +++ b/services/inputflinger/InputWindow.h @@ -64,11 +64,6 @@ struct InputWindowInfo { FLAG_NEEDS_MENU_KEY = 0x40000000, }; - // Private Window flags from WindowManager.LayoutParams - enum { - PRIVATE_FLAG_SYSTEM_ERROR = 0x00000100, - }; - // Window types from WindowManager.LayoutParams enum { FIRST_APPLICATION_WINDOW = 1, @@ -119,7 +114,6 @@ struct InputWindowInfo { sp<InputChannel> inputChannel; String8 name; int32_t layoutParamsFlags; - int32_t layoutParamsPrivateFlags; int32_t layoutParamsType; nsecs_t dispatchingTimeout; int32_t frameLeft; |