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

Commit 87636e40 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Disable batching until the initial gesture is detected" into ub-launcher3-master

parents 80eaab99 aff3e526
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -683,7 +683,7 @@ public class TouchInteractionService extends Service implements PluginListener<O
        final boolean disableHorizontalSwipe = mDeviceState.isInExclusionRegion(event);
        return new OtherActivityInputConsumer(this, mDeviceState, mTaskAnimationManager,
                gestureState, shouldDefer, this::onConsumerInactive,
                mInputMonitorCompat, disableHorizontalSwipe, factory);
                mInputMonitorCompat, mInputEventReceiver, disableHorizontalSwipe, factory);
    }

    private InputConsumer createDeviceLockedInputConsumer(GestureState gestureState) {
@@ -732,6 +732,8 @@ public class TouchInteractionService extends Service implements PluginListener<O
    private void reset() {
        mConsumer = mUncheckedConsumer = mResetGestureInputConsumer;
        mGestureState = DEFAULT_STATE;
        // By default, use batching of the input events
        mInputEventReceiver.setBatchingEnabled(true);
    }

    private void preloadOverview(boolean fromInit) {
+10 −2
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ import com.android.quickstep.util.CachedEventDispatcher;
import com.android.quickstep.util.MotionPauseDetector;
import com.android.quickstep.util.NavBarPosition;
import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.InputChannelCompat.InputEventReceiver;
import com.android.systemui.shared.system.InputMonitorCompat;

import java.util.function.Consumer;
@@ -92,6 +93,7 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
    private RecentsAnimationCallbacks mActiveCallbacks;
    private final CachedEventDispatcher mRecentsViewDispatcher = new CachedEventDispatcher();
    private final InputMonitorCompat mInputMonitorCompat;
    private final InputEventReceiver mInputEventReceiver;
    private final BaseActivityInterface mActivityInterface;

    private final AbsSwipeUpHandler.Factory mHandlerFactory;
@@ -135,8 +137,8 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
    public OtherActivityInputConsumer(Context base, RecentsAnimationDeviceState deviceState,
            TaskAnimationManager taskAnimationManager, GestureState gestureState,
            boolean isDeferredDownTarget, Consumer<OtherActivityInputConsumer> onCompleteCallback,
            InputMonitorCompat inputMonitorCompat, boolean disableHorizontalSwipe,
            Factory handlerFactory) {
            InputMonitorCompat inputMonitorCompat, InputEventReceiver inputEventReceiver,
            boolean disableHorizontalSwipe, Factory handlerFactory) {
        super(base);
        mDeviceState = deviceState;
        mNavBarPosition = mDeviceState.getNavBarPosition();
@@ -154,6 +156,7 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
        mOnCompleteCallback = onCompleteCallback;
        mVelocityTracker = VelocityTracker.obtain();
        mInputMonitorCompat = inputMonitorCompat;
        mInputEventReceiver = inputEventReceiver;

        boolean continuingPreviousGesture = mTaskAnimationManager.isRecentsAnimationRunning();
        mIsDeferredDownTarget = !continuingPreviousGesture && isDeferredDownTarget;
@@ -215,6 +218,9 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC

        switch (ev.getActionMasked()) {
            case ACTION_DOWN: {
                // Until we detect the gesture, handle events as we receive them
                mInputEventReceiver.setBatchingEnabled(false);

                Object traceToken = TraceHelper.INSTANCE.beginSection(DOWN_EVT,
                        FLAG_CHECK_FOR_RACE_CONDITIONS);
                mActivePointerId = ev.getPointerId(0);
@@ -351,6 +357,8 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
        }
        TestLogging.recordEvent(TestProtocol.SEQUENCE_PILFER, "pilferPointers");
        mInputMonitorCompat.pilferPointers();
        // Once we detect the gesture, we can enable batching to reduce further updates
        mInputEventReceiver.setBatchingEnabled(true);

        mActivityInterface.closeOverlay();
        ActivityManagerWrapper.getInstance().closeSystemWindows(