• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2018 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 com.google.android.setupcompat.partnerconfig;
18 
19 import androidx.annotation.StringDef;
20 import androidx.annotation.VisibleForTesting;
21 import java.lang.annotation.Retention;
22 import java.lang.annotation.RetentionPolicy;
23 
24 /** Resource names that can be customized by partner overlay APK. */
25 @Retention(RetentionPolicy.SOURCE)
26 @StringDef({
27   PartnerConfigKey.KEY_STATUS_BAR_BACKGROUND,
28   PartnerConfigKey.KEY_LIGHT_STATUS_BAR,
29   PartnerConfigKey.KEY_NAVIGATION_BAR_BG_COLOR,
30   PartnerConfigKey.KEY_LIGHT_NAVIGATION_BAR,
31   PartnerConfigKey.KEY_NAVIGATION_BAR_DIVIDER_COLOR,
32   PartnerConfigKey.KEY_FOOTER_BAR_BG_COLOR,
33   PartnerConfigKey.KEY_FOOTER_BAR_MIN_HEIGHT,
34   PartnerConfigKey.KEY_FOOTER_BAR_PADDING_START,
35   PartnerConfigKey.KEY_FOOTER_BAR_PADDING_END,
36   PartnerConfigKey.KEY_FOOTER_BUTTON_FONT_FAMILY,
37   PartnerConfigKey.KEY_FOOTER_BUTTON_FONT_WEIGHT,
38   PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_ADD_ANOTHER,
39   PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_CANCEL,
40   PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_CLEAR,
41   PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_DONE,
42   PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_NEXT,
43   PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_OPT_IN,
44   PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_SKIP,
45   PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_STOP,
46   PartnerConfigKey.KEY_FOOTER_BUTTON_PADDING_TOP,
47   PartnerConfigKey.KEY_FOOTER_BUTTON_PADDING_BOTTOM,
48   PartnerConfigKey.KEY_FOOTER_BUTTON_RADIUS,
49   PartnerConfigKey.KEY_FOOTER_BUTTON_RIPPLE_ALPHA,
50   PartnerConfigKey.KEY_FOOTER_BUTTON_TEXT_SIZE,
51   PartnerConfigKey.KEY_FOOTER_BUTTON_TEXT_STYLE,
52   PartnerConfigKey.KEY_FOOTER_BUTTON_MIN_HEIGHT,
53   PartnerConfigKey.KEY_FOOTER_BUTTON_ALIGNED_END,
54   PartnerConfigKey.KEY_FOOTER_BUTTON_DISABLED_ALPHA,
55   PartnerConfigKey.KEY_FOOTER_BUTTON_DISABLED_BG_COLOR,
56   PartnerConfigKey.KEY_FOOTER_PRIMARY_BUTTON_BG_COLOR,
57   PartnerConfigKey.KEY_FOOTER_PRIMARY_BUTTON_TEXT_COLOR,
58   PartnerConfigKey.KEY_FOOTER_PRIMARY_BUTTON_MARGIN_START,
59   PartnerConfigKey.KEY_PRIMARY_BUTTON_DISABLED_TEXT_COLOR,
60   PartnerConfigKey.KEY_FOOTER_SECONDARY_BUTTON_BG_COLOR,
61   PartnerConfigKey.KEY_FOOTER_SECONDARY_BUTTON_TEXT_COLOR,
62   PartnerConfigKey.KEY_FOOTER_SECONDARY_BUTTON_MARGIN_START,
63   PartnerConfigKey.KEY_SECONDARY_BUTTON_DISABLED_TEXT_COLOR,
64   PartnerConfigKey.KEY_LAYOUT_BACKGROUND_COLOR,
65   PartnerConfigKey.KEY_LAYOUT_MARGIN_START,
66   PartnerConfigKey.KEY_LAYOUT_MARGIN_END,
67   PartnerConfigKey.KEY_LAND_MIDDLE_HORIZONTAL_SPACING,
68   PartnerConfigKey.KEY_HEADER_TEXT_SIZE,
69   PartnerConfigKey.KEY_HEADER_TEXT_COLOR,
70   PartnerConfigKey.KEY_HEADER_FONT_FAMILY,
71   PartnerConfigKey.KEY_HEADER_FONT_WEIGHT,
72   PartnerConfigKey.KEY_HEADER_AREA_BACKGROUND_COLOR,
73   PartnerConfigKey.KEY_HEADER_TEXT_MARGIN_TOP,
74   PartnerConfigKey.KEY_HEADER_TEXT_MARGIN_BOTTOM,
75   PartnerConfigKey.KEY_HEADER_CONTAINER_MARGIN_BOTTOM,
76   PartnerConfigKey.KEY_HEADER_AUTO_SIZE_ENABLED,
77   PartnerConfigKey.KEY_HEADER_AUTO_SIZE_MAX_TEXT_SIZE,
78   PartnerConfigKey.KEY_HEADER_AUTO_SIZE_MIN_TEXT_SIZE,
79   PartnerConfigKey.KEY_HEADER_AUTO_SIZE_MAX_LINE_OF_MAX_SIZE,
80   PartnerConfigKey.KEY_HEADER_AUTO_SIZE_LINE_SPACING_EXTRA,
81   PartnerConfigKey.KEY_LAYOUT_GRAVITY,
82   PartnerConfigKey.KEY_ICON_MARGIN_TOP,
83   PartnerConfigKey.KEY_ICON_SIZE,
84   PartnerConfigKey.KEY_DESCRIPTION_TEXT_SIZE,
85   PartnerConfigKey.KEY_DESCRIPTION_TEXT_COLOR,
86   PartnerConfigKey.KEY_DESCRIPTION_LINK_TEXT_COLOR,
87   PartnerConfigKey.KEY_DESCRIPTION_FONT_FAMILY,
88   PartnerConfigKey.KEY_DESCRIPTION_FONT_WEIGHT,
89   PartnerConfigKey.KEY_DESCRIPTION_LINK_FONT_FAMILY,
90   PartnerConfigKey.KEY_DESCRIPTION_TEXT_MARGIN_TOP,
91   PartnerConfigKey.KEY_DESCRIPTION_TEXT_MARGIN_BOTTOM,
92   PartnerConfigKey.KEY_ACCOUNT_NAME_TEXT_SIZE,
93   PartnerConfigKey.KEY_ACCOUNT_NAME_FONT_FAMILY,
94   PartnerConfigKey.KEY_ACCOUNT_AVATAR_MARGIN_END,
95   PartnerConfigKey.KEY_ACCOUNT_AVATAR_MAX_SIZE,
96   PartnerConfigKey.KEY_CONTENT_TEXT_SIZE,
97   PartnerConfigKey.KEY_CONTENT_TEXT_COLOR,
98   PartnerConfigKey.KEY_CONTENT_LINK_TEXT_COLOR,
99   PartnerConfigKey.KEY_CONTENT_FONT_FAMILY,
100   PartnerConfigKey.KEY_CONTENT_LAYOUT_GRAVITY,
101   PartnerConfigKey.KEY_CONTENT_PADDING_TOP,
102   PartnerConfigKey.KEY_CONTENT_INFO_TEXT_SIZE,
103   PartnerConfigKey.KEY_CONTENT_INFO_FONT_FAMILY,
104   PartnerConfigKey.KEY_CONTENT_INFO_LINE_SPACING_EXTRA,
105   PartnerConfigKey.KEY_CONTENT_INFO_ICON_SIZE,
106   PartnerConfigKey.KEY_CONTENT_INFO_ICON_MARGIN_END,
107   PartnerConfigKey.KEY_CONTENT_INFO_PADDING_TOP,
108   PartnerConfigKey.KEY_CONTENT_INFO_PADDING_BOTTOM,
109   PartnerConfigKey.KEY_CARD_VIEW_INTRINSIC_WIDTH,
110   PartnerConfigKey.KEY_CARD_VIEW_INTRINSIC_HEIGHT,
111   PartnerConfigKey.KEY_ITEMS_TITLE_TEXT_SIZE,
112   PartnerConfigKey.KEY_ITEMS_SUMMARY_TEXT_SIZE,
113   PartnerConfigKey.KEY_ITEMS_SUMMARY_MARGIN_TOP,
114   PartnerConfigKey.KEY_ITEMS_TITLE_FONT_FAMILY,
115   PartnerConfigKey.KEY_ITEMS_SUMMARY_FONT_FAMILY,
116   PartnerConfigKey.KEY_ITEMS_PADDING_TOP,
117   PartnerConfigKey.KEY_ITEMS_PADDING_BOTTOM,
118   PartnerConfigKey.KEY_ITEMS_MIN_HEIGHT,
119   PartnerConfigKey.KEY_ITEMS_DIVIDER_SHOWN,
120   PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_DEFAULT,
121   PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_ACCOUNT,
122   PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_CONNECTION,
123   PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_UPDATE,
124   PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_FINAL_HOLD,
125   PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_DISPLAY_MINIMUM_MS,
126   PartnerConfigKey.KEY_LOADING_LOTTIE_ACCOUNT,
127   PartnerConfigKey.KEY_LOADING_LOTTIE_CONNECTION,
128   PartnerConfigKey.KEY_LOADING_LOTTIE_DEFAULT,
129   PartnerConfigKey.KEY_LOADING_LOTTIE_UPDATE,
130   PartnerConfigKey.KEY_LOADING_LOTTIE_FINAL_HOLD,
131   PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_DEFAULT,
132   PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_ACCOUNT,
133   PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_CONNECTION,
134   PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_UPDATE,
135   PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_FINAL_HOLD,
136   PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_DEFAULT,
137   PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_ACCOUNT,
138   PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_CONNECTION,
139   PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_UPDATE,
140   PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_FINAL_HOLD,
141   PartnerConfigKey.KEY_TRANSITION_TYPE,
142   PartnerConfigKey.KEY_LOADING_LAYOUT_CONTENT_PADDING_TOP,
143   PartnerConfigKey.KEY_LOADING_LAYOUT_CONTENT_PADDING_START,
144   PartnerConfigKey.KEY_LOADING_LAYOUT_CONTENT_PADDING_END,
145   PartnerConfigKey.KEY_LOADING_LAYOUT_CONTENT_PADDING_BOTTOM,
146   PartnerConfigKey.KEY_LOADING_LAYOUT_HEADER_HEIGHT,
147   PartnerConfigKey.KEY_LOADING_LAYOUT_FULL_SCREEN_ILLUSTRATION_ENABLED,
148   PartnerConfigKey.KEY_LOADING_LAYOUT_WAIT_FOR_ANIMATION_FINISHED,
149   PartnerConfigKey.KEY_PROGRESS_BAR_MARGIN_TOP,
150   PartnerConfigKey.KEY_PROGRESS_BAR_MARGIN_BOTTOM,
151 })
152 // TODO: can be removed and always reference PartnerConfig.getResourceName()?
153 @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
154 public @interface PartnerConfigKey {
155   // Status bar background color or illustration.
156   String KEY_STATUS_BAR_BACKGROUND = "setup_compat_status_bar_background";
157 
158   // The same as "WindowLightStatusBar". If set true, the status bar icons will be drawn such
159   // that it is compatible with a light status bar background
160   String KEY_LIGHT_STATUS_BAR = "setup_compat_light_status_bar";
161 
162   // Navigation bar background color
163   String KEY_NAVIGATION_BAR_BG_COLOR = "setup_compat_navigation_bar_bg_color";
164 
165   // The same as "windowLightNavigationBar". If set true, the navigation bar icons will be drawn
166   // such that it is compatible with a light navigation bar background.
167   String KEY_LIGHT_NAVIGATION_BAR = "setup_compat_light_navigation_bar";
168 
169   // Navigation bar divider color
170   String KEY_NAVIGATION_BAR_DIVIDER_COLOR = "setup_compat_navigation_bar_divider_color";
171 
172   // Background color of the footer bar.
173   String KEY_FOOTER_BAR_BG_COLOR = "setup_compat_footer_bar_bg_color";
174 
175   // The min height of the footer bar
176   String KEY_FOOTER_BAR_MIN_HEIGHT = "setup_compat_footer_bar_min_height";
177 
178   // The padding start of the footer bar
179   String KEY_FOOTER_BAR_PADDING_START = "setup_compat_footer_bar_padding_start";
180 
181   // The padding end of the footer bar
182   String KEY_FOOTER_BAR_PADDING_END = "setup_compat_footer_bar_padding_end";
183 
184   // The font face used in footer buttons. This must be a string reference to a font that is
185   // available in the system. Font references (@font or @xml) are not allowed.
186   String KEY_FOOTER_BUTTON_FONT_FAMILY = "setup_compat_footer_button_font_family";
187 
188   // The font weight used in footer buttons.
189   String KEY_FOOTER_BUTTON_FONT_WEIGHT = "setup_compat_footer_button_font_weight";
190 
191   // The icon for "add another" action. Can be "@null" for no icon.
192   String KEY_FOOTER_BUTTON_ICON_ADD_ANOTHER = "setup_compat_footer_button_icon_add_another";
193 
194   // The icon for "cancel" action. Can be "@null" for no icon.
195   String KEY_FOOTER_BUTTON_ICON_CANCEL = "setup_compat_footer_button_icon_cancel";
196 
197   // The icon for "clear" action. Can be "@null" for no icon.
198   String KEY_FOOTER_BUTTON_ICON_CLEAR = "setup_compat_footer_button_icon_clear";
199 
200   // The icon for "done" action. Can be "@null" for no icon.
201   String KEY_FOOTER_BUTTON_ICON_DONE = "setup_compat_footer_button_icon_done";
202 
203   // The icon for "next" action. Can be "@null" for no icon.
204   String KEY_FOOTER_BUTTON_ICON_NEXT = "setup_compat_footer_button_icon_next";
205 
206   // The icon for "opt-in" action. Can be "@null" for no icon.
207   String KEY_FOOTER_BUTTON_ICON_OPT_IN = "setup_compat_footer_button_icon_opt_in";
208 
209   // The icon for "skip" action. Can be "@null" for no icon.
210   String KEY_FOOTER_BUTTON_ICON_SKIP = "setup_compat_footer_button_icon_skip";
211 
212   // The icon for "stop" action. Can be "@null" for no icon.
213   String KEY_FOOTER_BUTTON_ICON_STOP = "setup_compat_footer_button_icon_stop";
214 
215   // Top padding of the footer buttons
216   String KEY_FOOTER_BUTTON_PADDING_TOP = "setup_compat_footer_button_padding_top";
217 
218   // Bottom padding of the footer buttons
219   String KEY_FOOTER_BUTTON_PADDING_BOTTOM = "setup_compat_footer_button_padding_bottom";
220 
221   // Corner radius of the footer buttons
222   String KEY_FOOTER_BUTTON_RADIUS = "setup_compat_footer_button_radius";
223 
224   // Ripple color alpha of the footer buttons
225   String KEY_FOOTER_BUTTON_RIPPLE_ALPHA = "setup_compat_footer_button_ripple_alpha";
226 
227   // Text size of the footer buttons
228   String KEY_FOOTER_BUTTON_TEXT_SIZE = "setup_compat_footer_button_text_size";
229 
230   // The font face used in footer buttons {0 = NORMAL}, {1 = BOLD}, {2 = ITALIC}, {3 = BOLD_ITALIC}
231   String KEY_FOOTER_BUTTON_TEXT_STYLE = "setup_compat_footer_button_text_style";
232 
233   // The min height of the footer buttons
234   String KEY_FOOTER_BUTTON_MIN_HEIGHT = "setup_compat_footer_button_min_height";
235 
236   // Make the footer buttons all aligned the end
237   String KEY_FOOTER_BUTTON_ALIGNED_END = "setup_compat_footer_button_aligned_end";
238 
239   // Disabled background alpha of the footer buttons
240   String KEY_FOOTER_BUTTON_DISABLED_ALPHA = "setup_compat_footer_button_disabled_alpha";
241 
242   // Disabled background color of the footer buttons
243   String KEY_FOOTER_BUTTON_DISABLED_BG_COLOR = "setup_compat_footer_button_disabled_bg_color";
244 
245   // Background color of the primary footer button
246   String KEY_FOOTER_PRIMARY_BUTTON_BG_COLOR = "setup_compat_footer_primary_button_bg_color";
247 
248   // Text color of the primary footer button
249   String KEY_FOOTER_PRIMARY_BUTTON_TEXT_COLOR = "setup_compat_footer_primary_button_text_color";
250 
251   // Margin start of the primary footer button
252   String KEY_FOOTER_PRIMARY_BUTTON_MARGIN_START = "setup_compat_footer_primary_button_margin_start";
253 
254   // Disabled text color of the primary footer button
255   String KEY_PRIMARY_BUTTON_DISABLED_TEXT_COLOR = "setup_compat_primary_button_disabled_text_color";
256 
257   // Background color of the secondary footer button
258   String KEY_FOOTER_SECONDARY_BUTTON_BG_COLOR = "setup_compat_footer_secondary_button_bg_color";
259 
260   // Text color of the secondary footer button
261   String KEY_FOOTER_SECONDARY_BUTTON_TEXT_COLOR = "setup_compat_footer_secondary_button_text_color";
262 
263   // Margin start of the secondary footer button
264   String KEY_FOOTER_SECONDARY_BUTTON_MARGIN_START =
265       "setup_compat_footer_secondary_button_margin_start";
266 
267   // Disabled text color of the secondary footer button
268   String KEY_SECONDARY_BUTTON_DISABLED_TEXT_COLOR =
269       "setup_compat_secondary_button_disabled_text_color";
270 
271   // Background color of layout
272   String KEY_LAYOUT_BACKGROUND_COLOR = "setup_design_layout_bg_color";
273 
274   // Margin start of the layout
275   String KEY_LAYOUT_MARGIN_START = "setup_design_layout_margin_start";
276 
277   // Margin end of the layout
278   String KEY_LAYOUT_MARGIN_END = "setup_design_layout_margin_end";
279 
280   // Middle horizontal spacing of the landscape layout
281   String KEY_LAND_MIDDLE_HORIZONTAL_SPACING = "setup_design_land_middle_horizontal_spacing";
282 
283   // Text size of the header
284   String KEY_HEADER_TEXT_SIZE = "setup_design_header_text_size";
285 
286   // Text color of the header
287   String KEY_HEADER_TEXT_COLOR = "setup_design_header_text_color";
288 
289   // Font family of the header
290   String KEY_HEADER_FONT_FAMILY = "setup_design_header_font_family";
291 
292   // Font weight of the header
293   String KEY_HEADER_FONT_WEIGHT = "setup_design_header_font_weight";
294 
295   // Margin top of the header text
296   String KEY_HEADER_TEXT_MARGIN_TOP = "setup_design_header_text_margin_top";
297 
298   // Margin bottom of the header text
299   String KEY_HEADER_TEXT_MARGIN_BOTTOM = "setup_design_header_text_margin_bottom";
300 
301   // Gravity of the header, icon and description
302   String KEY_LAYOUT_GRAVITY = "setup_design_layout_gravity";
303 
304   // Margin top of the icon
305   String KEY_ICON_MARGIN_TOP = "setup_design_icon_margin_top";
306 
307   // Size of the icon
308   String KEY_ICON_SIZE = "setup_design_icon_size";
309 
310   // Background color of the header area
311   String KEY_HEADER_AREA_BACKGROUND_COLOR = "setup_design_header_area_background_color";
312 
313   // Margin bottom of the header container
314   String KEY_HEADER_CONTAINER_MARGIN_BOTTOM = "setup_design_header_container_margin_bottom";
315 
316   // Auto text size enabled status
317   String KEY_HEADER_AUTO_SIZE_ENABLED = "setup_design_header_auto_size_enabled";
318 
319   // Max text size of header when auto size enabled. Ignored if auto size is false.
320   String KEY_HEADER_AUTO_SIZE_MAX_TEXT_SIZE = "setup_design_header_auto_size_max_text_size";
321 
322   // Min text size of header when auto size enabled. Ignored if auto size is false.
323   String KEY_HEADER_AUTO_SIZE_MIN_TEXT_SIZE = "setup_design_header_auto_size_min_text_size";
324 
325   // The max lines of the max text size when auto size enabled. Ignored if auto size is false.
326   String KEY_HEADER_AUTO_SIZE_MAX_LINE_OF_MAX_SIZE =
327       "setup_design_header_auto_size_max_line_of_max_size";
328 
329   // Extra line spacing of header when auto size enabled. Ignored if auto size is false.
330   String KEY_HEADER_AUTO_SIZE_LINE_SPACING_EXTRA =
331       "setup_design_header_auto_size_line_spacing_extra";
332 
333   // Text size of the description
334   String KEY_DESCRIPTION_TEXT_SIZE = "setup_design_description_text_size";
335 
336   // Text color of the description
337   String KEY_DESCRIPTION_TEXT_COLOR = "setup_design_description_text_color";
338 
339   // Link text color of the description
340   String KEY_DESCRIPTION_LINK_TEXT_COLOR = "setup_design_description_link_text_color";
341 
342   // Font family of the description
343   String KEY_DESCRIPTION_FONT_FAMILY = "setup_design_description_font_family";
344 
345   // Font weight of the description
346   String KEY_DESCRIPTION_FONT_WEIGHT = "setup_design_description_font_weight";
347 
348   // Font family of the link text
349   String KEY_DESCRIPTION_LINK_FONT_FAMILY = "setup_design_description_link_font_family";
350 
351   // Margin top of the header text
352   String KEY_DESCRIPTION_TEXT_MARGIN_TOP = "setup_design_description_text_margin_top";
353 
354   // Margin bottom of the header text
355   String KEY_DESCRIPTION_TEXT_MARGIN_BOTTOM = "setup_design_description_text_margin_bottom";
356 
357   // Font size of the account name
358   String KEY_ACCOUNT_NAME_TEXT_SIZE = "setup_design_account_name_text_size";
359 
360   // Font family of the account name
361   String KEY_ACCOUNT_NAME_FONT_FAMILY = "setup_design_account_name_font_family";
362 
363   // Margin end of the account avatar
364   String KEY_ACCOUNT_AVATAR_MARGIN_END = "setup_design_account_avatar_margin_end";
365 
366   // Size of the account avatar
367   String KEY_ACCOUNT_AVATAR_MAX_SIZE = "setup_design_account_avatar_size";
368 
369   // Text size of the body content text
370   String KEY_CONTENT_TEXT_SIZE = "setup_design_content_text_size";
371 
372   // Text color of the body content text
373   String KEY_CONTENT_TEXT_COLOR = "setup_design_content_text_color";
374 
375   // Link text color of the body content text
376   String KEY_CONTENT_LINK_TEXT_COLOR = "setup_design_content_link_text_color";
377 
378   // Font family of the body content text
379   String KEY_CONTENT_FONT_FAMILY = "setup_design_content_font_family";
380 
381   // Gravity of the body content text
382   String KEY_CONTENT_LAYOUT_GRAVITY = "setup_design_content_layout_gravity";
383 
384   // The padding top of the content
385   String KEY_CONTENT_PADDING_TOP = "setup_design_content_padding_top";
386 
387   // The text size of the content info.
388   String KEY_CONTENT_INFO_TEXT_SIZE = "setup_design_content_info_text_size";
389 
390   // The font family of the content info.
391   String KEY_CONTENT_INFO_FONT_FAMILY = "setup_design_content_info_font_family";
392 
393   // The text line spacing extra of the content info.
394   String KEY_CONTENT_INFO_LINE_SPACING_EXTRA = "setup_design_content_info_line_spacing_extra";
395 
396   // The icon size of the content info.
397   String KEY_CONTENT_INFO_ICON_SIZE = "setup_design_content_info_icon_size";
398 
399   // The icon margin end of the content info.
400   String KEY_CONTENT_INFO_ICON_MARGIN_END = "setup_design_content_info_icon_margin_end";
401 
402   // The padding top of the content info.
403   String KEY_CONTENT_INFO_PADDING_TOP = "setup_design_content_info_padding_top";
404 
405   // The padding bottom of the content info.
406   String KEY_CONTENT_INFO_PADDING_BOTTOM = "setup_design_content_info_padding_bottom";
407 
408   // The title text size of list items.
409   String KEY_ITEMS_TITLE_TEXT_SIZE = "setup_design_items_title_text_size";
410 
411   // The summary text size of list items.
412   String KEY_ITEMS_SUMMARY_TEXT_SIZE = "setup_design_items_summary_text_size";
413 
414   // The summary margin top of list items.
415   String KEY_ITEMS_SUMMARY_MARGIN_TOP = "setup_design_items_summary_margin_top";
416 
417   // The title font family of list items.
418   String KEY_ITEMS_TITLE_FONT_FAMILY = "setup_design_items_title_font_family";
419 
420   // The summary font family of list items.
421   String KEY_ITEMS_SUMMARY_FONT_FAMILY = "setup_design_items_summary_font_family";
422 
423   // The padding top of list items.
424   String KEY_ITEMS_PADDING_TOP = "setup_design_items_padding_top";
425 
426   // The padding bottom of list items.
427   String KEY_ITEMS_PADDING_BOTTOM = "setup_design_items_padding_bottom";
428 
429   // The minimum height of list items.
430   String KEY_ITEMS_MIN_HEIGHT = "setup_design_items_min_height";
431 
432   // The divider of list items are showing.
433   String KEY_ITEMS_DIVIDER_SHOWN = "setup_design_items_divider_shown";
434 
435   // The intrinsic width of the card view for foldable/tablet.
436   String KEY_CARD_VIEW_INTRINSIC_WIDTH = "setup_design_card_view_intrinsic_width";
437 
438   // The intrinsic height of the card view for foldable/tablet.
439   String KEY_CARD_VIEW_INTRINSIC_HEIGHT = "setup_design_card_view_intrinsic_height";
440 
441   // The animation of loading screen used in those activities which is non of below type.
442   String KEY_PROGRESS_ILLUSTRATION_DEFAULT = "progress_illustration_custom_default";
443 
444   // The animation of loading screen used in those activity which is processing account info or
445   // related functions.
446   // For example:com.google.android.setupwizard.LOAD_ADD_ACCOUNT_INTENT
447   String KEY_PROGRESS_ILLUSTRATION_ACCOUNT = "progress_illustration_custom_account";
448 
449   // The animation of loading screen used in those activity which is processing data connection.
450   // For example:com.android.setupwizard.CAPTIVE_PORTAL
451   String KEY_PROGRESS_ILLUSTRATION_CONNECTION = "progress_illustration_custom_connection";
452 
453   // The animation of loading screen used in those activities which is updating device.
454   // For example:com.google.android.setupwizard.COMPAT_EARLY_UPDATE
455   String KEY_PROGRESS_ILLUSTRATION_UPDATE = "progress_illustration_custom_update";
456 
457   // The animation of loading screen used in those activities which is updating device.
458   // For example:com.google.android.setupwizard.FINAL_HOLD
459   String KEY_PROGRESS_ILLUSTRATION_FINAL_HOLD = "final_hold_custom_illustration";
460 
461   // The minimum illustration display time, set to 0 may cause the illustration stuck
462   String KEY_PROGRESS_ILLUSTRATION_DISPLAY_MINIMUM_MS = "progress_illustration_display_minimum_ms";
463 
464   // The animation for S+ devices used in those screens waiting for non of below type.
465   String KEY_LOADING_LOTTIE_DEFAULT = "loading_animation_custom_default";
466 
467   // The animation for S+ devices used in those screens which is processing account info or related
468   // functions.
469   // For example:com.google.android.setupwizard.LOAD_ADD_ACCOUNT_INTENT
470   String KEY_LOADING_LOTTIE_ACCOUNT = "loading_animation_custom_account";
471 
472   // The animation for S+ devices used in those screens which is processing data connection.
473   // For example:com.android.setupwizard.CAPTIVE_PORTAL
474   String KEY_LOADING_LOTTIE_CONNECTION = "loading_animation_custom_connection";
475 
476   // The animation for S+ devices used in those screens which is updating devices.
477   // For example:com.google.android.setupwizard.COMPAT_EARLY_UPDATE
478   String KEY_LOADING_LOTTIE_UPDATE = "loading_animation_custom_update";
479 
480   // The animation for S+ devices used in those screens which is updating devices.
481   // For example:com.google.android.setupwizard.FINAL_HOLD
482   String KEY_LOADING_LOTTIE_FINAL_HOLD = "loading_animation_custom_final_hold";
483 
484   // A string-array to list all the key path and color map for default animation for light theme.
485   // For example: background:#FFFFFF
486   String KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_DEFAULT =
487       "loading_light_theme_customization_default";
488 
489   // A string-array to list all the key path and color map for account animation for light theme.
490   // For example: background:#FFFFFF
491   String KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_ACCOUNT =
492       "loading_light_theme_customization_account";
493 
494   // A string-array to list all the key path and color map for connection animation for light theme.
495   // For example: background:#FFFFFF
496   String KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_CONNECTION =
497       "loading_light_theme_customization_connection";
498 
499   // A string-array to list all the key path and color map for update animation for light theme.
500   // For example: background:#FFFFFF
501   String KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_UPDATE = "loading_light_theme_customization_update";
502 
503   // A string-array to list all the key path and color map for final hold animation for light theme.
504   // For example: background:#FFFFFF
505   String KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_FINAL_HOLD =
506       "loading_light_theme_customization_final_hold";
507 
508   // A string-array to list all the key path and color map for default animation for dark theme.
509   // For example: background:#000000
510   String KEY_LOADING_DARK_THEME_CUSTOMIZATION_DEFAULT = "loading_dark_theme_customization_default";
511 
512   // A string-array to list all the key path and color map for account animation for dark theme.
513   // For example: background:#000000
514   String KEY_LOADING_DARK_THEME_CUSTOMIZATION_ACCOUNT = "loading_dark_theme_customization_account";
515 
516   // A string-array to list all the key path and color map for connection animation for dark theme.
517   // For example: background:#000000
518   String KEY_LOADING_DARK_THEME_CUSTOMIZATION_CONNECTION =
519       "loading_dark_theme_customization_connection";
520 
521   // A string-array to list all the key path and color map for update animation for dark theme.
522   // For example: background:#000000
523   String KEY_LOADING_DARK_THEME_CUSTOMIZATION_UPDATE = "loading_dark_theme_customization_update";
524 
525   // A string-array to list all the key path and color map for final hold animation for dark theme.
526   // For example: background:#000000
527   String KEY_LOADING_DARK_THEME_CUSTOMIZATION_FINAL_HOLD =
528       "loading_dark_theme_customization_final_hold";
529 
530   // The transition type between activities
531   String KEY_TRANSITION_TYPE = "setup_design_transition_type";
532 
533   // A padding top of the content frame of loading layout.
534   String KEY_LOADING_LAYOUT_CONTENT_PADDING_TOP = "loading_layout_content_padding_top";
535 
536   // A padding start of the content frame of loading layout.
537   String KEY_LOADING_LAYOUT_CONTENT_PADDING_START = "loading_layout_content_padding_start";
538 
539   // A padding end of the content frame of loading layout.
540   String KEY_LOADING_LAYOUT_CONTENT_PADDING_END = "loading_layout_content_padding_end";
541 
542   // A padding bottom of the content frame of loading layout.
543   String KEY_LOADING_LAYOUT_CONTENT_PADDING_BOTTOM = "loading_layout_content_padding_bottom";
544 
545   // A height of the header of loading layout.
546   String KEY_LOADING_LAYOUT_HEADER_HEIGHT = "loading_layout_header_height";
547 
548   // Use the fullscreen style lottie animation.
549   String KEY_LOADING_LAYOUT_FULL_SCREEN_ILLUSTRATION_ENABLED =
550       "loading_layout_full_screen_illustration_enabled";
551 
552   // Waiting the animation finished before process to the next page/action.
553   String KEY_LOADING_LAYOUT_WAIT_FOR_ANIMATION_FINISHED =
554       "loading_layout_wait_for_animation_finished";
555 
556   // A margin top of the content frame of progress bar.
557   String KEY_PROGRESS_BAR_MARGIN_TOP = "setup_design_progress_bar_margin_top";
558 
559   // A margin bottom of the content frame of progress bar.
560   String KEY_PROGRESS_BAR_MARGIN_BOTTOM = "setup_design_progress_bar_margin_bottom";
561 }
562