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
This commit is contained in:
Tony Wickham
2019-04-02 11:18:06 -07:00
parent 3388e34799
commit 8eacdc0c0b
2 changed files with 21 additions and 11 deletions

View File

@@ -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. */

View File

@@ -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+ ")";