/* * Copyright (C) 2013 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"; package launcher_backup; option javanano_use_deprecated_package = true; option java_package = "com.android.launcher3.backup"; option java_outer_classname = "BackupProtos"; message Key { enum Type { FAVORITE = 1; SCREEN = 2; ICON = 3; WIDGET = 4; } required Type type = 1; optional string name = 2; // keep this short optional int64 id = 3; optional int64 checksum = 4; } message CheckedMessage { required bytes payload = 1; required int64 checksum = 2; } message DeviceProfieData { required float desktop_rows = 1; required float desktop_cols = 2; required float hotseat_count = 3; required int32 allapps_rank = 4; } message Journal { required int32 app_version = 1; // Time when the backup was created required int64 t = 2; // Total bytes written during the last backup // OBSOLETE: A state may contain entries which are already present in the backup // and were not written in the last backup optional int64 bytes = 3; // Total entries written during the last backup // OBSOLETE: A state may contain entries which are already present in the backup // and were not written in the last backup optional int32 rows = 4; // Valid keys for this state repeated Key key = 5; // Backup format version. optional int32 backup_version = 6 [default = 1]; optional DeviceProfieData profile = 7; } message Favorite { // Type of the app, this target represents enum TargetType { TARGET_NONE = 0; TARGET_PHONE = 1; TARGET_MESSENGER = 2; TARGET_EMAIL = 3; TARGET_BROWSER = 4; TARGET_GALLERY = 5; TARGET_CAMERA = 6; } required int64 id = 1; required int32 itemType = 2; optional string title = 3; optional int32 container = 4; optional int32 screen = 5; optional int32 cellX = 6; optional int32 cellY = 7; optional int32 spanX = 8; optional int32 spanY = 9; optional int32 displayMode = 10; optional int32 appWidgetId = 11; optional string appWidgetProvider = 12; optional string intent = 13; optional string uri = 14; optional int32 iconType = 15; optional string iconPackage = 16; optional string iconResource = 17; optional bytes icon = 18; optional TargetType targetType = 19 [default = TARGET_NONE]; } message Screen { required int64 id = 1; optional int32 rank = 2; } message Resource { required int32 dpi = 1; required bytes data = 2; } message Widget { required string provider = 1; optional string label = 2; optional bool configure = 3; optional Resource icon = 4; optional Resource preview = 5; }