Fix HOME/RECENTS/BACK duplicated, missing logging
Bug:132906035
Double logging onResume when Launcher resumed via back
Double BACK logging when in taskswitcher state
Change-Id: I44233339b238b6bee32ec2c7b0de4908b2556566
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 57a9b16..0b80751 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1345,19 +1345,6 @@
if (isActionMain) {
if (!internalStateHandled) {
- // Note: There should be at most one log per method call. This is enforced
- // implicitly by using if-else statements.
- UserEventDispatcher ued = getUserEventDispatcher();
- AbstractFloatingView topOpenView = AbstractFloatingView.getTopOpenView(this);
- if (topOpenView != null) {
- topOpenView.logActionCommand(Action.Command.HOME_INTENT);
- } else if (alreadyOnHome) {
- Target target = newContainerTarget(mStateManager.getState().containerType);
- target.pageIndex = mWorkspace.getCurrentPage();
- ued.logActionCommand(Action.Command.HOME_INTENT, target,
- newContainerTarget(ContainerType.WORKSPACE));
- }
-
// In all these cases, only animate if we're already on home
AbstractFloatingView.closeAllOpenViews(this, isStarted());
@@ -1377,6 +1364,13 @@
}
}
+ // Handle HOME_INTENT
+ UserEventDispatcher ued = getUserEventDispatcher();
+ Target target = newContainerTarget(mStateManager.getState().containerType);
+ target.pageIndex = mWorkspace.getCurrentPage();
+ ued.logActionCommand(Action.Command.HOME_INTENT, target,
+ newContainerTarget(ContainerType.WORKSPACE));
+
final View v = getWindow().peekDecorView();
if (v != null && v.getWindowToken() != null) {
UiThreadHelper.hideKeyboardAsync(this, v.getWindowToken());
diff --git a/src/com/android/launcher3/LauncherState.java b/src/com/android/launcher3/LauncherState.java
index c63f976..1480648 100644
--- a/src/com/android/launcher3/LauncherState.java
+++ b/src/com/android/launcher3/LauncherState.java
@@ -268,8 +268,6 @@
if (this != NORMAL) {
LauncherStateManager lsm = launcher.getStateManager();
LauncherState lastState = lsm.getLastState();
- launcher.getUserEventDispatcher().logActionCommand(Action.Command.BACK,
- containerType, lastState.containerType);
lsm.goToState(lastState);
}
}