Fix hung input event while resizing
In onInputEvent inplementation, the finishInputEvent needs to be called always, to report back the input event handling result. The previous implementation will have no call for non-dragging event and throw them away. This caused an ANR. Test: reproduce step in b/144141494 Test: go/wm-smoke Bug: 144141494 Bug: 122726344 Change-Id: If6f8da87609641a62d12712aa6c97a58a06bde60
This commit is contained in:
@@ -133,14 +133,15 @@ class TaskPositioner implements IBinder.DeathRecipient {
|
||||
|
||||
@Override
|
||||
public void onInputEvent(InputEvent event) {
|
||||
if (!(event instanceof MotionEvent)
|
||||
|| (event.getSource() & InputDevice.SOURCE_CLASS_POINTER) == 0) {
|
||||
return;
|
||||
}
|
||||
final MotionEvent motionEvent = (MotionEvent) event;
|
||||
boolean handled = false;
|
||||
|
||||
try {
|
||||
// All returns need to be in the try block to make sure the finishInputEvent is
|
||||
// called correctly.
|
||||
if (!(event instanceof MotionEvent)
|
||||
|| (event.getSource() & InputDevice.SOURCE_CLASS_POINTER) == 0) {
|
||||
return;
|
||||
}
|
||||
final MotionEvent motionEvent = (MotionEvent) event;
|
||||
if (mDragEnded) {
|
||||
// The drag has ended but the clean-up message has not been processed by
|
||||
// window manager. Drop events that occur after this until window manager
|
||||
|
||||
Reference in New Issue
Block a user