diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2017-07-06 12:35:55 -0700 |
---|---|---|
committer | Hyunyoung Song <hyunyoungs@google.com> | 2017-07-06 14:32:35 -0700 |
commit | f40e94955cba0ca351f587358b9e07496d132a1b (patch) | |
tree | ada5929c818f0fb9db689af4154bd144d7c39ab6 /src/com | |
parent | 19b3165c890ecb897a2c3f519db78aba1b5d64df (diff) | |
download | android_packages_apps_Trebuchet-f40e94955cba0ca351f587358b9e07496d132a1b.tar.gz android_packages_apps_Trebuchet-f40e94955cba0ca351f587358b9e07496d132a1b.tar.bz2 android_packages_apps_Trebuchet-f40e94955cba0ca351f587358b9e07496d132a1b.zip |
Add tests to SwipeDetector (formerly VerticalPullDetector).
Change-Id: I09ab4f22d7204ad806825ab0d6374c2b9616bf39
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsCaretController.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsRecyclerView.java | 9 | ||||
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsTransitionController.java | 21 | ||||
-rw-r--r-- | src/com/android/launcher3/touch/SwipeDetector.java (renamed from src/com/android/launcher3/allapps/VerticalPullDetector.java) | 13 | ||||
-rw-r--r-- | src/com/android/launcher3/widget/WidgetsBottomSheet.java | 38 |
5 files changed, 42 insertions, 42 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsCaretController.java b/src/com/android/launcher3/allapps/AllAppsCaretController.java index 622322bfc..583b49f7b 100644 --- a/src/com/android/launcher3/allapps/AllAppsCaretController.java +++ b/src/com/android/launcher3/allapps/AllAppsCaretController.java @@ -22,13 +22,14 @@ import android.view.animation.Interpolator; import com.android.launcher3.Launcher; import com.android.launcher3.R; import com.android.launcher3.pageindicators.CaretDrawable; +import com.android.launcher3.touch.SwipeDetector; public class AllAppsCaretController { // Determines when the caret should flip. Should be accessed via getThreshold() private static final float CARET_THRESHOLD = 0.015f; private static final float CARET_THRESHOLD_LAND = 0.5f; // The velocity at which the caret will peak (i.e. exhibit a 90 degree bend) - private static final float PEAK_VELOCITY = VerticalPullDetector.RELEASE_VELOCITY_PX_MS * .7f; + private static final float PEAK_VELOCITY = SwipeDetector.RELEASE_VELOCITY_PX_MS * .7f; private Launcher mLauncher; diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java index fb785fbb0..75dd76098 100644 --- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java +++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java @@ -34,6 +34,7 @@ import com.android.launcher3.R; import com.android.launcher3.anim.SpringAnimationHandler; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.graphics.DrawableFactory; +import com.android.launcher3.touch.SwipeDetector; import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType; import java.util.List; @@ -57,7 +58,7 @@ public class AllAppsRecyclerView extends BaseRecyclerView { private SpringAnimationHandler mSpringAnimationHandler; private OverScrollHelper mOverScrollHelper; - private VerticalPullDetector mPullDetector; + private SwipeDetector mPullDetector; private float mContentTranslationY = 0; public static final Property<AllAppsRecyclerView, Float> CONTENT_TRANS_Y = @@ -94,9 +95,9 @@ public class AllAppsRecyclerView extends BaseRecyclerView { R.dimen.all_apps_empty_search_bg_top_offset); mOverScrollHelper = new OverScrollHelper(); - mPullDetector = new VerticalPullDetector(getContext()); + mPullDetector = new SwipeDetector(getContext()); mPullDetector.setListener(mOverScrollHelper); - mPullDetector.setDetectableScrollConditions(VerticalPullDetector.DIRECTION_BOTH, true); + mPullDetector.setDetectableScrollConditions(SwipeDetector.DIRECTION_BOTH, true); } public void setSpringAnimationHandler(SpringAnimationHandler springAnimationHandler) { @@ -479,7 +480,7 @@ public class AllAppsRecyclerView extends BaseRecyclerView { y + mEmptySearchBackground.getIntrinsicHeight()); } - private class OverScrollHelper implements VerticalPullDetector.Listener { + private class OverScrollHelper implements SwipeDetector.Listener { private static final float MAX_RELEASE_VELOCITY = 5000; // px / s private static final float MAX_OVERSCROLL_PERCENTAGE = 0.07f; diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java index 0859e0658..ecb972496 100644 --- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java +++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java @@ -26,6 +26,7 @@ import com.android.launcher3.anim.SpringAnimationHandler; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.graphics.GradientView; import com.android.launcher3.graphics.ScrimView; +import com.android.launcher3.touch.SwipeDetector; import com.android.launcher3.userevent.nano.LauncherLogProto.Action; import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType; import com.android.launcher3.util.SystemUiController; @@ -42,7 +43,7 @@ import com.android.launcher3.util.TouchController; * If release velocity < THRES1, snap according to either top or bottom depending on whether it's * closer to top or closer to the page indicator. */ -public class AllAppsTransitionController implements TouchController, VerticalPullDetector.Listener, +public class AllAppsTransitionController implements TouchController, SwipeDetector.Listener, SearchUiManager.OnScrollRangeChangeListener { private static final String TAG = "AllAppsTrans"; @@ -52,8 +53,8 @@ public class AllAppsTransitionController implements TouchController, VerticalPul private final Interpolator mHotseatAccelInterpolator = new AccelerateInterpolator(1.5f); private final Interpolator mDecelInterpolator = new DecelerateInterpolator(3f); private final Interpolator mFastOutSlowInInterpolator = new FastOutSlowInInterpolator(); - private final VerticalPullDetector.ScrollInterpolator mScrollInterpolator - = new VerticalPullDetector.ScrollInterpolator(); + private final SwipeDetector.ScrollInterpolator mScrollInterpolator + = new SwipeDetector.ScrollInterpolator(); private static final float PARALLAX_COEFFICIENT = .125f; private static final int SINGLE_FRAME_MS = 16; @@ -69,7 +70,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul private float mStatusBarHeight; private final Launcher mLauncher; - private final VerticalPullDetector mDetector; + private final SwipeDetector mDetector; private final ArgbEvaluator mEvaluator; private final boolean mIsDarkTheme; @@ -106,7 +107,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul public AllAppsTransitionController(Launcher l) { mLauncher = l; - mDetector = new VerticalPullDetector(l); + mDetector = new SwipeDetector(l); mDetector.setListener(this); mShiftRange = DEFAULT_SHIFT_RANGE; mProgress = 1f; @@ -136,17 +137,17 @@ public class AllAppsTransitionController implements TouchController, VerticalPul if (mDetector.isIdleState()) { if (mLauncher.isAllAppsVisible()) { - directionsToDetectScroll |= VerticalPullDetector.DIRECTION_DOWN; + directionsToDetectScroll |= SwipeDetector.DIRECTION_DOWN; } else { - directionsToDetectScroll |= VerticalPullDetector.DIRECTION_UP; + directionsToDetectScroll |= SwipeDetector.DIRECTION_UP; } } else { if (isInDisallowRecatchBottomZone()) { - directionsToDetectScroll |= VerticalPullDetector.DIRECTION_UP; + directionsToDetectScroll |= SwipeDetector.DIRECTION_UP; } else if (isInDisallowRecatchTopZone()) { - directionsToDetectScroll |= VerticalPullDetector.DIRECTION_DOWN; + directionsToDetectScroll |= SwipeDetector.DIRECTION_DOWN; } else { - directionsToDetectScroll |= VerticalPullDetector.DIRECTION_BOTH; + directionsToDetectScroll |= SwipeDetector.DIRECTION_BOTH; ignoreSlopWhenSettling = true; } } diff --git a/src/com/android/launcher3/allapps/VerticalPullDetector.java b/src/com/android/launcher3/touch/SwipeDetector.java index 13c4f63f0..b47065490 100644 --- a/src/com/android/launcher3/allapps/VerticalPullDetector.java +++ b/src/com/android/launcher3/touch/SwipeDetector.java @@ -1,4 +1,4 @@ -package com.android.launcher3.allapps; +package com.android.launcher3.touch; import android.content.Context; import android.util.Log; @@ -7,15 +7,12 @@ import android.view.ViewConfiguration; import android.view.animation.Interpolator; /** - * One dimensional scroll gesture detector for all apps container pull up interaction. - * Client (e.g., AllAppsTransitionController) of this class can register a listener. - * <p/> - * Features that this gesture detector can support. + * One dimensional scroll/drag/swipe gesture detector. */ -public class VerticalPullDetector { +public class SwipeDetector { private static final boolean DBG = false; - private static final String TAG = "VerticalPullDetector"; + private static final String TAG = "SwipeDetector"; private final float mTouchSlop; @@ -122,7 +119,7 @@ public class VerticalPullDetector { void onDragEnd(float velocity, boolean fling); } - public VerticalPullDetector(Context context) { + public SwipeDetector(Context context) { mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); } diff --git a/src/com/android/launcher3/widget/WidgetsBottomSheet.java b/src/com/android/launcher3/widget/WidgetsBottomSheet.java index a754375ae..99e60564b 100644 --- a/src/com/android/launcher3/widget/WidgetsBottomSheet.java +++ b/src/com/android/launcher3/widget/WidgetsBottomSheet.java @@ -40,7 +40,7 @@ import com.android.launcher3.LauncherAnimUtils; import com.android.launcher3.LauncherAppState; import com.android.launcher3.R; import com.android.launcher3.Utilities; -import com.android.launcher3.allapps.VerticalPullDetector; +import com.android.launcher3.touch.SwipeDetector; import com.android.launcher3.anim.PropertyListBuilder; import com.android.launcher3.dragndrop.DragController; import com.android.launcher3.dragndrop.DragOptions; @@ -58,7 +58,7 @@ import java.util.List; * Bottom sheet for the "Widgets" system shortcut in the long-press popup. */ public class WidgetsBottomSheet extends AbstractFloatingView implements Insettable, TouchController, - VerticalPullDetector.Listener, View.OnClickListener, View.OnLongClickListener, + SwipeDetector.Listener, View.OnClickListener, View.OnLongClickListener, DragController.DragListener { private int mTranslationYOpen; @@ -69,9 +69,9 @@ public class WidgetsBottomSheet extends AbstractFloatingView implements Insettab private ItemInfo mOriginalItemInfo; private ObjectAnimator mOpenCloseAnimator; private Interpolator mFastOutSlowInInterpolator; - private VerticalPullDetector.ScrollInterpolator mScrollInterpolator; + private SwipeDetector.ScrollInterpolator mScrollInterpolator; private Rect mInsets; - private VerticalPullDetector mVerticalPullDetector; + private SwipeDetector mSwipeDetector; private GradientView mGradientBackground; public WidgetsBottomSheet(Context context, AttributeSet attrs) { @@ -85,10 +85,10 @@ public class WidgetsBottomSheet extends AbstractFloatingView implements Insettab mOpenCloseAnimator = LauncherAnimUtils.ofPropertyValuesHolder(this); mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(context, android.R.interpolator.fast_out_slow_in); - mScrollInterpolator = new VerticalPullDetector.ScrollInterpolator(); + mScrollInterpolator = new SwipeDetector.ScrollInterpolator(); mInsets = new Rect(); - mVerticalPullDetector = new VerticalPullDetector(context); - mVerticalPullDetector.setListener(this); + mSwipeDetector = new SwipeDetector(context); + mSwipeDetector.setListener(this); mGradientBackground = (GradientView) mLauncher.findViewById(R.id.gradient_bg); } @@ -192,7 +192,7 @@ public class WidgetsBottomSheet extends AbstractFloatingView implements Insettab mOpenCloseAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { - mVerticalPullDetector.finishedScrolling(); + mSwipeDetector.finishedScrolling(); } }); mOpenCloseAnimator.setInterpolator(mFastOutSlowInInterpolator); @@ -214,13 +214,13 @@ public class WidgetsBottomSheet extends AbstractFloatingView implements Insettab @Override public void onAnimationEnd(Animator animation) { mIsOpen = false; - mVerticalPullDetector.finishedScrolling(); + mSwipeDetector.finishedScrolling(); ((ViewGroup) getParent()).removeView(WidgetsBottomSheet.this); mLauncher.getSystemUiController().updateUiState( SystemUiController.UI_STATE_WIDGET_BOTTOM_SHEET, 0); } }); - mOpenCloseAnimator.setInterpolator(mVerticalPullDetector.isIdleState() + mOpenCloseAnimator.setInterpolator(mSwipeDetector.isIdleState() ? mFastOutSlowInInterpolator : mScrollInterpolator); mOpenCloseAnimator.start(); } else { @@ -259,7 +259,7 @@ public class WidgetsBottomSheet extends AbstractFloatingView implements Insettab getPaddingRight() + rightInset, getPaddingBottom() + bottomInset); } - /* VerticalPullDetector.Listener */ + /* SwipeDetector.Listener */ @Override public void onDragStart(boolean start) { @@ -283,12 +283,12 @@ public class WidgetsBottomSheet extends AbstractFloatingView implements Insettab public void onDragEnd(float velocity, boolean fling) { if ((fling && velocity > 0) || getTranslationY() > (mTranslationYRange) / 2) { mScrollInterpolator.setVelocityAtZero(velocity); - mOpenCloseAnimator.setDuration(mVerticalPullDetector.calculateDuration(velocity, + mOpenCloseAnimator.setDuration(mSwipeDetector.calculateDuration(velocity, (mTranslationYClosed - getTranslationY()) / mTranslationYRange)); close(true); } else { mIsOpen = false; - mOpenCloseAnimator.setDuration(mVerticalPullDetector.calculateDuration(velocity, + mOpenCloseAnimator.setDuration(mSwipeDetector.calculateDuration(velocity, (getTranslationY() - mTranslationYOpen) / mTranslationYRange)); open(true); } @@ -296,17 +296,17 @@ public class WidgetsBottomSheet extends AbstractFloatingView implements Insettab @Override public boolean onControllerTouchEvent(MotionEvent ev) { - return mVerticalPullDetector.onTouchEvent(ev); + return mSwipeDetector.onTouchEvent(ev); } @Override public boolean onControllerInterceptTouchEvent(MotionEvent ev) { - int directionsToDetectScroll = mVerticalPullDetector.isIdleState() ? - VerticalPullDetector.DIRECTION_DOWN : 0; - mVerticalPullDetector.setDetectableScrollConditions( + int directionsToDetectScroll = mSwipeDetector.isIdleState() ? + SwipeDetector.DIRECTION_DOWN : 0; + mSwipeDetector.setDetectableScrollConditions( directionsToDetectScroll, false); - mVerticalPullDetector.onTouchEvent(ev); - return mVerticalPullDetector.isDraggingOrSettling(); + mSwipeDetector.onTouchEvent(ev); + return mSwipeDetector.isDraggingOrSettling(); } /* DragListener */ |