From c59d7df827b87de51c0f599163f8eb7c6b89251b Mon Sep 17 00:00:00 2001 From: Hyunyoung Song Date: Wed, 3 Jun 2020 17:25:09 -0700 Subject: [PATCH] Migrate QSB logging to WW Bug: 154717227 Change-Id: I175245c0ce9afd8187cec92e3ba80999ed87b1af --- .../logging/StatsLogCompatManager.java | 49 +++++++++++++++++-- .../launcher3/logging/StatsLogManager.java | 8 +++ 2 files changed, 52 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java index d4d46fbb2c..6efdd7b734 100644 --- a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java +++ b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java @@ -17,8 +17,11 @@ package com.android.quickstep.logging; import static com.android.launcher3.logger.LauncherAtom.ContainerInfo.ContainerCase.FOLDER; +import static com.android.systemui.shared.system.SysUiStatsLog.LAUNCHER_UICHANGED__DST_STATE__ALLAPPS; import static com.android.systemui.shared.system.SysUiStatsLog.LAUNCHER_UICHANGED__DST_STATE__BACKGROUND; import static com.android.systemui.shared.system.SysUiStatsLog.LAUNCHER_UICHANGED__DST_STATE__HOME; +import static com.android.systemui.shared.system.SysUiStatsLog.LAUNCHER_UICHANGED__DST_STATE__OVERVIEW; +import static com.android.systemui.shared.system.SysUiStatsLog.LAUNCHER_UICHANGED__SRC_STATE__HOME; import android.content.Context; import android.util.Log; @@ -26,6 +29,7 @@ import android.util.Log; import androidx.annotation.Nullable; import com.android.launcher3.LauncherAppState; +import com.android.launcher3.LauncherState; import com.android.launcher3.Utilities; import com.android.launcher3.logger.LauncherAtom; import com.android.launcher3.logging.InstanceId; @@ -99,11 +103,28 @@ public class StatsLogCompatManager extends StatsLogManager { LAUNCHER_UICHANGED__DST_STATE__BACKGROUND); } + /** + * Logs an event and accompanying {@link LauncherState}s. If either of the state refers + * to workspace state, then use pageIndex to pass in index of workspace. + */ + @Override + public void log(EventEnum event, int srcState, int dstState, int pageIndex) { + LauncherAtom.ItemInfo info = LauncherAtom.ItemInfo.getDefaultInstance(); + if (srcState == LAUNCHER_UICHANGED__DST_STATE__HOME + || dstState == LAUNCHER_UICHANGED__SRC_STATE__HOME) { + info = LauncherAtom.ItemInfo.newBuilder().setContainerInfo( + LauncherAtom.ContainerInfo.newBuilder().setWorkspace( + LauncherAtom.WorkspaceContainer.newBuilder().setPageIndex(pageIndex) + )).build(); + } + logInternal(event, DEFAULT_INSTANCE_ID, info, srcState, dstState); + } + /** * Logs an event and accompanying {@link InstanceId} and {@link LauncherAtom.ItemInfo}. */ private void logInternal(EventEnum event, InstanceId instanceId, - @Nullable LauncherAtom.ItemInfo info, int startState, int endState) { + @Nullable LauncherAtom.ItemInfo info, int srcState, int dstState) { info = info == null ? LauncherAtom.ItemInfo.getDefaultInstance() : info; if (IS_VERBOSE) { @@ -111,8 +132,10 @@ public class StatsLogCompatManager extends StatsLogManager { event.getId() + ""; Log.d(TAG, instanceId == DEFAULT_INSTANCE_ID - ? String.format("\n%s\n%s", name, info) - : String.format("%s(InstanceId:%s)\n%s", name, instanceId, info)); + ? String.format("\n%s (State:%s->%s) \n%s", name, getStateString(srcState), + getStateString(dstState), info) + : String.format("\n%s (State:%s->%s) (InstanceId:%s)\n%s", name, instanceId, + getStateString(srcState), getStateString(dstState), info)); } if (!Utilities.ATLEAST_R) { @@ -122,8 +145,8 @@ public class StatsLogCompatManager extends StatsLogManager { SysUiStatsLog.write( SysUiStatsLog.LAUNCHER_EVENT, SysUiStatsLog.LAUNCHER_UICHANGED__ACTION__DEFAULT_ACTION /* deprecated */, - startState, - endState, + srcState, + dstState, null /* launcher extensions, deprecated */, false /* quickstep_enabled, deprecated */, event.getId() /* event_id */, @@ -283,4 +306,20 @@ public class StatsLogCompatManager extends StatsLogManager { return info.getContainerInfo().getContainerCase().getNumber(); } } + + private static String getStateString(int state) { + switch(state) { + case LAUNCHER_UICHANGED__DST_STATE__BACKGROUND: + return "BACKGROUND"; + case LAUNCHER_UICHANGED__DST_STATE__HOME: + return "HOME"; + case LAUNCHER_UICHANGED__DST_STATE__OVERVIEW: + return "OVERVIEW"; + case LAUNCHER_UICHANGED__DST_STATE__ALLAPPS: + return "ALLAPPS"; + default: + return "INVALID"; + + } + } } diff --git a/src/com/android/launcher3/logging/StatsLogManager.java b/src/com/android/launcher3/logging/StatsLogManager.java index dda39e8a51..781a910bc1 100644 --- a/src/com/android/launcher3/logging/StatsLogManager.java +++ b/src/com/android/launcher3/logging/StatsLogManager.java @@ -19,6 +19,7 @@ import android.content.Context; import androidx.annotation.Nullable; +import com.android.launcher3.LauncherState; import com.android.launcher3.R; import com.android.launcher3.logger.LauncherAtom.ItemInfo; import com.android.launcher3.logging.StatsLogUtils.LogStateProvider; @@ -156,6 +157,13 @@ public class StatsLogManager implements ResourceBasedOverride { public void log(EventEnum event, InstanceId instanceId, @Nullable ItemInfo itemInfo) { } + /** + * Logs an event and accompanying {@link LauncherState}s. If either of the state refers + * to workspace state, then use pageIndex to pass in index of workspace. + */ + public void log(EventEnum event, int srcState, int dstState, int pageIndex) { + } + /** * Logs snapshot, or impression of the current workspace. */