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

Commit dde28b48 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Removing unnecessary AM.getTasks() call on every touch" into tm-dev

parents c089baa6 d2ec834f
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -550,15 +550,13 @@ public class RecentsAnimationDeviceState implements

    /**
     * @param ev An ACTION_DOWN motion event
     * @param task Info for the currently running task
     * @return whether the given motion event can trigger the assistant over the current task.
     */
    public boolean canTriggerAssistantAction(MotionEvent ev, ActivityManager.RunningTaskInfo task) {
    public boolean canTriggerAssistantAction(MotionEvent ev) {
        return mAssistantAvailable
                && !QuickStepContract.isAssistantGestureDisabled(mSystemUiStateFlags)
                && mRotationTouchHelper.touchInAssistantRegion(ev)
                && !isLockToAppActive()
                && !isGestureBlockedActivity(task);
                && !isLockToAppActive();
    }

    /**
+17 −23
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_N
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_TRACING_ENABLED;

import android.annotation.TargetApi;
import android.app.ActivityManager;
import android.app.PendingIntent;
import android.app.RemoteAction;
import android.app.Service;
@@ -575,26 +574,14 @@ public class TouchInteractionService extends Service

                ActiveGestureLog.INSTANCE.addLog("setInputConsumer: " + mConsumer.getName());
                mUncheckedConsumer = mConsumer;
            } else if (mDeviceState.isUserUnlocked() && mDeviceState.isFullyGesturalNavMode()) {
            } else if (mDeviceState.isUserUnlocked() && mDeviceState.isFullyGesturalNavMode()
                    && mDeviceState.canTriggerAssistantAction(event)) {
                mGestureState = createGestureState(mGestureState);
                ActivityManager.RunningTaskInfo runningTask = mGestureState.getRunningTask();
                if (mDeviceState.canTriggerAssistantAction(event, runningTask)) {
                // Do not change mConsumer as if there is an ongoing QuickSwitch gesture, we
                // should not interrupt it. QuickSwitch assumes that interruption can only
                // happen if the next gesture is also quick switch.
                    mUncheckedConsumer = new AssistantInputConsumer(
                            this,
                            mGestureState,
                            InputConsumer.NO_OP, mInputMonitorCompat,
                            mDeviceState,
                            event);
                } else if (mDeviceState.canTriggerOneHandedAction(event)) {
                    // Consume gesture event for triggering one handed feature.
                    mUncheckedConsumer = new OneHandedModeInputConsumer(this, mDeviceState,
                        InputConsumer.NO_OP, mInputMonitorCompat);
                } else {
                    mUncheckedConsumer = InputConsumer.NO_OP;
                }
                mUncheckedConsumer = tryCreateAssistantInputConsumer(
                        InputConsumer.NO_OP, mGestureState, event);
            } else if (mDeviceState.canTriggerOneHandedAction(event)) {
                // Consume gesture event for triggering one handed feature.
                mUncheckedConsumer = new OneHandedModeInputConsumer(this, mDeviceState,
@@ -641,6 +628,14 @@ public class TouchInteractionService extends Service
        ProtoTracer.INSTANCE.get(this).scheduleFrameUpdate();
    }

    private InputConsumer tryCreateAssistantInputConsumer(InputConsumer base,
            GestureState gestureState, MotionEvent motionEvent) {
        return mDeviceState.isGestureBlockedActivity(gestureState.getRunningTask())
                ? base
                : new AssistantInputConsumer(this, gestureState, base, mInputMonitorCompat,
                        mDeviceState, motionEvent);
    }

    public GestureState createGestureState(GestureState previousGestureState) {
        GestureState gestureState = new GestureState(mOverviewComponentObserver,
                ActiveGestureLog.INSTANCE.generateAndSetLogId());
@@ -686,9 +681,8 @@ public class TouchInteractionService extends Service
            handleOrientationSetup(base);
        }
        if (mDeviceState.isFullyGesturalNavMode()) {
            if (mDeviceState.canTriggerAssistantAction(event, newGestureState.getRunningTask())) {
                base = new AssistantInputConsumer(this, newGestureState, base, mInputMonitorCompat,
                        mDeviceState, event);
            if (mDeviceState.canTriggerAssistantAction(event)) {
                base = tryCreateAssistantInputConsumer(base, newGestureState, event);
            }

            // If Taskbar is present, we listen for long press to unstash it.