diff options
author | Tony Wickham <twickham@google.com> | 2019-04-02 11:18:06 -0700 |
---|---|---|
committer | Tony Wickham <twickham@google.com> | 2019-04-02 14:33:44 -0700 |
commit | 8eacdc0c0bb23f450b034176d2a48da3f69fb902 (patch) | |
tree | 343e11394eab97b87acae6925973d4607da96b67 | |
parent | 3388e34799e5c4a844f3b0305f655af1ae18c3af (diff) | |
download | android_packages_apps_Trebuchet-8eacdc0c0bb23f450b034176d2a48da3f69fb902.tar.gz android_packages_apps_Trebuchet-8eacdc0c0bb23f450b034176d2a48da3f69fb902.tar.bz2 android_packages_apps_Trebuchet-8eacdc0c0bb23f450b034176d2a48da3f69fb902.zip |
Update logging for quick switch
Now we log direction based on end velocity, instead of only using
Direction.UP or DOWN based on end state. We also log the page index
that we are switching to, or -1 if it's the task we came from.
Bug: 127840207
Change-Id: I038d7c461957f25c55d3cdee01cc3e955ca4c4fa
-rw-r--r-- | quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java | 26 | ||||
-rw-r--r-- | src/com/android/launcher3/logging/LoggerUtils.java | 6 |
2 files changed, 21 insertions, 11 deletions
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java index 0065cb5cf..f9220ab32 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java @@ -203,6 +203,11 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> private static final long SHELF_ANIM_DURATION = 120; + /** + * Used as the page index for logging when we return to the last task at the end of the gesture. + */ + private static final int LOG_NO_OP_PAGE_INDEX = -1; + private final ClipAnimationHelper mClipAnimationHelper; private final ClipAnimationHelper.TransformParams mTransformParams; @@ -245,6 +250,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> private boolean mPassedOverviewThreshold; private boolean mGestureStarted; private int mLogAction = Touch.SWIPE; + private int mLogDirection = Direction.UP; private final RecentsAnimationWrapper mRecentsAnimationWrapper; @@ -692,6 +698,12 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> setStateOnUiThread(STATE_GESTURE_COMPLETED); mLogAction = isFling ? Touch.FLING : Touch.SWIPE; + boolean isVelocityVertical = Math.abs(velocity.y) > Math.abs(velocity.x); + if (isVelocityVertical) { + mLogDirection = velocity.y < 0 ? Direction.UP : Direction.DOWN; + } else { + mLogDirection = velocity.x < 0 ? Direction.LEFT : Direction.RIGHT; + } handleNormalGestureEnd(endVelocity, isFling, velocity); } @@ -824,19 +836,15 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> // We probably never received an animation controller, skip logging. return; } - boolean toLauncher = endTarget.isLauncher; - final int direction; - if (dp.isVerticalBarLayout()) { - direction = (dp.isSeascape() ^ toLauncher) ? Direction.LEFT : Direction.RIGHT; - } else { - direction = toLauncher ? Direction.UP : Direction.DOWN; - } + int pageIndex = endTarget == LAST_TASK + ? LOG_NO_OP_PAGE_INDEX + : mRecentsView.getNextPage(); UserEventDispatcher.newInstance(mContext).logStateChangeAction( - mLogAction, direction, + mLogAction, mLogDirection, ContainerType.NAVBAR, ContainerType.APP, endTarget.containerType, - 0); + pageIndex); } /** Animates to the given progress, where 0 is the current app and 1 is overview. */ diff --git a/src/com/android/launcher3/logging/LoggerUtils.java b/src/com/android/launcher3/logging/LoggerUtils.java index 4ef86265f..d208077d5 100644 --- a/src/com/android/launcher3/logging/LoggerUtils.java +++ b/src/com/android/launcher3/logging/LoggerUtils.java @@ -15,7 +15,8 @@ */ package com.android.launcher3.logging; -import android.content.Context; +import static com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType.NAVBAR; + import android.util.ArrayMap; import android.util.SparseArray; import android.view.View; @@ -97,7 +98,8 @@ public class LoggerUtils { case Target.Type.CONTAINER: str = getFieldName(t.containerType, ContainerType.class); if (t.containerType == ContainerType.WORKSPACE || - t.containerType == ContainerType.HOTSEAT) { + t.containerType == ContainerType.HOTSEAT || + t.containerType == NAVBAR) { str += " id=" + t.pageIndex; } else if (t.containerType == ContainerType.FOLDER) { str += " grid(" + t.gridX + "," + t.gridY+ ")"; |