diff options
Diffstat (limited to 'setup_extension/info_modules.proto')
-rw-r--r-- | setup_extension/info_modules.proto | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/setup_extension/info_modules.proto b/setup_extension/info_modules.proto new file mode 100644 index 0000000..5027c4c --- /dev/null +++ b/setup_extension/info_modules.proto @@ -0,0 +1,96 @@ +// Copyright (C) 2022 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. +// +// Author: yuchaoyu@google.com (Yu Chao) + +syntax = "proto2"; + +package portal_tips_proto; + +option java_package = "com.google.android.setupcompat"; +option java_outer_classname = "InfoModules"; + +// A list of informational modules to be displayed under the deferred setup +// items. +// Next index: 5 +message InfoModuleList { + // Contains the title of the entire info module section. This is displayed + // before the subtitle and the list of info modules. + optional string section_title = 1; + + // Contains the subtitle of the entire info module section. This is displayed + // before the list of info modules. + optional string section_subtitle = 2; + + // A module represents a single informational item to be displayed in the list + // under the deferred setup page. + // + // Each module contains a unique id, three sections of text labels (title, + // description, footer), the Intent URI to launch when being clicked, the raw + // icon, and a boolean to determine whether or not the icon should be colored. + // Next index: 8 + message InfoModule { + + // The id to uniquely identify an InfoModule. + optional string id = 1; + + // Contains the title of the module. This is displayed as the first section + // of the text content. + optional string title = 2; + + // Contains the main paragraphs of the module. This is displayed as the + // second section of the text content. + optional string description = 3; + + // Contains the footer text of the module. This is displayed as the third + // and final section of the text content. + optional string footer = 4; + + // Contains the Intent string to be launched when the module is clicked. + // + // This string could be generated from an `Intent` object through the + // `toUri()` method. + optional string intent_uri = 5; + + // Contains the icon of the module in raw bytes of bitmap format. + optional bytes raw_icon = 6; + + // Determines whether the icon should be colored according to the theme. + // Generally speaking, this should be set to true for monoline icons (such + // as Material Icons) because their colors change according to the theme. + // For icons which their colors should be preserved (such as package icons), + // this should be set to false. + optional bool should_apply_theme_color_on_icon = 7; + } + + // Contains a list of informational modules to be displayed. + repeated InfoModule info_module_list = 3; + + // A trailing link is a button item appearing below the info module list. + // Next index: 3 + message TrailingLink { + // Contains the text that should be displayed on the link button. + optional string text = 1; + + // Contains the Intent string to be launched when the link button is + // clicked. + // + // This string could be generated from an `Intent` object through the + // `toUri()` method. + optional string intent_uri = 2; + } + + // Contains a trailing link to be displayed below the info modules. + optional TrailingLink trailing_link = 4; +} |