Loading protos/launcher_atom.proto +10 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ import "launcher_atom_extension.proto"; // // ItemInfos message ItemInfo { reserved 8; oneof Item { Application application = 1; Task task = 2; Loading @@ -42,7 +44,14 @@ message ItemInfo { optional ContainerInfo container_info = 7; // Stores the origin of the Item optional Attribute attribute = 8; repeated Attribute item_attributes = 12; } message LauncherAttributes{ // Integer value of item attribute enum // (e.g. SUGGESTED_LABEL, ALL_APPS_SEARCH_RESULT_SETTING etc) repeated int32 item_attributes = 1; } // Represents various launcher surface where items are placed. Loading quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java +17 −12 Original line number Diff line number Diff line Loading @@ -42,10 +42,12 @@ import androidx.slice.SliceItem; import com.android.launcher3.LauncherAppState; import com.android.launcher3.Utilities; import com.android.launcher3.logger.LauncherAtom; import com.android.launcher3.logger.LauncherAtom.Attribute; 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.LauncherAttributes; import com.android.launcher3.logger.LauncherAtom.ToState; import com.android.launcher3.logger.LauncherAtomExtensions.DeviceSearchResultContainer; import com.android.launcher3.logger.LauncherAtomExtensions.DeviceSearchResultContainer.SearchAttributes; Loading Loading @@ -88,7 +90,6 @@ public class StatsLogCompatManager extends StatsLogManager { private static final int FOLDER_HIERARCHY_OFFSET = 100; private static final int SEARCH_RESULT_HIERARCHY_OFFSET = 200; private static final int EXTENDED_CONTAINERS_HIERARCHY_OFFSET = 300; private static final int ATTRIBUTE_MULTIPLIER = 100; /** * Flags for converting SearchAttribute to integer value. Loading Loading @@ -130,8 +131,7 @@ public class StatsLogCompatManager extends StatsLogManager { } SysUiStatsLog.write(SysUiStatsLog.LAUNCHER_SNAPSHOT, LAUNCHER_WORKSPACE_SNAPSHOT.getId() /* event_id */, info.getAttribute().getNumber() * ATTRIBUTE_MULTIPLIER + info.getItemCase().getNumber() /* target_id */, info.getItemCase().getNumber() /* target_id */, instanceId.getId() /* instance_id */, 0 /* uid */, getPackageName(info) /* package_name */, Loading @@ -144,15 +144,22 @@ public class StatsLogCompatManager extends StatsLogManager { getParentPageId(info) /* page_id_parent */, getHierarchy(info) /* hierarchy */, info.getIsWork() /* is_work_profile */, info.getAttribute().getNumber() /* origin */, 0 /* origin */, getCardinality(info) /* cardinality */, info.getWidget().getSpanX(), info.getWidget().getSpanY(), getFeatures(info), null /* attributes */ getAttributes(info) /* attributes */ ); } private static byte[] getAttributes(LauncherAtom.ItemInfo itemInfo) { LauncherAttributes.Builder responseBuilder = LauncherAttributes.newBuilder(); itemInfo.getItemAttributesList().stream().map(Attribute::getNumber).forEach( responseBuilder::addItemAttributes); return responseBuilder.build().toByteArray(); } /** * Builds {@link StatsEvent} from {@link LauncherAtom.ItemInfo}. Used for pulled atom callback * implementation. Loading @@ -162,8 +169,7 @@ public class StatsLogCompatManager extends StatsLogManager { return SysUiStatsLog.buildStatsEvent( SysUiStatsLog.LAUNCHER_LAYOUT_SNAPSHOT, // atom ID, LAUNCHER_WORKSPACE_SNAPSHOT.getId(), // event_id = 1; info.getAttribute().getNumber() * ATTRIBUTE_MULTIPLIER + info.getItemCase().getNumber(), // item_id = 2; info.getItemCase().getNumber(), // item_id = 2; instanceId == null ? 0 : instanceId.getId(), //instance_id = 3; 0, //uid = 4 [(is_uid) = true]; getPackageName(info), // package_name = 5; Loading @@ -176,11 +182,11 @@ public class StatsLogCompatManager extends StatsLogManager { getParentPageId(info), //page_id_parent = 12 [default = -2]; getHierarchy(info), // container_id = 13; info.getIsWork(), // is_work_profile = 14; info.getAttribute().getNumber(), // attribute_id = 15; 0, // attribute_id = 15; getCardinality(info), // cardinality = 16; info.getWidget().getSpanX(), // span_x = 17 [default = 1]; info.getWidget().getSpanY(), // span_y = 18 [default = 1]; null /* attributes */ getAttributes(info) /* attributes */ ); } Loading Loading @@ -403,8 +409,7 @@ public class StatsLogCompatManager extends StatsLogManager { null /* launcher extensions, deprecated */, false /* quickstep_enabled, deprecated */, event.getId() /* event_id */, atomInfo.getAttribute().getNumber() * ATTRIBUTE_MULTIPLIER + atomInfo.getItemCase().getNumber() /* target_id */, atomInfo.getItemCase().getNumber() /* target_id */, instanceId.getId() /* instance_id TODO */, 0 /* uid TODO */, getPackageName(atomInfo) /* package_name */, Loading @@ -424,7 +429,7 @@ public class StatsLogCompatManager extends StatsLogManager { getCardinality(atomInfo) /* cardinality */, getFeatures(atomInfo) /* features */, getSearchAttributes(atomInfo) /* searchAttributes */, null /* attributes */ getAttributes(atomInfo) /* attributes */ ); } } Loading src/com/android/launcher3/model/data/FolderInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -217,7 +217,7 @@ public class FolderInfo extends ItemInfo { return getDefaultItemInfoBuilder() .setFolderIcon(folderIcon) .setRank(rank) .setAttribute(getLabelState().mLogAttribute) .addItemAttributes(getLabelState().mLogAttribute) .setContainerInfo(getContainerInfo()) .build(); } Loading src/com/android/launcher3/model/data/LauncherAppWidgetInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -288,7 +288,7 @@ public class LauncherAppWidgetInfo extends ItemInfo { LauncherAtom.ItemInfo info = super.buildProto(folderInfo); return info.toBuilder() .setWidget(info.getWidget().toBuilder().setWidgetFeatures(widgetFeatures)) .setAttribute(getAttribute(sourceContainer)) .addItemAttributes(getAttribute(sourceContainer)) .build(); } } src/com/android/launcher3/widget/PendingAddWidgetInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ public class PendingAddWidgetInfo extends PendingAddItemInfo { public LauncherAtom.ItemInfo buildProto(FolderInfo folderInfo) { LauncherAtom.ItemInfo info = super.buildProto(folderInfo); return info.toBuilder() .setAttribute(LauncherAppWidgetInfo.getAttribute(sourceContainer)) .addItemAttributes(LauncherAppWidgetInfo.getAttribute(sourceContainer)) .build(); } } Loading
protos/launcher_atom.proto +10 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ import "launcher_atom_extension.proto"; // // ItemInfos message ItemInfo { reserved 8; oneof Item { Application application = 1; Task task = 2; Loading @@ -42,7 +44,14 @@ message ItemInfo { optional ContainerInfo container_info = 7; // Stores the origin of the Item optional Attribute attribute = 8; repeated Attribute item_attributes = 12; } message LauncherAttributes{ // Integer value of item attribute enum // (e.g. SUGGESTED_LABEL, ALL_APPS_SEARCH_RESULT_SETTING etc) repeated int32 item_attributes = 1; } // Represents various launcher surface where items are placed. Loading
quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java +17 −12 Original line number Diff line number Diff line Loading @@ -42,10 +42,12 @@ import androidx.slice.SliceItem; import com.android.launcher3.LauncherAppState; import com.android.launcher3.Utilities; import com.android.launcher3.logger.LauncherAtom; import com.android.launcher3.logger.LauncherAtom.Attribute; 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.LauncherAttributes; import com.android.launcher3.logger.LauncherAtom.ToState; import com.android.launcher3.logger.LauncherAtomExtensions.DeviceSearchResultContainer; import com.android.launcher3.logger.LauncherAtomExtensions.DeviceSearchResultContainer.SearchAttributes; Loading Loading @@ -88,7 +90,6 @@ public class StatsLogCompatManager extends StatsLogManager { private static final int FOLDER_HIERARCHY_OFFSET = 100; private static final int SEARCH_RESULT_HIERARCHY_OFFSET = 200; private static final int EXTENDED_CONTAINERS_HIERARCHY_OFFSET = 300; private static final int ATTRIBUTE_MULTIPLIER = 100; /** * Flags for converting SearchAttribute to integer value. Loading Loading @@ -130,8 +131,7 @@ public class StatsLogCompatManager extends StatsLogManager { } SysUiStatsLog.write(SysUiStatsLog.LAUNCHER_SNAPSHOT, LAUNCHER_WORKSPACE_SNAPSHOT.getId() /* event_id */, info.getAttribute().getNumber() * ATTRIBUTE_MULTIPLIER + info.getItemCase().getNumber() /* target_id */, info.getItemCase().getNumber() /* target_id */, instanceId.getId() /* instance_id */, 0 /* uid */, getPackageName(info) /* package_name */, Loading @@ -144,15 +144,22 @@ public class StatsLogCompatManager extends StatsLogManager { getParentPageId(info) /* page_id_parent */, getHierarchy(info) /* hierarchy */, info.getIsWork() /* is_work_profile */, info.getAttribute().getNumber() /* origin */, 0 /* origin */, getCardinality(info) /* cardinality */, info.getWidget().getSpanX(), info.getWidget().getSpanY(), getFeatures(info), null /* attributes */ getAttributes(info) /* attributes */ ); } private static byte[] getAttributes(LauncherAtom.ItemInfo itemInfo) { LauncherAttributes.Builder responseBuilder = LauncherAttributes.newBuilder(); itemInfo.getItemAttributesList().stream().map(Attribute::getNumber).forEach( responseBuilder::addItemAttributes); return responseBuilder.build().toByteArray(); } /** * Builds {@link StatsEvent} from {@link LauncherAtom.ItemInfo}. Used for pulled atom callback * implementation. Loading @@ -162,8 +169,7 @@ public class StatsLogCompatManager extends StatsLogManager { return SysUiStatsLog.buildStatsEvent( SysUiStatsLog.LAUNCHER_LAYOUT_SNAPSHOT, // atom ID, LAUNCHER_WORKSPACE_SNAPSHOT.getId(), // event_id = 1; info.getAttribute().getNumber() * ATTRIBUTE_MULTIPLIER + info.getItemCase().getNumber(), // item_id = 2; info.getItemCase().getNumber(), // item_id = 2; instanceId == null ? 0 : instanceId.getId(), //instance_id = 3; 0, //uid = 4 [(is_uid) = true]; getPackageName(info), // package_name = 5; Loading @@ -176,11 +182,11 @@ public class StatsLogCompatManager extends StatsLogManager { getParentPageId(info), //page_id_parent = 12 [default = -2]; getHierarchy(info), // container_id = 13; info.getIsWork(), // is_work_profile = 14; info.getAttribute().getNumber(), // attribute_id = 15; 0, // attribute_id = 15; getCardinality(info), // cardinality = 16; info.getWidget().getSpanX(), // span_x = 17 [default = 1]; info.getWidget().getSpanY(), // span_y = 18 [default = 1]; null /* attributes */ getAttributes(info) /* attributes */ ); } Loading Loading @@ -403,8 +409,7 @@ public class StatsLogCompatManager extends StatsLogManager { null /* launcher extensions, deprecated */, false /* quickstep_enabled, deprecated */, event.getId() /* event_id */, atomInfo.getAttribute().getNumber() * ATTRIBUTE_MULTIPLIER + atomInfo.getItemCase().getNumber() /* target_id */, atomInfo.getItemCase().getNumber() /* target_id */, instanceId.getId() /* instance_id TODO */, 0 /* uid TODO */, getPackageName(atomInfo) /* package_name */, Loading @@ -424,7 +429,7 @@ public class StatsLogCompatManager extends StatsLogManager { getCardinality(atomInfo) /* cardinality */, getFeatures(atomInfo) /* features */, getSearchAttributes(atomInfo) /* searchAttributes */, null /* attributes */ getAttributes(atomInfo) /* attributes */ ); } } Loading
src/com/android/launcher3/model/data/FolderInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -217,7 +217,7 @@ public class FolderInfo extends ItemInfo { return getDefaultItemInfoBuilder() .setFolderIcon(folderIcon) .setRank(rank) .setAttribute(getLabelState().mLogAttribute) .addItemAttributes(getLabelState().mLogAttribute) .setContainerInfo(getContainerInfo()) .build(); } Loading
src/com/android/launcher3/model/data/LauncherAppWidgetInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -288,7 +288,7 @@ public class LauncherAppWidgetInfo extends ItemInfo { LauncherAtom.ItemInfo info = super.buildProto(folderInfo); return info.toBuilder() .setWidget(info.getWidget().toBuilder().setWidgetFeatures(widgetFeatures)) .setAttribute(getAttribute(sourceContainer)) .addItemAttributes(getAttribute(sourceContainer)) .build(); } }
src/com/android/launcher3/widget/PendingAddWidgetInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ public class PendingAddWidgetInfo extends PendingAddItemInfo { public LauncherAtom.ItemInfo buildProto(FolderInfo folderInfo) { LauncherAtom.ItemInfo info = super.buildProto(folderInfo); return info.toBuilder() .setAttribute(LauncherAppWidgetInfo.getAttribute(sourceContainer)) .addItemAttributes(LauncherAppWidgetInfo.getAttribute(sourceContainer)) .build(); } }