1/* 2 * Copyright (C) 2013 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package launcher_backup; 18 19option java_package = "com.android.launcher3.backup"; 20option java_outer_classname = "BackupProtos"; 21 22message Key { 23 enum Type { 24 FAVORITE = 1; 25 SCREEN = 2; 26 ICON = 3; 27 WIDGET = 4; 28 } 29 required Type type = 1; 30 optional string name = 2; // keep this short 31 optional int64 id = 3; 32 optional int64 checksum = 4; 33} 34 35message CheckedMessage { 36 required bytes payload = 1; 37 required int64 checksum = 2; 38} 39 40message DeviceProfieData { 41 required float desktop_rows = 1; 42 required float desktop_cols = 2; 43 required float hotseat_count = 3; 44 required int32 allapps_rank = 4; 45} 46 47message Journal { 48 required int32 app_version = 1; 49 50 // Time when the backup was created 51 required int64 t = 2; 52 53 // Total bytes written during the last backup 54 // OBSOLETE: A state may contain entries which are already present in the backup 55 // and were not written in the last backup 56 optional int64 bytes = 3; 57 58 // Total entries written during the last backup 59 // OBSOLETE: A state may contain entries which are already present in the backup 60 // and were not written in the last backup 61 optional int32 rows = 4; 62 63 // Valid keys for this state 64 repeated Key key = 5; 65 66 // Backup format version. 67 optional int32 backup_version = 6 [default = 1]; 68 69 optional DeviceProfieData profile = 7; 70} 71 72message Favorite { 73 required int64 id = 1; 74 required int32 itemType = 2; 75 optional string title = 3; 76 optional int32 container = 4; 77 optional int32 screen = 5; 78 optional int32 cellX = 6; 79 optional int32 cellY = 7; 80 optional int32 spanX = 8; 81 optional int32 spanY = 9; 82 optional int32 displayMode = 10; 83 optional int32 appWidgetId = 11; 84 optional string appWidgetProvider = 12; 85 optional string intent = 13; 86 optional string uri = 14; 87 optional int32 iconType = 15; 88 optional string iconPackage = 16; 89 optional string iconResource = 17; 90 optional bytes icon = 18; 91 } 92 93message Screen { 94 required int64 id = 1; 95 optional int32 rank = 2; 96 } 97 98message Resource { 99 required int32 dpi = 1; 100 required bytes data = 2; 101 } 102 103message Widget { 104 required string provider = 1; 105 optional string label = 2; 106 optional bool configure = 3; 107 optional Resource icon = 4; 108 optional Resource preview = 5; 109 } 110