From bfc2da1fd824089eacd97ce8bbacc41138b14742 Mon Sep 17 00:00:00 2001 From: Becky Qiu Date: Thu, 1 Aug 2019 11:09:38 -0700 Subject: [PATCH] Log the right workspace id for -1 screen for stop and resume. Test: manual Bug: 137952354 Logs after this fix: 08-01 12:01:36.220 17105 17105 D UserEvent: action:STOP 08-01 12:01:36.220 17105 17105 D UserEvent: Source child:WORKSPACE id=-1 08-01 12:01:36.220 17105 17105 D UserEvent: Elapsed container 5511 ms, session 5511 ms, action 0 ms 08-01 12:01:36.220 17105 17105 D UserEvent: 08-01 12:01:38.042 17105 17105 D UserEvent: 08-01 12:01:38.042 17105 17105 D UserEvent: ----------------------------------------------------- 08-01 12:01:38.042 17105 17105 D UserEvent: action:RESUME 08-01 12:01:38.042 17105 17105 D UserEvent: Source child:WORKSPACE id=-1 08-01 12:01:38.042 17105 17105 D UserEvent: Elapsed container 7334 ms, session 7334 ms, action 0 ms 08-01 12:01:38.042 17105 17105 D UserEvent: Change-Id: Ic2d88eee3ff7a0e28d5c7e4cab8ee61952ed95ee --- src/com/android/launcher3/Launcher.java | 18 +++++++++++++----- src/com/android/launcher3/Workspace.java | 4 ++++ .../launcher3/logging/UserEventDispatcher.java | 8 ++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 03fdc971dd..cf68f8680d 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -873,9 +873,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, if (mLauncherCallbacks != null) { mLauncherCallbacks.onStop(); } - - getUserEventDispatcher().logActionCommand(Action.Command.STOP, - mStateManager.getState().containerType, -1); + logStopAndResume(Action.Command.STOP); mAppWidgetHost.setListenIfResumed(false); @@ -901,8 +899,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, private void handleDeferredResume() { if (hasBeenResumed() && !mStateManager.getState().disableInteraction) { - getUserEventDispatcher().logActionCommand(Action.Command.RESUME, - mStateManager.getState().containerType, -1); + logStopAndResume(Action.Command.RESUME); getUserEventDispatcher().startSession(); UiFactory.onLauncherStateOrResumeChanged(this); @@ -929,6 +926,17 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, } } + private void logStopAndResume(int command) { + int containerType = mStateManager.getState().containerType; + if (containerType == ContainerType.WORKSPACE && mWorkspace != null) { + getUserEventDispatcher().logActionCommand(command, + containerType, -1, mWorkspace.isOverlayShown() ? -1 : 0); + } else { + getUserEventDispatcher().logActionCommand(command, containerType, -1); + } + + } + protected void onStateSet(LauncherState state) { getAppWidgetHost().setResumed(state == LauncherState.NORMAL); if (mDeferredResumePending) { diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 269a591115..82d4117e3d 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -3251,6 +3251,10 @@ public class Workspace extends PagedView } } + public boolean isOverlayShown() { + return mOverlayShown; + } + void moveToDefaultScreen() { int page = DEFAULT_PAGE; if (!workspaceInModalState() && getNextPage() != page) { diff --git a/src/com/android/launcher3/logging/UserEventDispatcher.java b/src/com/android/launcher3/logging/UserEventDispatcher.java index d81020ef3c..c72b07a7f6 100644 --- a/src/com/android/launcher3/logging/UserEventDispatcher.java +++ b/src/com/android/launcher3/logging/UserEventDispatcher.java @@ -187,6 +187,14 @@ public class UserEventDispatcher implements ResourceBasedOverride { dstContainerType >=0 ? newContainerTarget(dstContainerType) : null); } + public void logActionCommand(int command, int srcContainerType, int dstContainerType, + int pageIndex) { + Target srcTarget = newContainerTarget(srcContainerType); + srcTarget.pageIndex = pageIndex; + logActionCommand(command, srcTarget, + dstContainerType >=0 ? newContainerTarget(dstContainerType) : null); + } + public void logActionCommand(int command, Target srcTarget, Target dstTarget) { LauncherEvent event = newLauncherEvent(newCommandAction(command), srcTarget); if (command == Action.Command.STOP) {