summaryrefslogtreecommitdiffstats
path: root/src_ui_overrides
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2018-04-24 13:42:59 -0700
committerTony Wickham <twickham@google.com>2018-05-03 14:04:25 -0700
commit52240a3aa069ffd97ffe6a85ed6cd452b295fa2d (patch)
tree279ec401bedc41a613c3ee481197e34a5da0447f /src_ui_overrides
parentf325b19de384da8666af558f65933e0243508349 (diff)
downloadandroid_packages_apps_Trebuchet-52240a3aa069ffd97ffe6a85ed6cd452b295fa2d.tar.gz
android_packages_apps_Trebuchet-52240a3aa069ffd97ffe6a85ed6cd452b295fa2d.tar.bz2
android_packages_apps_Trebuchet-52240a3aa069ffd97ffe6a85ed6cd452b295fa2d.zip
Only detect swipe directions that lead to new states
This cleans up the code and ensures that the current state animation is always initialized when we get drag events. Also log when we pass through states. Bug: 78017680 Change-Id: I54ab42923ed539940ea708973ad65f5793669c11
Diffstat (limited to 'src_ui_overrides')
-rw-r--r--src_ui_overrides/com/android/launcher3/uioverrides/AllAppsSwipeController.java23
1 files changed, 11 insertions, 12 deletions
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/AllAppsSwipeController.java b/src_ui_overrides/com/android/launcher3/uioverrides/AllAppsSwipeController.java
index d1cddc18f..860be5ff7 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/AllAppsSwipeController.java
+++ b/src_ui_overrides/com/android/launcher3/uioverrides/AllAppsSwipeController.java
@@ -17,12 +17,17 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
*/
public class AllAppsSwipeController extends AbstractStateChangeTouchController {
+ private MotionEvent mTouchDownEvent;
+
public AllAppsSwipeController(Launcher l) {
super(l, SwipeDetector.VERTICAL);
}
@Override
protected boolean canInterceptTouch(MotionEvent ev) {
+ if (ev.getAction() == MotionEvent.ACTION_DOWN) {
+ mTouchDownEvent = ev;
+ }
if (mCurrentAnimation != null) {
// If we are already animating from a previous state, we can intercept.
return true;
@@ -41,18 +46,6 @@ public class AllAppsSwipeController extends AbstractStateChangeTouchController {
}
@Override
- protected int getSwipeDirection(MotionEvent ev) {
- if (mLauncher.isInState(ALL_APPS)) {
- mStartContainerType = ContainerType.ALLAPPS;
- return SwipeDetector.DIRECTION_NEGATIVE;
- } else {
- mStartContainerType = mLauncher.getDragLayer().isEventOverHotseat(ev) ?
- ContainerType.HOTSEAT : ContainerType.WORKSPACE;
- return SwipeDetector.DIRECTION_POSITIVE;
- }
- }
-
- @Override
protected LauncherState getTargetState(LauncherState fromState, boolean isDragTowardPositive) {
if (fromState == NORMAL && isDragTowardPositive) {
return ALL_APPS;
@@ -63,6 +56,12 @@ public class AllAppsSwipeController extends AbstractStateChangeTouchController {
}
@Override
+ protected int getLogContainerTypeForNormalState() {
+ return mLauncher.getDragLayer().isEventOverHotseat(mTouchDownEvent) ?
+ ContainerType.HOTSEAT : ContainerType.WORKSPACE;
+ }
+
+ @Override
protected float initCurrentAnimation() {
float range = getShiftRange();
long maxAccuracy = (long) (2 * range);