From 3344b8ce3da451ff624ce6b991b049c4ed331e1b Mon Sep 17 00:00:00 2001 From: thiruram Date: Wed, 15 Jul 2020 10:28:12 -0700 Subject: [PATCH] Fixes missing field mappings from launcher_atom.ItemInfo to Statslog. Bug: 161284668 Change-Id: I70b247e896bfcad5f6dbb6ce3ec5ed7aa57b8a61 --- .../logging/StatsLogCompatManager.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java index eac45e9907..ba60185c79 100644 --- a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java +++ b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java @@ -33,6 +33,7 @@ import com.android.launcher3.LauncherAppState; import com.android.launcher3.Utilities; import com.android.launcher3.logger.LauncherAtom; import com.android.launcher3.logger.LauncherAtom.ContainerInfo; +import com.android.launcher3.logger.LauncherAtom.FolderContainer.ParentContainerCase; import com.android.launcher3.logger.LauncherAtom.FolderIcon; import com.android.launcher3.logger.LauncherAtom.FromState; import com.android.launcher3.logger.LauncherAtom.ToState; @@ -59,9 +60,11 @@ import java.util.OptionalInt; * This class calls StatsLog compile time generated methods. * * To see if the logs are properly sent to statsd, execute following command. + * */ public class StatsLogCompatManager extends StatsLogManager { @@ -109,7 +112,9 @@ public class StatsLogCompatManager extends StatsLogManager { } private class SnapshotWorker extends BaseModelUpdateTask { + private final InstanceId mInstanceId; + SnapshotWorker() { mInstanceId = new InstanceIdSequence( 1 << 20 /*InstanceId.INSTANCE_ID_MAX*/).newInstanceId(); @@ -132,7 +137,8 @@ public class StatsLogCompatManager extends StatsLogManager { LauncherAtom.ItemInfo atomInfo = info.buildProto(fInfo); writeSnapshot(atomInfo, mInstanceId); } - } catch (Exception e) { } + } catch (Exception e) { + } } for (ItemInfo info : appWidgets) { LauncherAtom.ItemInfo atomInfo = info.buildProto(null); @@ -337,7 +343,7 @@ public class StatsLogCompatManager extends StatsLogManager { } private static int getCardinality(LauncherAtom.ItemInfo info) { - switch (info.getContainerInfo().getContainerCase()){ + switch (info.getContainerInfo().getContainerCase()) { case PREDICTED_HOTSEAT_CONTAINER: return info.getContainerInfo().getPredictedHotseatContainer().getCardinality(); case SEARCH_RESULT_CONTAINER: @@ -402,9 +408,16 @@ public class StatsLogCompatManager extends StatsLogManager { } private static int getPageId(LauncherAtom.ItemInfo info) { + if (info.hasTask()) { + return info.getTask().getIndex(); + } switch (info.getContainerInfo().getContainerCase()) { case FOLDER: return info.getContainerInfo().getFolder().getPageIndex(); + case HOTSEAT: + return info.getContainerInfo().getHotseat().getIndex(); + case PREDICTED_HOTSEAT_CONTAINER: + return info.getContainerInfo().getPredictedHotseatContainer().getIndex(); default: return info.getContainerInfo().getWorkspace().getPageIndex(); } @@ -413,6 +426,10 @@ public class StatsLogCompatManager extends StatsLogManager { private static int getParentPageId(LauncherAtom.ItemInfo info) { switch (info.getContainerInfo().getContainerCase()) { case FOLDER: + if (info.getContainerInfo().getFolder().getParentContainerCase() + == ParentContainerCase.HOTSEAT) { + return info.getContainerInfo().getFolder().getHotseat().getIndex(); + } return info.getContainerInfo().getFolder().getWorkspace().getPageIndex(); case SEARCH_RESULT_CONTAINER: return info.getContainerInfo().getSearchResultContainer().getWorkspace()