Files
Lawnchair/protos/launcher_atom.proto
T
Hyunyoung Song 7ac0ef1cb1 ItemInfo supports lite proto builder (1/n)
Bug: 144953948
Bug: 137777105

The new lite proto builder is used to send two types of logging to statsd
1) Snapshot logging
2) App launch, task launch, task dismiss

Statsd will be connected once platform CL is submitted

Change-Id: If606cee5288fe4bd6c522605ae84eb0f24174f5b
2020-03-31 20:52:36 -07:00

109 lines
3.3 KiB
Protocol Buffer

/*
* Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto2";
option java_package = "com.android.launcher3.logger";
option java_outer_classname = "LauncherAtom";
//
// ItemInfos
message ItemInfo {
oneof Item {
Application application = 1;
Task task= 2;
Shortcut shortcut = 3;
Widget widget = 4;
}
// When used for launch event, stores the global predictive rank
optional int32 rank = 5;
// Stores whether the Item belows to non primary user
optional bool is_work = 6;
// Item can be child node to parent container or parent containers (nested)
oneof Container {
WorkspaceContainer workspace = 7;
HotseatContainer hotseat = 8;
FolderContainer folder = 9;
}
// Stores the origin of the Item
optional Origin source = 10;
}
enum Origin {
UNKNOWN = 0;
DEFAULT_LAYOUT = 1; // icon automatically placed in workspace, folder, hotseat
BACKUP_RESTORE = 2; // icon layout restored from backup
PINITEM = 3; // from another app (e.g., Chrome's "Add to Home screen")
ALLAPPS_ATOZ = 4; // within launcher surface, all aps a-z
WIDGETS = 5; // within launcher, widgets tray
ADD_TO_HOMESCREEN = 6; // play install + launcher home setting
ALLAPPS_PREDICTION = 7; // from prediction bar in all apps container
HOTSEAT_PREDICTION = 8; // from prediction bar in hotseat container
}
// Main app icons
message Application {
optional string package_name = 1;
optional string component_name = 2;
}
// Legacy shortcuts and shortcuts handled by ShortcutManager
message Shortcut {
optional string shortcut_name = 1;
}
// AppWidgets handled by AppWidgetManager
message Widget {
optional int32 span_x = 1;
optional int32 span_y = 2;
optional int32 app_widget_id = 3;
optional string package_name = 4; // only populated during snapshot if from workspace
optional string component_name = 5; // only populated during snapshot if from workspace
}
// Tasks handled by PackageManager
message Task {
optional string package_name = 1;
optional string component_name = 2;
optional int32 index = 3;
}
//////////////////////////////////////////////
// Containers
message WorkspaceContainer {
optional int32 page_index = 1; // range [-1, l], 0 is the index of the main homescreen
optional int32 grid_x = 2; // [0, m], m varies based on the display density and resolution
optional int32 grid_y = 3; // [0, n], n varies based on the display density and resolution
}
message HotseatContainer {
optional int32 index = 1;
}
message FolderContainer {
optional int32 page_index = 1;
optional int32 grid_x = 2;
optional int32 grid_y = 3;
oneof Container {
WorkspaceContainer workspace = 4;
HotseatContainer hotseat = 5;
}
}