diff options
author | 2020-06-22 16:30:58 -0700 | |
---|---|---|
committer | 2020-06-22 18:14:12 -0700 | |
commit | dbd61d4026afc173e90f324418bce40ac68bdf94 (patch) | |
tree | d05b28f5e1afd8657e9f6f7ff9d4ce9e28b05da1 | |
parent | 51ece1847c14d1613f531f7163e47d0c4817b7d9 (diff) |
Log query_length & parent_container for actions on search results.
Bug: 154717227
Change-Id: I8e7d725014f60a2fd9a7fe13fce705acbc7623ad
-rw-r--r-- | protos/launcher_atom.proto | 9 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java | 50 | ||||
-rw-r--r-- | src/com/android/launcher3/model/data/ItemInfo.java | 2 |
3 files changed, 44 insertions, 17 deletions
diff --git a/protos/launcher_atom.proto b/protos/launcher_atom.proto index 98ce9af2d6..561196941c 100644 --- a/protos/launcher_atom.proto +++ b/protos/launcher_atom.proto @@ -71,6 +71,15 @@ message PredictionContainer { // Represents the apps container within search results. message SearchResultContainer { + + // Length of search term. + optional int32 query_length = 1; + + // Container from where search was invoked. + oneof ParentContainer { + WorkspaceContainer workspace = 2; + AllAppsContainer all_apps_container = 3; + } } // Container for package specific shortcuts to deep links and notifications. diff --git a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java index 20348017fe..eac45e9907 100644 --- a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java +++ b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java @@ -17,7 +17,7 @@ package com.android.quickstep.logging; import static com.android.launcher3.logger.LauncherAtom.ContainerInfo.ContainerCase.FOLDER; -import static com.android.launcher3.logger.LauncherAtom.ContainerInfo.ContainerCase.PREDICTED_HOTSEAT_CONTAINER; +import static com.android.launcher3.logger.LauncherAtom.ContainerInfo.ContainerCase.SEARCH_RESULT_CONTAINER; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_WORKSPACE_SNAPSHOT; 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; @@ -75,6 +75,7 @@ public class StatsLogCompatManager extends StatsLogManager { // from nano to lite, bake constant to prevent robo test failure. private static final int DEFAULT_PAGE_INDEX = -2; private static final int FOLDER_HIERARCHY_OFFSET = 100; + private static final int SEARCH_RESULT_HIERARCHY_OFFSET = 200; public StatsLogCompatManager(Context context) { sContext = context; @@ -156,10 +157,10 @@ public class StatsLogCompatManager extends StatsLogManager { getComponentName(info) /* component_name */, getGridX(info, false) /* grid_x */, getGridY(info, false) /* grid_y */, - getPageId(info, false) /* page_id */, + getPageId(info) /* page_id */, getGridX(info, true) /* grid_x_parent */, getGridY(info, true) /* grid_y_parent */, - getPageId(info, true) /* page_id_parent */, + getParentPageId(info) /* page_id_parent */, getHierarchy(info) /* hierarchy */, info.getIsWork() /* is_work_profile */, info.getAttribute().getNumber() /* origin */, @@ -321,10 +322,10 @@ public class StatsLogCompatManager extends StatsLogManager { getComponentName(atomInfo) /* component_name */, getGridX(atomInfo, false) /* grid_x */, getGridY(atomInfo, false) /* grid_y */, - getPageId(atomInfo, false) /* page_id */, + getPageId(atomInfo) /* page_id */, getGridX(atomInfo, true) /* grid_x_parent */, getGridY(atomInfo, true) /* grid_y_parent */, - getPageId(atomInfo, true) /* page_id_parent */, + getParentPageId(atomInfo) /* page_id_parent */, getHierarchy(atomInfo) /* hierarchy */, atomInfo.getIsWork() /* is_work_profile */, atomInfo.getRank() /* rank */, @@ -336,9 +337,14 @@ public class StatsLogCompatManager extends StatsLogManager { } private static int getCardinality(LauncherAtom.ItemInfo info) { - return info.getContainerInfo().getContainerCase().equals(PREDICTED_HOTSEAT_CONTAINER) - ? info.getContainerInfo().getPredictedHotseatContainer().getCardinality() - : info.getFolderIcon().getCardinality(); + switch (info.getContainerInfo().getContainerCase()){ + case PREDICTED_HOTSEAT_CONTAINER: + return info.getContainerInfo().getPredictedHotseatContainer().getCardinality(); + case SEARCH_RESULT_CONTAINER: + return info.getContainerInfo().getSearchResultContainer().getQueryLength(); + default: + return info.getFolderIcon().getCardinality(); + } } private static String getPackageName(LauncherAtom.ItemInfo info) { @@ -395,15 +401,24 @@ public class StatsLogCompatManager extends StatsLogManager { } } - private static int getPageId(LauncherAtom.ItemInfo info, boolean parent) { - if (info.getContainerInfo().getContainerCase() == FOLDER) { - if (parent) { - return info.getContainerInfo().getFolder().getWorkspace().getPageIndex(); - } else { + private static int getPageId(LauncherAtom.ItemInfo info) { + switch (info.getContainerInfo().getContainerCase()) { + case FOLDER: return info.getContainerInfo().getFolder().getPageIndex(); - } - } else { - return info.getContainerInfo().getWorkspace().getPageIndex(); + default: + return info.getContainerInfo().getWorkspace().getPageIndex(); + } + } + + private static int getParentPageId(LauncherAtom.ItemInfo info) { + switch (info.getContainerInfo().getContainerCase()) { + case FOLDER: + return info.getContainerInfo().getFolder().getWorkspace().getPageIndex(); + case SEARCH_RESULT_CONTAINER: + return info.getContainerInfo().getSearchResultContainer().getWorkspace() + .getPageIndex(); + default: + return info.getContainerInfo().getWorkspace().getPageIndex(); } } @@ -411,6 +426,9 @@ public class StatsLogCompatManager extends StatsLogManager { if (info.getContainerInfo().getContainerCase() == FOLDER) { return info.getContainerInfo().getFolder().getParentContainerCase().getNumber() + FOLDER_HIERARCHY_OFFSET; + } else if (info.getContainerInfo().getContainerCase() == SEARCH_RESULT_CONTAINER) { + return info.getContainerInfo().getSearchResultContainer().getParentContainerCase() + .getNumber() + SEARCH_RESULT_HIERARCHY_OFFSET; } else { return info.getContainerInfo().getContainerCase().getNumber(); } diff --git a/src/com/android/launcher3/model/data/ItemInfo.java b/src/com/android/launcher3/model/data/ItemInfo.java index 3082b6e341..0d3ddad183 100644 --- a/src/com/android/launcher3/model/data/ItemInfo.java +++ b/src/com/android/launcher3/model/data/ItemInfo.java @@ -344,7 +344,7 @@ public class ItemInfo { return itemBuilder; } - ContainerInfo getContainerInfo() { + protected ContainerInfo getContainerInfo() { switch (container) { case CONTAINER_HOTSEAT: return ContainerInfo.newBuilder() |