summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2019-04-02 11:18:06 -0700
committerTony Wickham <twickham@google.com>2019-04-02 14:33:44 -0700
commit8eacdc0c0bb23f450b034176d2a48da3f69fb902 (patch)
tree343e11394eab97b87acae6925973d4607da96b67
parent3388e34799e5c4a844f3b0305f655af1ae18c3af (diff)
downloadandroid_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.java26
-rw-r--r--src/com/android/launcher3/logging/LoggerUtils.java6
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+ ")";