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

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

Merge "Play haptic on Assistant gesture invoked" into ub-launcher3-qt-dev

parents ab184166 ad2b0a72
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import static com.android.launcher3.userevent.nano.LauncherLogProto.Action.Direc
import static com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType.NAVBAR;

import android.animation.ValueAnimator;
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.PointF;
@@ -35,7 +36,10 @@ import android.os.Bundle;
import android.os.RemoteException;
import android.os.SystemClock;
import android.util.Log;
import android.view.HapticFeedbackConstants;
import android.view.MotionEvent;

import com.android.launcher3.BaseDraggingActivity;
import com.android.launcher3.anim.Interpolators;
import com.android.launcher3.logging.UserEventDispatcher;
import com.android.systemui.shared.recents.ISystemUiProxy;
@@ -76,6 +80,7 @@ public class AssistantTouchConsumer implements InputConsumer {
    private float mLastProgress;
    private int mState;
    private int mDirection;
    private ActivityControlHelper mActivityControlHelper;

    private final float mDistThreshold;
    private final long mTimeThreshold;
@@ -89,7 +94,8 @@ public class AssistantTouchConsumer implements InputConsumer {


    public AssistantTouchConsumer(Context context, ISystemUiProxy systemUiProxy,
            InputConsumer delegate, InputMonitorCompat inputMonitorCompat) {
            InputConsumer delegate, InputMonitorCompat inputMonitorCompat,
            ActivityControlHelper activityControlHelper) {
        final Resources res = context.getResources();
        mContext = context;
        mSysUiProxy = systemUiProxy;
@@ -99,6 +105,7 @@ public class AssistantTouchConsumer implements InputConsumer {
        mAngleThreshold = res.getInteger(R.integer.assistant_gesture_corner_deg_threshold);
        mSlop = NavigationBarCompat.getQuickStepDragSlopPx();
        mInputMonitorCompat = inputMonitorCompat;
        mActivityControlHelper = activityControlHelper;
        mState = STATE_INACTIVE;
    }

@@ -242,6 +249,13 @@ public class AssistantTouchConsumer implements InputConsumer {
                    Bundle args = new Bundle();
                    args.putInt(INVOCATION_TYPE_KEY, INVOCATION_TYPE_GESTURE);

                    BaseDraggingActivity launcherActivity = mActivityControlHelper.getCreatedActivity();
                    if (launcherActivity != null) {
                        launcherActivity.getRootView().
                                performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY,
                                        HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
                    }

                    mSysUiProxy.startAssistant(args);
                    mLaunchedAssistant = true;
                }
+2 −1
Original line number Diff line number Diff line
@@ -455,6 +455,7 @@ public class TouchInteractionService extends Service implements

        final ActivityControlHelper activityControl =
                mOverviewComponentObserver.getActivityControlHelper();

        if (runningTaskInfo == null && !mSwipeSharedState.goingToLauncher) {
            return InputConsumer.NO_OP;
        } else if (mAssistantAvailable
@@ -464,7 +465,7 @@ public class TouchInteractionService extends Service implements
            boolean addDelegate = !activityControl.isResumed();
            return new AssistantTouchConsumer(this, mISystemUiProxy, addDelegate ?
                    createOtherActivityInputConsumer(event, runningTaskInfo) : null,
                    mInputMonitorCompat);
                    mInputMonitorCompat, activityControl);

        } else if (mSwipeSharedState.goingToLauncher || activityControl.isResumed()) {
            return OverviewInputConsumer.newInstance(activityControl, false);