• 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 // TODO: optimize the enum
20 /** Resources that can be customized by partner overlay APK. */
21 public enum PartnerConfig {
22 
23   // Status bar background color or illustration.
24   CONFIG_STATUS_BAR_BACKGROUND(PartnerConfigKey.KEY_STATUS_BAR_BACKGROUND, ResourceType.DRAWABLE),
25 
26   // The same as "WindowLightStatusBar". If set true, the status bar icons will be drawn such
27   // that it is compatible with a light status bar background
28   CONFIG_LIGHT_STATUS_BAR(PartnerConfigKey.KEY_LIGHT_STATUS_BAR, ResourceType.BOOL),
29 
30   // Navigation bar background color
31   CONFIG_NAVIGATION_BAR_BG_COLOR(PartnerConfigKey.KEY_NAVIGATION_BAR_BG_COLOR, ResourceType.COLOR),
32 
33   // Navigation bar divider color
34   CONFIG_NAVIGATION_BAR_DIVIDER_COLOR(
35       PartnerConfigKey.KEY_NAVIGATION_BAR_DIVIDER_COLOR, ResourceType.COLOR),
36 
37   // Background color of the footer bar.
38   CONFIG_FOOTER_BAR_BG_COLOR(PartnerConfigKey.KEY_FOOTER_BAR_BG_COLOR, ResourceType.COLOR),
39 
40   // The min height of the footer buttons
41   CONFIG_FOOTER_BAR_MIN_HEIGHT(PartnerConfigKey.KEY_FOOTER_BAR_MIN_HEIGHT, ResourceType.DIMENSION),
42 
43   // The padding start of the footer bar
44   CONFIG_FOOTER_BAR_PADDING_START(
45       PartnerConfigKey.KEY_FOOTER_BAR_PADDING_START, ResourceType.DIMENSION),
46 
47   // The padding end of the footer bar
48   CONFIG_FOOTER_BAR_PADDING_END(
49       PartnerConfigKey.KEY_FOOTER_BAR_PADDING_END, ResourceType.DIMENSION),
50 
51   // The same as "windowLightNavigationBar". If set true, the navigation bar icons will be drawn
52   // such that it is compatible with a light navigation bar background.
53   CONFIG_LIGHT_NAVIGATION_BAR(PartnerConfigKey.KEY_LIGHT_NAVIGATION_BAR, ResourceType.BOOL),
54 
55   // The font face used in footer buttons. This must be a string reference to a font that is
56   // available in the system. Font references (@font or @xml) are not allowed.
57   CONFIG_FOOTER_BUTTON_FONT_FAMILY(
58       PartnerConfigKey.KEY_FOOTER_BUTTON_FONT_FAMILY, ResourceType.STRING),
59 
60   // The font weight used in footer buttons.
61   CONFIG_FOOTER_BUTTON_FONT_WEIGHT(
62       PartnerConfigKey.KEY_FOOTER_BUTTON_FONT_WEIGHT, ResourceType.INTEGER),
63 
64   // The icon for "add another" action. Can be "@null" for no icon.
65   CONFIG_FOOTER_BUTTON_ICON_ADD_ANOTHER(
66       PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_ADD_ANOTHER, ResourceType.DRAWABLE),
67 
68   // The icon for "cancel" action. Can be "@null" for no icon.
69   CONFIG_FOOTER_BUTTON_ICON_CANCEL(
70       PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_CANCEL, ResourceType.DRAWABLE),
71 
72   // The icon for "clear" action. Can be "@null" for no icon.
73   CONFIG_FOOTER_BUTTON_ICON_CLEAR(
74       PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_CLEAR, ResourceType.DRAWABLE),
75 
76   // The icon for "done" action. Can be "@null" for no icon.
77   CONFIG_FOOTER_BUTTON_ICON_DONE(
78       PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_DONE, ResourceType.DRAWABLE),
79 
80   // The icon for "next" action. Can be "@null" for no icon.
81   CONFIG_FOOTER_BUTTON_ICON_NEXT(
82       PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_NEXT, ResourceType.DRAWABLE),
83 
84   // The icon for "opt-in" action. Can be "@null" for no icon.
85   CONFIG_FOOTER_BUTTON_ICON_OPT_IN(
86       PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_OPT_IN, ResourceType.DRAWABLE),
87 
88   // The icon for "skip" action. Can be "@null" for no icon.
89   CONFIG_FOOTER_BUTTON_ICON_SKIP(
90       PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_SKIP, ResourceType.DRAWABLE),
91 
92   // The icon for "stop" action. Can be "@null" for no icon.
93   CONFIG_FOOTER_BUTTON_ICON_STOP(
94       PartnerConfigKey.KEY_FOOTER_BUTTON_ICON_STOP, ResourceType.DRAWABLE),
95 
96   // Top padding of the footer buttons
97   CONFIG_FOOTER_BUTTON_PADDING_TOP(
98       PartnerConfigKey.KEY_FOOTER_BUTTON_PADDING_TOP, ResourceType.DIMENSION),
99 
100   // Bottom padding of the footer buttons
101   CONFIG_FOOTER_BUTTON_PADDING_BOTTOM(
102       PartnerConfigKey.KEY_FOOTER_BUTTON_PADDING_BOTTOM, ResourceType.DIMENSION),
103 
104   // Corner radius of the footer buttons
105   CONFIG_FOOTER_BUTTON_RADIUS(PartnerConfigKey.KEY_FOOTER_BUTTON_RADIUS, ResourceType.DIMENSION),
106 
107   // Ripple color alpha the footer buttons
108   CONFIG_FOOTER_BUTTON_RIPPLE_COLOR_ALPHA(
109       PartnerConfigKey.KEY_FOOTER_BUTTON_RIPPLE_ALPHA, ResourceType.FRACTION),
110 
111   // Text size of the footer buttons
112   CONFIG_FOOTER_BUTTON_TEXT_SIZE(
113       PartnerConfigKey.KEY_FOOTER_BUTTON_TEXT_SIZE, ResourceType.DIMENSION),
114 
115   // The text style of footer buttons {0 = NORMAL}, {1 = BOLD}, {2 = ITALIC}, {3 = BOLD_ITALIC}
116   CONFIG_FOOTER_BUTTON_TEXT_STYLE(
117       PartnerConfigKey.KEY_FOOTER_BUTTON_TEXT_STYLE, ResourceType.INTEGER),
118 
119   // The min height of the footer buttons
120   CONFIG_FOOTER_BUTTON_MIN_HEIGHT(
121       PartnerConfigKey.KEY_FOOTER_BUTTON_MIN_HEIGHT, ResourceType.DIMENSION),
122 
123   // Make the footer buttons all aligned the end
124   CONFIG_FOOTER_BUTTON_ALIGNED_END(
125       PartnerConfigKey.KEY_FOOTER_BUTTON_ALIGNED_END, ResourceType.BOOL),
126 
127   // Disabled background alpha of the footer buttons
128   CONFIG_FOOTER_BUTTON_DISABLED_ALPHA(
129       PartnerConfigKey.KEY_FOOTER_BUTTON_DISABLED_ALPHA, ResourceType.FRACTION),
130 
131   // Disabled background color of the footer buttons
132   CONFIG_FOOTER_BUTTON_DISABLED_BG_COLOR(
133       PartnerConfigKey.KEY_FOOTER_BUTTON_DISABLED_BG_COLOR, ResourceType.COLOR),
134 
135   // Disabled text color of the primary footer button
136   CONFIG_FOOTER_PRIMARY_BUTTON_DISABLED_TEXT_COLOR(
137       PartnerConfigKey.KEY_PRIMARY_BUTTON_DISABLED_TEXT_COLOR, ResourceType.COLOR),
138 
139   // Disabled text color of the secondary footer button
140   CONFIG_FOOTER_SECONDARY_BUTTON_DISABLED_TEXT_COLOR(
141       PartnerConfigKey.KEY_SECONDARY_BUTTON_DISABLED_TEXT_COLOR, ResourceType.COLOR),
142 
143   // Background color of the primary footer button
144   CONFIG_FOOTER_PRIMARY_BUTTON_BG_COLOR(
145       PartnerConfigKey.KEY_FOOTER_PRIMARY_BUTTON_BG_COLOR, ResourceType.COLOR),
146 
147   // Text color of the primary footer button
148   CONFIG_FOOTER_PRIMARY_BUTTON_TEXT_COLOR(
149       PartnerConfigKey.KEY_FOOTER_PRIMARY_BUTTON_TEXT_COLOR, ResourceType.COLOR),
150 
151   // Margin start of the primary footer button
152   CONFIG_FOOTER_PRIMARY_BUTTON_MARGIN_START(
153       PartnerConfigKey.KEY_FOOTER_PRIMARY_BUTTON_MARGIN_START, ResourceType.DIMENSION),
154 
155   // Background color of the secondary footer button
156   CONFIG_FOOTER_SECONDARY_BUTTON_BG_COLOR(
157       PartnerConfigKey.KEY_FOOTER_SECONDARY_BUTTON_BG_COLOR, ResourceType.COLOR),
158 
159   // Text color of the secondary footer button
160   CONFIG_FOOTER_SECONDARY_BUTTON_TEXT_COLOR(
161       PartnerConfigKey.KEY_FOOTER_SECONDARY_BUTTON_TEXT_COLOR, ResourceType.COLOR),
162 
163   // Margin start of the secondary footer button
164   CONFIG_FOOTER_SECONDARY_BUTTON_MARGIN_START(
165       PartnerConfigKey.KEY_FOOTER_SECONDARY_BUTTON_MARGIN_START, ResourceType.DIMENSION),
166 
167   // Background color of layout
168   CONFIG_LAYOUT_BACKGROUND_COLOR(PartnerConfigKey.KEY_LAYOUT_BACKGROUND_COLOR, ResourceType.COLOR),
169 
170   // Margin start of the layout
171   CONFIG_LAYOUT_MARGIN_START(PartnerConfigKey.KEY_LAYOUT_MARGIN_START, ResourceType.DIMENSION),
172 
173   // Margin end of the layout
174   CONFIG_LAYOUT_MARGIN_END(PartnerConfigKey.KEY_LAYOUT_MARGIN_END, ResourceType.DIMENSION),
175 
176   // Middle horizontal spacing of the landscape layout
177   CONFIG_LAND_MIDDLE_HORIZONTAL_SPACING(
178       PartnerConfigKey.KEY_LAND_MIDDLE_HORIZONTAL_SPACING, ResourceType.DIMENSION),
179 
180   // Text color of the header
181   CONFIG_HEADER_TEXT_COLOR(PartnerConfigKey.KEY_HEADER_TEXT_COLOR, ResourceType.COLOR),
182 
183   // Text size of the header
184   CONFIG_HEADER_TEXT_SIZE(PartnerConfigKey.KEY_HEADER_TEXT_SIZE, ResourceType.DIMENSION),
185 
186   // Font family of the header
187   CONFIG_HEADER_FONT_FAMILY(PartnerConfigKey.KEY_HEADER_FONT_FAMILY, ResourceType.STRING),
188 
189   // Font weight of the header
190   CONFIG_HEADER_FONT_WEIGHT(PartnerConfigKey.KEY_HEADER_FONT_WEIGHT, ResourceType.INTEGER),
191 
192   // Font variation_settings of the header
193   CONFIG_HEADER_FONT_VARIATION_SETTINGS(
194       PartnerConfigKey.KEY_HEADER_FONT_VARIATION_SETTINGS, ResourceType.STRING),
195 
196   // Margin top of the header text
197   CONFIG_HEADER_TEXT_MARGIN_TOP(
198       PartnerConfigKey.KEY_HEADER_TEXT_MARGIN_TOP, ResourceType.DIMENSION),
199 
200   // Margin bottom of the header text
201   CONFIG_HEADER_TEXT_MARGIN_BOTTOM(
202       PartnerConfigKey.KEY_HEADER_TEXT_MARGIN_BOTTOM, ResourceType.DIMENSION),
203 
204   // Gravity of the header, icon and description
205   CONFIG_LAYOUT_GRAVITY(PartnerConfigKey.KEY_LAYOUT_GRAVITY, ResourceType.STRING),
206 
207   // Margin top of the icon
208   CONFIG_ICON_MARGIN_TOP(PartnerConfigKey.KEY_ICON_MARGIN_TOP, ResourceType.DIMENSION),
209 
210   // Size of the icon
211   CONFIG_ICON_SIZE(PartnerConfigKey.KEY_ICON_SIZE, ResourceType.DIMENSION),
212 
213   // The max width of the illustration
214   CONFIG_ILLUSTRATION_MAX_WIDTH(
215       PartnerConfigKey.KEY_ILLUSTRATION_MAX_WIDTH, ResourceType.DIMENSION),
216 
217   // The max height of the illustration
218   CONFIG_ILLUSTRATION_MAX_HEIGHT(
219       PartnerConfigKey.KEY_ILLUSTRATION_MAX_HEIGHT, ResourceType.DIMENSION),
220 
221   // Background color of the header area
222   CONFIG_HEADER_AREA_BACKGROUND_COLOR(
223       PartnerConfigKey.KEY_HEADER_AREA_BACKGROUND_COLOR, ResourceType.COLOR),
224 
225   // Margin bottom of the header container
226   CONFIG_HEADER_CONTAINER_MARGIN_BOTTOM(
227       PartnerConfigKey.KEY_HEADER_CONTAINER_MARGIN_BOTTOM, ResourceType.DIMENSION),
228 
229   // Auto text size enabled status
230   CONFIG_HEADER_AUTO_SIZE_ENABLED(PartnerConfigKey.KEY_HEADER_AUTO_SIZE_ENABLED, ResourceType.BOOL),
231 
232   // Max text size of header when auto size enabled. Ignored if auto size is false.
233   CONFIG_HEADER_AUTO_SIZE_MAX_TEXT_SIZE(
234       PartnerConfigKey.KEY_HEADER_AUTO_SIZE_MAX_TEXT_SIZE, ResourceType.DIMENSION),
235 
236   // Min text size of header when auto size enabled. Ignored if auto size is false.
237   CONFIG_HEADER_AUTO_SIZE_MIN_TEXT_SIZE(
238       PartnerConfigKey.KEY_HEADER_AUTO_SIZE_MIN_TEXT_SIZE, ResourceType.DIMENSION),
239 
240   // The max lines of the max text size when auto size enabled. Ignored if auto size is false.
241   CONFIG_HEADER_AUTO_SIZE_MAX_LINE_OF_MAX_SIZE(
242       PartnerConfigKey.KEY_HEADER_AUTO_SIZE_MAX_LINE_OF_MAX_SIZE, ResourceType.INTEGER),
243 
244   // Extra line spacing of header when auto size enabled. Ignored if auto size is false.
245   CONFIG_HEADER_AUTO_SIZE_LINE_SPACING_EXTRA(
246       PartnerConfigKey.KEY_HEADER_AUTO_SIZE_LINE_SPACING_EXTRA, ResourceType.DIMENSION),
247 
248   // Text size of the description
249   CONFIG_DESCRIPTION_TEXT_SIZE(PartnerConfigKey.KEY_DESCRIPTION_TEXT_SIZE, ResourceType.DIMENSION),
250 
251   // Text color of the description
252   CONFIG_DESCRIPTION_TEXT_COLOR(PartnerConfigKey.KEY_DESCRIPTION_TEXT_COLOR, ResourceType.COLOR),
253 
254   // Link text color of the description
255   CONFIG_DESCRIPTION_LINK_TEXT_COLOR(
256       PartnerConfigKey.KEY_DESCRIPTION_LINK_TEXT_COLOR, ResourceType.COLOR),
257 
258   // Font family of the description
259   CONFIG_DESCRIPTION_FONT_FAMILY(PartnerConfigKey.KEY_DESCRIPTION_FONT_FAMILY, ResourceType.STRING),
260 
261   // Font weight of the description
262   CONFIG_DESCRIPTION_FONT_WEIGHT(
263       PartnerConfigKey.KEY_DESCRIPTION_FONT_WEIGHT, ResourceType.INTEGER),
264 
265   // Font family of the link text
266   CONFIG_DESCRIPTION_LINK_FONT_FAMILY(
267       PartnerConfigKey.KEY_DESCRIPTION_LINK_FONT_FAMILY, ResourceType.STRING),
268 
269   // Margin top of the description text
270   CONFIG_DESCRIPTION_TEXT_MARGIN_TOP(
271       PartnerConfigKey.KEY_DESCRIPTION_TEXT_MARGIN_TOP, ResourceType.DIMENSION),
272 
273   // Margin bottom of the description text
274   CONFIG_DESCRIPTION_TEXT_MARGIN_BOTTOM(
275       PartnerConfigKey.KEY_DESCRIPTION_TEXT_MARGIN_BOTTOM, ResourceType.DIMENSION),
276 
277   // Font size of the account name
278   CONFIG_ACCOUNT_NAME_TEXT_SIZE(
279       PartnerConfigKey.KEY_ACCOUNT_NAME_TEXT_SIZE, ResourceType.DIMENSION),
280 
281   // Font family of the account name
282   CONFIG_ACCOUNT_NAME_FONT_FAMILY(
283       PartnerConfigKey.KEY_ACCOUNT_NAME_FONT_FAMILY, ResourceType.STRING),
284 
285   // Margin end of the account avatar
286   CONFIG_ACCOUNT_AVATAR_MARGIN_END(
287       PartnerConfigKey.KEY_ACCOUNT_AVATAR_MARGIN_END, ResourceType.DIMENSION),
288 
289   // Size of account avatar
290   CONFIG_ACCOUNT_AVATAR_SIZE(PartnerConfigKey.KEY_ACCOUNT_AVATAR_MAX_SIZE, ResourceType.DIMENSION),
291 
292   // Text size of the body content text
293   CONFIG_CONTENT_TEXT_SIZE(PartnerConfigKey.KEY_CONTENT_TEXT_SIZE, ResourceType.DIMENSION),
294 
295   // Text color of the body content text
296   CONFIG_CONTENT_TEXT_COLOR(PartnerConfigKey.KEY_CONTENT_TEXT_COLOR, ResourceType.COLOR),
297 
298   // Link text color of the body content text
299   CONFIG_CONTENT_LINK_TEXT_COLOR(PartnerConfigKey.KEY_CONTENT_LINK_TEXT_COLOR, ResourceType.COLOR),
300 
301   // Font family of the body content text
302   CONFIG_CONTENT_FONT_FAMILY(PartnerConfigKey.KEY_CONTENT_FONT_FAMILY, ResourceType.STRING),
303 
304   // Gravity of the body content text
305   CONFIG_CONTENT_LAYOUT_GRAVITY(PartnerConfigKey.KEY_CONTENT_LAYOUT_GRAVITY, ResourceType.STRING),
306 
307   // The padding top of the content
308   CONFIG_CONTENT_PADDING_TOP(PartnerConfigKey.KEY_CONTENT_PADDING_TOP, ResourceType.DIMENSION),
309 
310   // The text size of the content info.
311   CONFIG_CONTENT_INFO_TEXT_SIZE(
312       PartnerConfigKey.KEY_CONTENT_INFO_TEXT_SIZE, ResourceType.DIMENSION),
313 
314   // The font family of the content info.
315   CONFIG_CONTENT_INFO_FONT_FAMILY(
316       PartnerConfigKey.KEY_CONTENT_INFO_FONT_FAMILY, ResourceType.STRING),
317 
318   // The text line spacing extra of the content info.
319   CONFIG_CONTENT_INFO_LINE_SPACING_EXTRA(
320       PartnerConfigKey.KEY_CONTENT_INFO_LINE_SPACING_EXTRA, ResourceType.DIMENSION),
321 
322   // The icon size of the content info.
323   CONFIG_CONTENT_INFO_ICON_SIZE(
324       PartnerConfigKey.KEY_CONTENT_INFO_ICON_SIZE, ResourceType.DIMENSION),
325 
326   // The icon margin end of the content info.
327   CONFIG_CONTENT_INFO_ICON_MARGIN_END(
328       PartnerConfigKey.KEY_CONTENT_INFO_ICON_MARGIN_END, ResourceType.DIMENSION),
329 
330   // The padding top of the content info.
331   CONFIG_CONTENT_INFO_PADDING_TOP(
332       PartnerConfigKey.KEY_CONTENT_INFO_PADDING_TOP, ResourceType.DIMENSION),
333 
334   // The padding bottom of the content info.
335   CONFIG_CONTENT_INFO_PADDING_BOTTOM(
336       PartnerConfigKey.KEY_CONTENT_INFO_PADDING_BOTTOM, ResourceType.DIMENSION),
337 
338   // The title text size of list items.
339   CONFIG_ITEMS_TITLE_TEXT_SIZE(PartnerConfigKey.KEY_ITEMS_TITLE_TEXT_SIZE, ResourceType.DIMENSION),
340 
341   // The summary text size of list items.
342   CONFIG_ITEMS_SUMMARY_TEXT_SIZE(
343       PartnerConfigKey.KEY_ITEMS_SUMMARY_TEXT_SIZE, ResourceType.DIMENSION),
344 
345   // The summary margin top of list items.
346   CONFIG_ITEMS_SUMMARY_MARGIN_TOP(
347       PartnerConfigKey.KEY_ITEMS_SUMMARY_MARGIN_TOP, ResourceType.DIMENSION),
348 
349   // The title font family of list items.
350   CONFIG_ITEMS_TITLE_FONT_FAMILY(PartnerConfigKey.KEY_ITEMS_TITLE_FONT_FAMILY, ResourceType.STRING),
351 
352   // The summary font family of list items.
353   CONFIG_ITEMS_SUMMARY_FONT_FAMILY(
354       PartnerConfigKey.KEY_ITEMS_SUMMARY_FONT_FAMILY, ResourceType.STRING),
355 
356   // The padding top of list items.
357   CONFIG_ITEMS_PADDING_TOP(PartnerConfigKey.KEY_ITEMS_PADDING_TOP, ResourceType.DIMENSION),
358 
359   // The padding bottom of list items.
360   CONFIG_ITEMS_PADDING_BOTTOM(PartnerConfigKey.KEY_ITEMS_PADDING_BOTTOM, ResourceType.DIMENSION),
361 
362   // The corner radius of list items group.
363   CONFIG_ITEMS_GROUP_CORNER_RADIUS(
364       PartnerConfigKey.KEY_ITEMS_GROUP_CORNER_RADIUS, ResourceType.DIMENSION),
365 
366   // The minimum height of list items.
367   CONFIG_ITEMS_MIN_HEIGHT(PartnerConfigKey.KEY_ITEMS_MIN_HEIGHT, ResourceType.DIMENSION),
368 
369   // The divider of list items are showing on the pages.
370   CONFIG_ITEMS_DIVIDER_SHOWN(PartnerConfigKey.KEY_ITEMS_DIVIDER_SHOWN, ResourceType.BOOL),
371 
372   // The intrinsic width of the card view for foldable/tablet.
373   CONFIG_CARD_VIEW_INTRINSIC_WIDTH(
374       PartnerConfigKey.KEY_CARD_VIEW_INTRINSIC_WIDTH, ResourceType.DIMENSION),
375 
376   // The intrinsic height of the card view for foldable/tablet.
377   CONFIG_CARD_VIEW_INTRINSIC_HEIGHT(
378       PartnerConfigKey.KEY_CARD_VIEW_INTRINSIC_HEIGHT, ResourceType.DIMENSION),
379 
380   // The animation of loading screen used in those activities which is non of below type.
381   CONFIG_PROGRESS_ILLUSTRATION_DEFAULT(
382       PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_DEFAULT, ResourceType.ILLUSTRATION),
383 
384   // The animation of loading screen used in those activity which is processing account info or
385   // related functions.
386   // For example:com.google.android.setupwizard.LOAD_ADD_ACCOUNT_INTENT
387   CONFIG_PROGRESS_ILLUSTRATION_ACCOUNT(
388       PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_ACCOUNT, ResourceType.ILLUSTRATION),
389 
390   // The animation of loading screen used in those activity which is processing data connection.
391   // For example:com.android.setupwizard.CAPTIVE_PORTAL
392   CONFIG_PROGRESS_ILLUSTRATION_CONNECTION(
393       PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_CONNECTION, ResourceType.ILLUSTRATION),
394 
395   // The animation of loading screen used in those activities which is updating device.
396   // For example:com.google.android.setupwizard.COMPAT_EARLY_UPDATE
397   CONFIG_PROGRESS_ILLUSTRATION_UPDATE(
398       PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_UPDATE, ResourceType.ILLUSTRATION),
399 
400   // The animation of loading screen used in those activities which is finishing setup.
401   // For example:com.google.android.setupwizard.FINAL_HOLD
402   CONFIG_PROGRESS_ILLUSTRATION_FINAL_HOLD(
403       PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_FINAL_HOLD, ResourceType.ILLUSTRATION),
404 
405   // The animation of loading screen to define how long showing on the pages.
406   CONFIG_PROGRESS_ILLUSTRATION_DISPLAY_MINIMUM_MS(
407       PartnerConfigKey.KEY_PROGRESS_ILLUSTRATION_DISPLAY_MINIMUM_MS, ResourceType.INTEGER),
408 
409   // The animation for S+ devices used in those screens waiting for non of below type.
410   CONFIG_LOADING_LOTTIE_DEFAULT(
411       PartnerConfigKey.KEY_LOADING_LOTTIE_DEFAULT, ResourceType.ILLUSTRATION),
412 
413   // The animation for S+ devices used in those screens which is processing account info or related
414   // functions.
415   // For example:com.google.android.setupwizard.LOAD_ADD_ACCOUNT_INTENT
416   CONFIG_LOADING_LOTTIE_ACCOUNT(
417       PartnerConfigKey.KEY_LOADING_LOTTIE_ACCOUNT, ResourceType.ILLUSTRATION),
418 
419   // The animation for S+ devices used in those screens which is processing data connection.
420   // For example:com.android.setupwizard.CAPTIVE_PORTAL
421   CONFIG_LOADING_LOTTIE_CONNECTION(
422       PartnerConfigKey.KEY_LOADING_LOTTIE_CONNECTION, ResourceType.ILLUSTRATION),
423 
424   // The animation for S+ devices used in those screens which is updating devices.
425   // For example:com.google.android.setupwizard.COMPAT_EARLY_UPDATE
426   CONFIG_LOADING_LOTTIE_UPDATE(
427       PartnerConfigKey.KEY_LOADING_LOTTIE_UPDATE, ResourceType.ILLUSTRATION),
428 
429   // The animation for S+ devices used in those screens which is updating devices.
430   // For example:com.google.android.setupwizard.COMPAT_EARLY_UPDATE
431   CONFIG_LOADING_LOTTIE_FINAL_HOLD(
432       PartnerConfigKey.KEY_LOADING_LOTTIE_FINAL_HOLD, ResourceType.ILLUSTRATION),
433 
434   // The transition type to decide the transition between activities or fragments.
435   CONFIG_TRANSITION_TYPE(PartnerConfigKey.KEY_TRANSITION_TYPE, ResourceType.INTEGER),
436 
437   // The list of keypath and color map, applied to default animation when light theme.
438   CONFIG_LOTTIE_LIGHT_THEME_CUSTOMIZATION_DEFAULT(
439       PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_DEFAULT, ResourceType.STRING_ARRAY),
440 
441   // The list of keypath and color map, applied to account animation when light theme.
442   CONFIG_LOTTIE_LIGHT_THEME_CUSTOMIZATION_ACCOUNT(
443       PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_ACCOUNT, ResourceType.STRING_ARRAY),
444 
445   // The list of keypath and color map, applied to connection animation when light theme.
446   CONFIG_LOTTIE_LIGHT_THEME_CUSTOMIZATION_CONNECTION(
447       PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_CONNECTION, ResourceType.STRING_ARRAY),
448 
449   // The list of keypath and color map, applied to update animation when light theme.
450   CONFIG_LOTTIE_LIGHT_THEME_CUSTOMIZATION_UPDATE(
451       PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_UPDATE, ResourceType.STRING_ARRAY),
452 
453   // The list of keypath and color map, applied to update animation when light theme.
454   CONFIG_LOTTIE_LIGHT_THEME_CUSTOMIZATION_FINAL_HOLD(
455       PartnerConfigKey.KEY_LOADING_LIGHT_THEME_CUSTOMIZATION_FINAL_HOLD, ResourceType.STRING_ARRAY),
456 
457   // The list of keypath and color map, applied to default animation when dark theme.
458   CONFIG_LOTTIE_DARK_THEME_CUSTOMIZATION_DEFAULT(
459       PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_DEFAULT, ResourceType.STRING_ARRAY),
460 
461   // The list of keypath and color map, applied to account animation when dark theme.
462   CONFIG_LOTTIE_DARK_THEME_CUSTOMIZATION_ACCOUNT(
463       PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_ACCOUNT, ResourceType.STRING_ARRAY),
464 
465   // The list of keypath and color map, applied to connection animation when dark theme.
466   CONFIG_LOTTIE_DARK_THEME_CUSTOMIZATION_CONNECTION(
467       PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_CONNECTION, ResourceType.STRING_ARRAY),
468 
469   // The list of keypath and color map, applied to update animation when dark theme.
470   CONFIG_LOTTIE_DARK_THEME_CUSTOMIZATION_UPDATE(
471       PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_UPDATE, ResourceType.STRING_ARRAY),
472 
473   // The list of keypath and color map, applied to final hold animation when dark theme.
474   CONFIG_LOTTIE_DARK_THEME_CUSTOMIZATION_FINAL_HOLD(
475       PartnerConfigKey.KEY_LOADING_DARK_THEME_CUSTOMIZATION_FINAL_HOLD, ResourceType.STRING_ARRAY),
476 
477   // The padding top of the content frame of loading layout.
478   CONFIG_LOADING_LAYOUT_PADDING_TOP(
479       PartnerConfigKey.KEY_LOADING_LAYOUT_CONTENT_PADDING_TOP, ResourceType.DIMENSION),
480 
481   // The padding start of the content frame of loading layout.
482   CONFIG_LOADING_LAYOUT_PADDING_START(
483       PartnerConfigKey.KEY_LOADING_LAYOUT_CONTENT_PADDING_START, ResourceType.DIMENSION),
484 
485   // The padding end of the content frame of loading layout.
486   CONFIG_LOADING_LAYOUT_PADDING_END(
487       PartnerConfigKey.KEY_LOADING_LAYOUT_CONTENT_PADDING_END, ResourceType.DIMENSION),
488 
489   // The padding bottom of the content frame of loading layout.
490   CONFIG_LOADING_LAYOUT_PADDING_BOTTOM(
491       PartnerConfigKey.KEY_LOADING_LAYOUT_CONTENT_PADDING_BOTTOM, ResourceType.DIMENSION),
492 
493   // The height of the header of the loading layout.
494   CONFIG_LOADING_LAYOUT_HEADER_HEIGHT(
495       PartnerConfigKey.KEY_LOADING_LAYOUT_HEADER_HEIGHT, ResourceType.DIMENSION),
496 
497   // Use the fullscreen style lottie animation.
498   CONFIG_LOADING_LAYOUT_FULL_SCREEN_ILLUSTRATION_ENABLED(
499       PartnerConfigKey.KEY_LOADING_LAYOUT_FULL_SCREEN_ILLUSTRATION_ENABLED, ResourceType.BOOL),
500 
501   // Waiting for the animation finished before process to the next page/action.
502   CONFIG_LOADING_LAYOUT_WAIT_FOR_ANIMATION_FINISHED(
503       PartnerConfigKey.KEY_LOADING_LAYOUT_WAIT_FOR_ANIMATION_FINISHED, ResourceType.BOOL),
504 
505   // The margin top of progress bar.
506   CONFIG_PROGRESS_BAR_MARGIN_TOP(
507       PartnerConfigKey.KEY_PROGRESS_BAR_MARGIN_TOP, ResourceType.DIMENSION),
508 
509   // The margin bottom of progress bar.
510   CONFIG_PROGRESS_BAR_MARGIN_BOTTOM(
511       PartnerConfigKey.KEY_PROGRESS_BAR_MARGIN_BOTTOM, ResourceType.DIMENSION),
512 
513   // The adapt window width to be part of determining two pane style condition
514   CONFIG_TWO_PANE_ADAPT_WINDOW_WIDTH(
515       PartnerConfigKey.KEY_TWO_PANE_ADAPT_WINDOW_WIDTH, ResourceType.INTEGER);
516 
517   /** Resource type of the partner resources type. */
518   public enum ResourceType {
519     INTEGER,
520     BOOL,
521     COLOR,
522     DRAWABLE,
523     STRING,
524     DIMENSION,
525     FRACTION,
526     ILLUSTRATION,
527     STRING_ARRAY
528   }
529 
530   private final String resourceName;
531   private final ResourceType resourceType;
532 
getResourceType()533   public ResourceType getResourceType() {
534     return resourceType;
535   }
536 
getResourceName()537   public String getResourceName() {
538     return resourceName;
539   }
540 
PartnerConfig(@artnerConfigKey String resourceName, ResourceType type)541   PartnerConfig(@PartnerConfigKey String resourceName, ResourceType type) {
542     this.resourceName = resourceName;
543     this.resourceType = type;
544   }
545 }
546