summaryrefslogtreecommitdiffstats
path: root/services/input
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2011-03-25 11:58:46 -0700
committerJeff Brown <jeffbrown@android.com>2011-05-24 15:21:46 -0700
commit22d789d580a4ab5bed83c0ed698d2f5bc721e176 (patch)
tree9d848a0918aa939b457a6fa92bedf43612a50cba /services/input
parentdbf8d27f4c32e20e132e90ad713c6ebaf71d7756 (diff)
downloadframeworks_base-22d789d580a4ab5bed83c0ed698d2f5bc721e176.zip
frameworks_base-22d789d580a4ab5bed83c0ed698d2f5bc721e176.tar.gz
frameworks_base-22d789d580a4ab5bed83c0ed698d2f5bc721e176.tar.bz2
Fix focused application handle. (DO NOT MERGE)
Fix a bug where we were always setting the focused application handle to NULL. This broke ANR processing while starting applications and caused input events to be dropped while starting applications. Bug: 4174573 Change-Id: Ice7ce3a2b65219568a8227fc1383bafb294666b5
Diffstat (limited to 'services/input')
-rw-r--r--services/input/InputDispatcher.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/services/input/InputDispatcher.cpp b/services/input/InputDispatcher.cpp
index ce8f076..b67929a 100644
--- a/services/input/InputDispatcher.cpp
+++ b/services/input/InputDispatcher.cpp
@@ -1198,7 +1198,7 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime,
mTempTouchState.copyFrom(mTouchState);
}
if (wrongDevice) {
-#if DEBUG_INPUT_DISPATCHER_POLICY
+#if DEBUG_FOCUS
LOGD("Dropping event because a pointer for a different device is already down.");
#endif
injectionResult = INPUT_EVENT_INJECTION_FAILED;
@@ -1318,7 +1318,7 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime,
// If the pointer is not currently down, then ignore the event.
if (! mTempTouchState.down) {
-#if DEBUG_INPUT_DISPATCHER_POLICY
+#if DEBUG_FOCUS
LOGD("Dropping event because the pointer is not down or we previously "
"dropped the pointer down event.");
#endif
@@ -1343,7 +1343,7 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime,
}
}
if (! haveForegroundWindow) {
-#if DEBUG_INPUT_DISPATCHER_POLICY
+#if DEBUG_FOCUS
LOGD("Dropping event because there is no touched foreground window to receive it.");
#endif
injectionResult = INPUT_EVENT_INJECTION_FAILED;
@@ -1360,7 +1360,7 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime,
if (touchedWindow.targetFlags & InputTarget::FLAG_FOREGROUND) {
// If the touched window is paused then keep waiting.
if (touchedWindow.window->paused) {
-#if DEBUG_INPUT_DISPATCHER_POLICY
+#if DEBUG_FOCUS
LOGD("Waiting because touched window is paused.");
#endif
injectionResult = handleTargetsNotReadyLocked(currentTime, entry,