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

Commit 2ec4b4bd authored by Presubmit Automerger Backend's avatar Presubmit Automerger Backend
Browse files

[automerge] Dispatch hover events through the input consumer proxy 2p: eff9a120

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16685428

Bug: 197043796
Change-Id: Ic29524b5310cfa89ef9a45e8201fa95e2f873648
parents b5e6dbc9 eff9a120
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -99,6 +99,8 @@ public interface InputConsumer {

    default void onMotionEvent(MotionEvent ev) { }

    default void onHoverEvent(MotionEvent ev) { }

    default void onKeyEvent(KeyEvent ev) { }

    default void onInputEvent(InputEvent ev) {
+7 −0
Original line number Diff line number Diff line
@@ -100,6 +100,13 @@ public class OverviewInputConsumer<S extends BaseState<S>, T extends StatefulAct
        }
    }

    @Override
    public void onHoverEvent(MotionEvent ev) {
        if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
            mActivity.dispatchGenericMotionEvent(ev);
        }
    }

    @Override
    public void onKeyEvent(KeyEvent ev) {
        if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
+19 −1
Original line number Diff line number Diff line
@@ -71,7 +71,16 @@ public class InputConsumerProxy {

    private boolean onInputConsumerEvent(InputEvent ev) {
        if (ev instanceof MotionEvent) {
            onInputConsumerMotionEvent((MotionEvent) ev);
            MotionEvent event = (MotionEvent) ev;
            int action = event.getActionMasked();
            boolean isHoverEvent = action == MotionEvent.ACTION_HOVER_ENTER
                    || action == MotionEvent.ACTION_HOVER_MOVE
                    || action == MotionEvent.ACTION_HOVER_EXIT;
            if (isHoverEvent) {
                onInputConsumerHoverEvent(event);
            } else {
                onInputConsumerMotionEvent(event);
            }
        } else if (ev instanceof KeyEvent) {
            initInputConsumerIfNeeded();
            mInputConsumer.onKeyEvent((KeyEvent) ev);
@@ -113,6 +122,15 @@ public class InputConsumerProxy {
        return true;
    }

    private void onInputConsumerHoverEvent(MotionEvent ev) {
        initInputConsumerIfNeeded();
        if (mInputConsumer != null) {
            SimpleOrientationTouchTransformer.INSTANCE.get(mContext).transform(ev,
                    mRotationSupplier.get());
            mInputConsumer.onHoverEvent(ev);
        }
    }

    public void destroy() {
        if (mTouchInProgress) {
            mDestroyPending = true;