mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 18:58:19 +00:00
Merge "[DO NOT MERGE] Adds fling gesture suppression to Launcher" into ub-launcher3-qt-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
631ed598ee
@@ -569,9 +569,13 @@ public class TouchInteractionService extends Service implements
|
||||
// not interrupt it. QuickSwitch assumes that interruption can only happen if the
|
||||
// next gesture is also quick switch.
|
||||
mUncheckedConsumer =
|
||||
new AssistantTouchConsumer(this, mISystemUiProxy,
|
||||
new AssistantTouchConsumer(
|
||||
this,
|
||||
mISystemUiProxy,
|
||||
mOverviewComponentObserver.getActivityControlHelper(),
|
||||
InputConsumer.NO_OP, mInputMonitorCompat);
|
||||
InputConsumer.NO_OP,
|
||||
mInputMonitorCompat,
|
||||
mOverviewComponentObserver.assistantGestureIsConstrained());
|
||||
} else {
|
||||
mUncheckedConsumer = InputConsumer.NO_OP;
|
||||
}
|
||||
@@ -616,8 +620,13 @@ public class TouchInteractionService extends Service implements
|
||||
final ActivityControlHelper activityControl =
|
||||
mOverviewComponentObserver.getActivityControlHelper();
|
||||
if (canTriggerAssistantAction(event)) {
|
||||
base = new AssistantTouchConsumer(this, mISystemUiProxy, activityControl, base,
|
||||
mInputMonitorCompat);
|
||||
base = new AssistantTouchConsumer(
|
||||
this,
|
||||
mISystemUiProxy,
|
||||
activityControl,
|
||||
base,
|
||||
mInputMonitorCompat,
|
||||
mOverviewComponentObserver.assistantGestureIsConstrained());
|
||||
}
|
||||
|
||||
if ((mSystemUiStateFlags & SYSUI_STATE_SCREEN_PINNING) != 0) {
|
||||
|
||||
@@ -91,14 +91,16 @@ public class AssistantTouchConsumer extends DelegateInputConsumer {
|
||||
private final ISystemUiProxy mSysUiProxy;
|
||||
private final Context mContext;
|
||||
private final GestureDetector mGestureDetector;
|
||||
private final boolean mIsAssistGestureConstrained;
|
||||
|
||||
public AssistantTouchConsumer(Context context, ISystemUiProxy systemUiProxy,
|
||||
ActivityControlHelper activityControlHelper, InputConsumer delegate,
|
||||
InputMonitorCompat inputMonitor) {
|
||||
InputMonitorCompat inputMonitor, boolean isAssistGestureConstrained) {
|
||||
super(delegate, inputMonitor);
|
||||
final Resources res = context.getResources();
|
||||
mContext = context;
|
||||
mSysUiProxy = systemUiProxy;
|
||||
mIsAssistGestureConstrained = isAssistGestureConstrained;
|
||||
mDragDistThreshold = res.getDimension(R.dimen.gestures_assistant_drag_threshold);
|
||||
mFlingDistThreshold = res.getDimension(R.dimen.gestures_assistant_fling_threshold);
|
||||
mTimeThreshold = res.getInteger(R.integer.assistant_gesture_min_time_threshold);
|
||||
@@ -273,10 +275,11 @@ public class AssistantTouchConsumer extends DelegateInputConsumer {
|
||||
private class AssistantGestureListener extends SimpleOnGestureListener {
|
||||
@Override
|
||||
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
|
||||
if (isValidAssistantGestureAngle(velocityX, -velocityY)
|
||||
&& mDistance >= mFlingDistThreshold
|
||||
&& !mLaunchedAssistant
|
||||
&& mState != STATE_DELEGATE_ACTIVE) {
|
||||
if (!mIsAssistGestureConstrained
|
||||
&& isValidAssistantGestureAngle(velocityX, -velocityY)
|
||||
&& mDistance >= mFlingDistThreshold
|
||||
&& !mLaunchedAssistant
|
||||
&& mState != STATE_DELEGATE_ACTIVE) {
|
||||
mLastProgress = 1;
|
||||
try {
|
||||
mSysUiProxy.onAssistantGestureCompletion(
|
||||
|
||||
@@ -22,6 +22,7 @@ import static android.content.Intent.ACTION_PACKAGE_REMOVED;
|
||||
|
||||
import static com.android.launcher3.util.PackageManagerHelper.getPackageFilter;
|
||||
import static com.android.systemui.shared.system.PackageManagerWrapper.ACTION_PREFERRED_ACTIVITY_CHANGED;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_ASSIST_GESTURE_CONSTRAINED;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
@@ -107,6 +108,10 @@ public final class OverviewComponentObserver {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean assistantGestureIsConstrained() {
|
||||
return (mSystemUiStateFlags & SYSUI_STATE_ASSIST_GESTURE_CONSTRAINED) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update overview intent and {@link ActivityControlHelper} based off the current launcher home
|
||||
* component.
|
||||
|
||||
Reference in New Issue
Block a user