Fix issue where Assistant could be invoked at the same time as all apps
issue 132366412 -> First, we shouldn't accept flings when the delegate has intercepted. This prevents any situation where both are triggered. -> Modified the slop to be the standard 8dp. This acts as a standalone fix because it means that there are no situations where we cross all apps slop before assistant slop. ie. in a purely vertical gesture from the corner, without this change, it's possible to trigger all apps instead of Assistant. Change-Id: I39e3d8a525e165024399d9802d4cc1d7ae329ee6
This commit is contained in:
+5
-2
@@ -41,6 +41,7 @@ import android.os.SystemClock;
|
||||
import android.util.Log;
|
||||
import android.view.HapticFeedbackConstants;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.ViewConfiguration;
|
||||
|
||||
import com.android.launcher3.BaseDraggingActivity;
|
||||
import com.android.launcher3.R;
|
||||
@@ -97,7 +98,9 @@ public class AssistantTouchConsumer extends DelegateInputConsumer
|
||||
mDistThreshold = res.getDimension(R.dimen.gestures_assistant_drag_threshold);
|
||||
mTimeThreshold = res.getInteger(R.integer.assistant_gesture_min_time_threshold);
|
||||
mAngleThreshold = res.getInteger(R.integer.assistant_gesture_corner_deg_threshold);
|
||||
float slop = QuickStepContract.getQuickStepDragSlopPx();
|
||||
|
||||
float slop = ViewConfiguration.get(context).getScaledTouchSlop();
|
||||
|
||||
mSquaredSlop = slop * slop;
|
||||
mActivityControlHelper = activityControlHelper;
|
||||
mSwipeDetector = new SwipeDetector(mContext, this, SwipeDetector.VERTICAL);
|
||||
@@ -273,7 +276,7 @@ public class AssistantTouchConsumer extends DelegateInputConsumer
|
||||
|
||||
@Override
|
||||
public void onDragEnd(float velocity, boolean fling) {
|
||||
if (fling && !mLaunchedAssistant) {
|
||||
if (fling && !mLaunchedAssistant && mState != STATE_DELEGATE_ACTIVE) {
|
||||
mLastProgress = 1;
|
||||
try {
|
||||
mSysUiProxy.onAssistantGestureCompletion(velocity);
|
||||
|
||||
Reference in New Issue
Block a user