| // 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; |
| } |