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:
Sunny Goyal
2024-03-07 11:32:28 -08:00
parent b2f5bb00f4
commit 014e15a86e
5 changed files with 24 additions and 34 deletions
@@ -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() {}
}
@@ -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() { }
}
}