Loading services/input/InputDispatcher.cpp +12 −8 Original line number Original line Diff line number Diff line Loading @@ -3196,11 +3196,13 @@ void InputDispatcher::setInputWindows(const Vector<sp<InputWindowHandle> >& inpu LOGD("Focus left window: %s", LOGD("Focus left window: %s", mFocusedWindowHandle->name.string()); mFocusedWindowHandle->name.string()); #endif #endif if (mFocusedWindowHandle->inputChannel != NULL) { CancelationOptions options(CancelationOptions::CANCEL_NON_POINTER_EVENTS, CancelationOptions options(CancelationOptions::CANCEL_NON_POINTER_EVENTS, "focus left window"); "focus left window"); synthesizeCancelationEventsForInputChannelLocked( synthesizeCancelationEventsForInputChannelLocked( mFocusedWindowHandle->inputChannel, options); mFocusedWindowHandle->inputChannel, options); } } } if (newFocusedWindowHandle != NULL) { if (newFocusedWindowHandle != NULL) { #if DEBUG_FOCUS #if DEBUG_FOCUS LOGD("Focus entered window: %s", LOGD("Focus entered window: %s", Loading @@ -3216,10 +3218,12 @@ void InputDispatcher::setInputWindows(const Vector<sp<InputWindowHandle> >& inpu #if DEBUG_FOCUS #if DEBUG_FOCUS LOGD("Touched window was removed: %s", touchedWindow.windowHandle->name.string()); LOGD("Touched window was removed: %s", touchedWindow.windowHandle->name.string()); #endif #endif if (touchedWindow.windowHandle->inputChannel != NULL) { CancelationOptions options(CancelationOptions::CANCEL_POINTER_EVENTS, CancelationOptions options(CancelationOptions::CANCEL_POINTER_EVENTS, "touched window was removed"); "touched window was removed"); synthesizeCancelationEventsForInputChannelLocked( synthesizeCancelationEventsForInputChannelLocked( touchedWindow.windowHandle->inputChannel, options); touchedWindow.windowHandle->inputChannel, options); } mTouchState.windows.removeAt(i--); mTouchState.windows.removeAt(i--); } } } } Loading services/java/com/android/server/wm/WindowManagerService.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -6573,9 +6573,11 @@ public class WindowManagerService extends IWindowManager.Stub } } synchronized (mWindowMap) { synchronized (mWindowMap) { // !!! TODO: ANR the drag-receiving app // !!! TODO: ANR the drag-receiving app if (mDragState != null) { mDragState.mDragResult = false; mDragState.mDragResult = false; mDragState.endDragLw(); mDragState.endDragLw(); } } } break; break; } } Loading Loading
services/input/InputDispatcher.cpp +12 −8 Original line number Original line Diff line number Diff line Loading @@ -3196,11 +3196,13 @@ void InputDispatcher::setInputWindows(const Vector<sp<InputWindowHandle> >& inpu LOGD("Focus left window: %s", LOGD("Focus left window: %s", mFocusedWindowHandle->name.string()); mFocusedWindowHandle->name.string()); #endif #endif if (mFocusedWindowHandle->inputChannel != NULL) { CancelationOptions options(CancelationOptions::CANCEL_NON_POINTER_EVENTS, CancelationOptions options(CancelationOptions::CANCEL_NON_POINTER_EVENTS, "focus left window"); "focus left window"); synthesizeCancelationEventsForInputChannelLocked( synthesizeCancelationEventsForInputChannelLocked( mFocusedWindowHandle->inputChannel, options); mFocusedWindowHandle->inputChannel, options); } } } if (newFocusedWindowHandle != NULL) { if (newFocusedWindowHandle != NULL) { #if DEBUG_FOCUS #if DEBUG_FOCUS LOGD("Focus entered window: %s", LOGD("Focus entered window: %s", Loading @@ -3216,10 +3218,12 @@ void InputDispatcher::setInputWindows(const Vector<sp<InputWindowHandle> >& inpu #if DEBUG_FOCUS #if DEBUG_FOCUS LOGD("Touched window was removed: %s", touchedWindow.windowHandle->name.string()); LOGD("Touched window was removed: %s", touchedWindow.windowHandle->name.string()); #endif #endif if (touchedWindow.windowHandle->inputChannel != NULL) { CancelationOptions options(CancelationOptions::CANCEL_POINTER_EVENTS, CancelationOptions options(CancelationOptions::CANCEL_POINTER_EVENTS, "touched window was removed"); "touched window was removed"); synthesizeCancelationEventsForInputChannelLocked( synthesizeCancelationEventsForInputChannelLocked( touchedWindow.windowHandle->inputChannel, options); touchedWindow.windowHandle->inputChannel, options); } mTouchState.windows.removeAt(i--); mTouchState.windows.removeAt(i--); } } } } Loading
services/java/com/android/server/wm/WindowManagerService.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -6573,9 +6573,11 @@ public class WindowManagerService extends IWindowManager.Stub } } synchronized (mWindowMap) { synchronized (mWindowMap) { // !!! TODO: ANR the drag-receiving app // !!! TODO: ANR the drag-receiving app if (mDragState != null) { mDragState.mDragResult = false; mDragState.mDragResult = false; mDragState.endDragLw(); mDragState.endDragLw(); } } } break; break; } } Loading