Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54872c31 authored by Yunfan Chen's avatar Yunfan Chen
Browse files

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
parent 63230ed8
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -133,14 +133,15 @@ class TaskPositioner implements IBinder.DeathRecipient {

        @Override
        public void onInputEvent(InputEvent 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;
            boolean handled = false;

            try {
                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