1e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song/* 2e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * Copyright (C) 2017 The Android Open Source Project 3e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * 4e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * Licensed under the Apache License, Version 2.0 (the "License"); 5e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * you may not use this file except in compliance with the License. 6e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * You may obtain a copy of the License at 7e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * 8e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * http://www.apache.org/licenses/LICENSE-2.0 9e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * 10e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * Unless required by applicable law or agreed to in writing, software 11e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * distributed under the License is distributed on an "AS IS" BASIS, 12e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * See the License for the specific language governing permissions and 14e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song * limitations under the License. 15e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song */ 16e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Songsyntax = "proto2"; 17e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 18e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Songoption java_package = "com.android.launcher3.model"; 19e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Songoption java_outer_classname = "LauncherDumpProto"; 20e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 21e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Songpackage model; 22e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 23e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Songmessage DumpTarget { 24e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song enum Type { 25e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song NONE = 0; 26e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song ITEM = 1; 27e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song CONTAINER = 2; 28e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song } 29e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 30e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional Type type = 1; 31e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional int32 page_id = 2; 32e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional int32 grid_x = 3; 33e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional int32 grid_y = 4; 34e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 35e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song // For container types only 36e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional ContainerType container_type = 5; 37e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 38e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song // For item types only 39e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional ItemType item_type = 6; 40e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 41e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional string package_name = 7; // All ItemTypes except UNKNOWN type 42e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional string component = 8; // All ItemTypes except UNKNOWN type 43e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional string item_id = 9; // For Pinned Shortcuts and appWidgetId 44e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 45e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional int32 span_x = 10 [default = 1];// Used for ItemType.WIDGET 46e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional int32 span_y = 11 [default = 1];// Used for ItemType.WIDGET 47e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song optional UserType user_type = 12; 48e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song} 49e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 50e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song// Used to define what type of item a Target would represent. 51e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Songenum ItemType { 52e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song UNKNOWN_ITEMTYPE = 0; // Launcher specific items 53e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song APP_ICON = 1; // Regular app icons 54e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song WIDGET = 2; // Elements from AppWidgetManager 55e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song SHORTCUT = 3; // ShortcutManager 56e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song} 57e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 58e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song// Used to define what type of container a Target would represent. 59e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Songenum ContainerType { 60e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song UNKNOWN_CONTAINERTYPE = 0; 61e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song WORKSPACE = 1; 62e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song HOTSEAT = 2; 63e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song FOLDER = 3; 64e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song} 65e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 66e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song// Used to define what type of control a Target would represent. 67e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Songenum UserType { 68e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song DEFAULT = 0; 69e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song WORK = 1; 70e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song} 71e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song 72e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song// Main message; 73e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Songmessage LauncherImpression { 74e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song repeated DumpTarget targets = 1; 75e295acaeb34c474430e68cbfb069a6a6bfea4041Hyunyoung Song} 76