Simplefying listener interface for TriggerSwipeUpTouchTracker
Merging two callbacks into a single interface Bug: 327616437 Flag: None Test: Presubmit Change-Id: I026df7dca15acbd04b59df1abbf375684d9bfffb
This commit is contained in:
@@ -45,8 +45,7 @@ public class FallbackNavBarTouchController implements TouchController,
|
||||
NavBarPosition navBarPosition = new NavBarPosition(sysUINavigationMode,
|
||||
DisplayController.INSTANCE.get(mActivity).getInfo());
|
||||
mTriggerSwipeUpTracker = new TriggerSwipeUpTouchTracker(mActivity,
|
||||
true /* disableHorizontalSwipe */, navBarPosition,
|
||||
null /* onInterceptTouch */, this);
|
||||
true /* disableHorizontalSwipe */, navBarPosition, this);
|
||||
} else {
|
||||
mTriggerSwipeUpTracker = null;
|
||||
}
|
||||
@@ -78,7 +77,4 @@ public class FallbackNavBarTouchController implements TouchController,
|
||||
public void onSwipeUp(boolean wasFling, PointF finalVelocity) {
|
||||
mActivity.<FallbackRecentsView>getOverviewPanel().startHome();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwipeUpCancelled() {}
|
||||
}
|
||||
|
||||
+3
-5
@@ -51,7 +51,7 @@ public class OverviewWithoutFocusInputConsumer implements InputConsumer,
|
||||
mGestureState = gestureState;
|
||||
mInputMonitor = inputMonitor;
|
||||
mTriggerSwipeUpTracker = new TriggerSwipeUpTouchTracker(context, disableHorizontalSwipe,
|
||||
deviceState.getNavBarPosition(), this::onInterceptTouch, this);
|
||||
deviceState.getNavBarPosition(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -69,7 +69,8 @@ public class OverviewWithoutFocusInputConsumer implements InputConsumer,
|
||||
mTriggerSwipeUpTracker.onMotionEvent(ev);
|
||||
}
|
||||
|
||||
private void onInterceptTouch() {
|
||||
@Override
|
||||
public void onSwipeUpTouchIntercepted() {
|
||||
if (mInputMonitor != null) {
|
||||
TestLogging.recordEvent(TestProtocol.SEQUENCE_PILFER, "pilferPointers");
|
||||
mInputMonitor.pilferPointers();
|
||||
@@ -93,7 +94,4 @@ public class OverviewWithoutFocusInputConsumer implements InputConsumer,
|
||||
.build())
|
||||
.log(LAUNCHER_HOME_GESTURE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwipeUpCancelled() {}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ public class SysUiOverlayInputConsumer implements InputConsumer,
|
||||
mContext = context;
|
||||
mInputMonitor = inputMonitor;
|
||||
mTriggerSwipeUpTracker = new TriggerSwipeUpTouchTracker(context, true,
|
||||
deviceState.getNavBarPosition(), this::onInterceptTouch, this);
|
||||
deviceState.getNavBarPosition(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -72,7 +72,8 @@ public class SysUiOverlayInputConsumer implements InputConsumer,
|
||||
mTriggerSwipeUpTracker.onMotionEvent(ev);
|
||||
}
|
||||
|
||||
private void onInterceptTouch() {
|
||||
@Override
|
||||
public void onSwipeUpTouchIntercepted() {
|
||||
if (mInputMonitor != null) {
|
||||
TestLogging.recordEvent(TestProtocol.SEQUENCE_PILFER, "pilferPointers");
|
||||
mInputMonitor.pilferPointers();
|
||||
@@ -88,9 +89,4 @@ public class SysUiOverlayInputConsumer implements InputConsumer,
|
||||
Log.e(TAG, "Exception calling closeSystemDialogs " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwipeUpCancelled() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ public class NavBarGestureHandler implements OnTouchListener,
|
||||
mSwipeUpTouchTracker =
|
||||
new TriggerSwipeUpTouchTracker(context, true /*disableHorizontalSwipe*/,
|
||||
new NavBarPosition(NavigationMode.NO_BUTTON, displayInfo),
|
||||
null /*onInterceptTouch*/, this);
|
||||
this);
|
||||
mMotionPauseDetector = new MotionPauseDetector(context);
|
||||
|
||||
final Resources resources = context.getResources();
|
||||
|
||||
@@ -28,6 +28,8 @@ import android.graphics.PointF;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.VelocityTracker;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.Utilities;
|
||||
|
||||
@@ -41,21 +43,20 @@ public class TriggerSwipeUpTouchTracker {
|
||||
private final float mMinFlingVelocity;
|
||||
private final boolean mDisableHorizontalSwipe;
|
||||
private final NavBarPosition mNavBarPosition;
|
||||
private final Runnable mOnInterceptTouch;
|
||||
|
||||
@NonNull
|
||||
private final OnSwipeUpListener mOnSwipeUp;
|
||||
|
||||
private boolean mInterceptedTouch;
|
||||
private VelocityTracker mVelocityTracker;
|
||||
|
||||
public TriggerSwipeUpTouchTracker(Context context, boolean disableHorizontalSwipe,
|
||||
NavBarPosition navBarPosition, Runnable onInterceptTouch,
|
||||
OnSwipeUpListener onSwipeUp) {
|
||||
NavBarPosition navBarPosition, @NonNull OnSwipeUpListener onSwipeUp) {
|
||||
mSquaredTouchSlop = Utilities.squaredTouchSlop(context);
|
||||
mMinFlingVelocity = context.getResources().getDimension(
|
||||
R.dimen.quickstep_fling_threshold_speed);
|
||||
mNavBarPosition = navBarPosition;
|
||||
mDisableHorizontalSwipe = disableHorizontalSwipe;
|
||||
mOnInterceptTouch = onInterceptTouch;
|
||||
mOnSwipeUp = onSwipeUp;
|
||||
|
||||
init();
|
||||
@@ -103,10 +104,7 @@ public class TriggerSwipeUpTouchTracker {
|
||||
}
|
||||
|
||||
mInterceptedTouch = true;
|
||||
|
||||
if (mOnInterceptTouch != null) {
|
||||
mOnInterceptTouch.run();
|
||||
}
|
||||
mOnSwipeUp.onSwipeUpTouchIntercepted();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -124,7 +122,8 @@ public class TriggerSwipeUpTouchTracker {
|
||||
}
|
||||
}
|
||||
|
||||
private void endTouchTracking() {
|
||||
/** Finishes the tracking. All events after this call are ignored */
|
||||
public void endTouchTracking() {
|
||||
if (mVelocityTracker != null) {
|
||||
mVelocityTracker.recycle();
|
||||
mVelocityTracker = null;
|
||||
@@ -151,12 +150,10 @@ public class TriggerSwipeUpTouchTracker {
|
||||
isSwipeUp = squaredHypot(displacementX, displacementY) >= mSquaredTouchSlop;
|
||||
}
|
||||
|
||||
if (mOnSwipeUp != null) {
|
||||
if (isSwipeUp) {
|
||||
mOnSwipeUp.onSwipeUp(wasFling, new PointF(velocityX, velocityY));
|
||||
} else {
|
||||
mOnSwipeUp.onSwipeUpCancelled();
|
||||
}
|
||||
if (isSwipeUp) {
|
||||
mOnSwipeUp.onSwipeUp(wasFling, new PointF(velocityX, velocityY));
|
||||
} else {
|
||||
mOnSwipeUp.onSwipeUpCancelled();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,6 +169,9 @@ public class TriggerSwipeUpTouchTracker {
|
||||
void onSwipeUp(boolean wasFling, PointF finalVelocity);
|
||||
|
||||
/** Called on touch up if a swipe up was not detected. */
|
||||
void onSwipeUpCancelled();
|
||||
default void onSwipeUpCancelled() { }
|
||||
|
||||
/** Called when the touch for swipe up is intercepted. */
|
||||
default void onSwipeUpTouchIntercepted() { }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user