From 829593dec48ecfea68dbe9e7fb78372758868b09 Mon Sep 17 00:00:00 2001 From: Ang Li <ihcinihsdk@google.com> Date: Thu, 16 May 2024 07:43:38 +0000 Subject: [PATCH] Extend RemoteViews color override to more colors. The one-pager link: go/material-you-color-extension. Note that this extension will have no effect for existing solutions where the extended color resources are not explicitly configured - that's because the implementation of RemoteViews specifies to use its original value if it fails to find an entry in the user-provided sparse array. Bug: 342005489 Change-Id: Ifd46fe882881e5a201bce0249ed8652313a330ce --- core/java/android/widget/RemoteViews.java | 3 +- .../values/colors.xml | 116 ++++++++++++++++++ .../values/public.xml | 116 ++++++++++++++++++ 3 files changed, 234 insertions(+), 1 deletion(-) diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java index 5430f8f6add3..4099e88f1c17 100644 --- a/core/java/android/widget/RemoteViews.java +++ b/core/java/android/widget/RemoteViews.java @@ -6661,7 +6661,8 @@ public class RemoteViews implements Parcelable, Filter { public static final class ColorResources { // Set of valid colors resources. private static final int FIRST_RESOURCE_COLOR_ID = android.R.color.system_neutral1_0; - private static final int LAST_RESOURCE_COLOR_ID = android.R.color.system_accent3_1000; + private static final int LAST_RESOURCE_COLOR_ID = + android.R.color.system_error_1000; // Size, in bytes, of an entry in the array of colors in an ARSC file. private static final int ARSC_ENTRY_SIZE = 16; diff --git a/core/res/remote_color_resources_res/values/colors.xml b/core/res/remote_color_resources_res/values/colors.xml index aff3a9592645..dcafb831809a 100644 --- a/core/res/remote_color_resources_res/values/colors.xml +++ b/core/res/remote_color_resources_res/values/colors.xml @@ -66,4 +66,120 @@ <color name="system_neutral2_800">#303030</color> <color name="system_neutral2_900">#1b1b1b</color> <color name="system_neutral2_1000">#000000</color> + <color name="system_primary_container_light">#DAE2FF</color> + <color name="system_on_primary_container_light">#001849</color> + <color name="system_primary_light">#495D92</color> + <color name="system_on_primary_light">#FFFFFF</color> + <color name="system_secondary_container_light">#DDE2F9</color> + <color name="system_on_secondary_container_light">#151B2C</color> + <color name="system_secondary_light">#585E71</color> + <color name="system_on_secondary_light">#FFFFFF</color> + <color name="system_tertiary_container_light">#FED6F9</color> + <color name="system_on_tertiary_container_light">#2B122B</color> + <color name="system_tertiary_light">#735471</color> + <color name="system_on_tertiary_light">#FFFFFF</color> + <color name="system_background_light">#FAF8FF</color> + <color name="system_on_background_light">#1A1B21</color> + <color name="system_surface_light">#FAF8FF</color> + <color name="system_on_surface_light">#1A1B21</color> + <color name="system_surface_container_low_light">#F4F3FA</color> + <color name="system_surface_container_lowest_light">#FFFFFF</color> + <color name="system_surface_container_light">#EEEDF4</color> + <color name="system_surface_container_high_light">#E8E7EF</color> + <color name="system_surface_container_highest_light">#E3E2E9</color> + <color name="system_surface_bright_light">#FAF8FF</color> + <color name="system_surface_dim_light">#DAD9E0</color> + <color name="system_surface_variant_light">#E1E2EC</color> + <color name="system_on_surface_variant_light">#45464F</color> + <color name="system_outline_light">#757780</color> + <color name="system_outline_variant_light">#C5C6D0</color> + <color name="system_error_light">#BA1A1A</color> + <color name="system_on_error_light">#FFFFFF</color> + <color name="system_error_container_light">#FFDAD6</color> + <color name="system_on_error_container_light">#410002</color> + <color name="system_control_activated_light">#DAE2FF</color> + <color name="system_control_normal_light">#45464F</color> + <color name="system_control_highlight_light">#000000</color> + <color name="system_text_primary_inverse_light">#E2E2E9</color> + <color name="system_text_secondary_and_tertiary_inverse_light">#C5C6D0</color> + <color name="system_text_primary_inverse_disable_only_light">#E3E2E9</color> + <color name="system_text_secondary_and_tertiary_inverse_disabled_light">#E3E2E9</color> + <color name="system_text_hint_inverse_light">#E3E2E9</color> + <color name="system_palette_key_color_primary_light">#6275AC</color> + <color name="system_palette_key_color_secondary_light">#71768B</color> + <color name="system_palette_key_color_tertiary_light">#8E6D8B</color> + <color name="system_palette_key_color_neutral_light">#76777D</color> + <color name="system_palette_key_color_neutral_variant_light">#767780</color> + <color name="system_primary_container_dark">#314578</color> + <color name="system_on_primary_container_dark">#DAE2FF</color> + <color name="system_primary_dark">#B2C5FF</color> + <color name="system_on_primary_dark">#182E60</color> + <color name="system_secondary_container_dark">#414659</color> + <color name="system_on_secondary_container_dark">#DDE2F9</color> + <color name="system_secondary_dark">#C0C6DD</color> + <color name="system_on_secondary_dark">#2A3042</color> + <color name="system_tertiary_container_dark">#5A3D59</color> + <color name="system_on_tertiary_container_dark">#FED6F9</color> + <color name="system_tertiary_dark">#E1BBDC</color> + <color name="system_on_tertiary_dark">#422741</color> + <color name="system_background_dark">#121318</color> + <color name="system_on_background_dark">#E3E2E9</color> + <color name="system_surface_dark">#121318</color> + <color name="system_on_surface_dark">#E3E2E9</color> + <color name="system_surface_container_low_dark">#1A1B21</color> + <color name="system_surface_container_lowest_dark">#0D0E13</color> + <color name="system_surface_container_dark">#1E1F25</color> + <color name="system_surface_container_high_dark">#292A2F</color> + <color name="system_surface_container_highest_dark">#33343A</color> + <color name="system_surface_bright_dark">#38393F</color> + <color name="system_surface_dim_dark">#121318</color> + <color name="system_surface_variant_dark">#45464F</color> + <color name="system_on_surface_variant_dark">#C5C6D0</color> + <color name="system_outline_dark">#8F909A</color> + <color name="system_outline_variant_dark">#45464F</color> + <color name="system_error_dark">#FFB4AB</color> + <color name="system_on_error_dark">#690005</color> + <color name="system_error_container_dark">#93000a</color> + <color name="system_on_error_container_dark">#FFDAD6</color> + <color name="system_control_activated_dark">#314578</color> + <color name="system_control_normal_dark">#C5C6D0</color> + <color name="system_control_highlight_dark">#FFFFFF</color> + <color name="system_text_primary_inverse_dark">#1A1B21</color> + <color name="system_text_secondary_and_tertiary_inverse_dark">#45464F</color> + <color name="system_text_primary_inverse_disable_only_dark">#1A1B21</color> + <color name="system_text_secondary_and_tertiary_inverse_disabled_dark">#1A1B21</color> + <color name="system_text_hint_inverse_dark">#1A1B21</color> + <color name="system_palette_key_color_primary_dark">#6275AC</color> + <color name="system_palette_key_color_secondary_dark">#71768B</color> + <color name="system_palette_key_color_tertiary_dark">#8E6D8B</color> + <color name="system_palette_key_color_neutral_dark">#76777D</color> + <color name="system_palette_key_color_neutral_variant_dark">#767780</color> + <color name="system_primary_fixed">#DAE2FF</color> + <color name="system_primary_fixed_dim">#B2C5FF</color> + <color name="system_on_primary_fixed">#001849</color> + <color name="system_on_primary_fixed_variant">#314578</color> + <color name="system_secondary_fixed">#DDE2F9</color> + <color name="system_secondary_fixed_dim">#C0C6DD</color> + <color name="system_on_secondary_fixed">#151B2C</color> + <color name="system_on_secondary_fixed_variant">#414659</color> + <color name="system_tertiary_fixed">#FED6F9</color> + <color name="system_tertiary_fixed_dim">#E1BBDC</color> + <color name="system_on_tertiary_fixed">#2B122B</color> + <color name="system_on_tertiary_fixed_variant">#5A3D59</color> + <color name="system_surface_disabled">#faf8ff</color> + <color name="system_on_surface_disabled">#1a1b21</color> + <color name="system_outline_disabled">#757780</color> + <color name="system_error_0">#ffffff</color> + <color name="system_error_10">#fffbf9</color> + <color name="system_error_50">#fceeee</color> + <color name="system_error_100">#f9dedc</color> + <color name="system_error_200">#f2b8b5</color> + <color name="system_error_300">#ec928e</color> + <color name="system_error_400">#e46962</color> + <color name="system_error_500">#dc362e</color> + <color name="system_error_600">#b3261e</color> + <color name="system_error_700">#8c1d18</color> + <color name="system_error_800">#601410</color> + <color name="system_error_900">#410e0b</color> + <color name="system_error_1000">#000000</color> </resources> diff --git a/core/res/remote_color_resources_res/values/public.xml b/core/res/remote_color_resources_res/values/public.xml index 4b0a89202ad1..d639ed69cfd7 100644 --- a/core/res/remote_color_resources_res/values/public.xml +++ b/core/res/remote_color_resources_res/values/public.xml @@ -66,5 +66,121 @@ <public name="system_neutral2_800" /> <public name="system_neutral2_900" /> <public name="system_neutral2_1000" /> + <public name="system_primary_container_light" /> + <public name="system_on_primary_container_light" /> + <public name="system_primary_light" /> + <public name="system_on_primary_light" /> + <public name="system_secondary_container_light" /> + <public name="system_on_secondary_container_light" /> + <public name="system_secondary_light" /> + <public name="system_on_secondary_light" /> + <public name="system_tertiary_container_light" /> + <public name="system_on_tertiary_container_light" /> + <public name="system_tertiary_light" /> + <public name="system_on_tertiary_light" /> + <public name="system_background_light" /> + <public name="system_on_background_light" /> + <public name="system_surface_light" /> + <public name="system_on_surface_light" /> + <public name="system_surface_container_low_light" /> + <public name="system_surface_container_lowest_light" /> + <public name="system_surface_container_light" /> + <public name="system_surface_container_high_light" /> + <public name="system_surface_container_highest_light" /> + <public name="system_surface_bright_light" /> + <public name="system_surface_dim_light" /> + <public name="system_surface_variant_light" /> + <public name="system_on_surface_variant_light" /> + <public name="system_outline_light" /> + <public name="system_error_light" /> + <public name="system_on_error_light" /> + <public name="system_error_container_light" /> + <public name="system_on_error_container_light" /> + <public name="system_control_activated_light" /> + <public name="system_control_normal_light" /> + <public name="system_control_highlight_light" /> + <public name="system_text_primary_inverse_light" /> + <public name="system_text_secondary_and_tertiary_inverse_light" /> + <public name="system_text_primary_inverse_disable_only_light" /> + <public name="system_text_secondary_and_tertiary_inverse_disabled_light" /> + <public name="system_text_hint_inverse_light" /> + <public name="system_palette_key_color_primary_light" /> + <public name="system_palette_key_color_secondary_light" /> + <public name="system_palette_key_color_tertiary_light" /> + <public name="system_palette_key_color_neutral_light" /> + <public name="system_palette_key_color_neutral_variant_light" /> + <public name="system_primary_container_dark" /> + <public name="system_on_primary_container_dark" /> + <public name="system_primary_dark" /> + <public name="system_on_primary_dark" /> + <public name="system_secondary_container_dark" /> + <public name="system_on_secondary_container_dark" /> + <public name="system_secondary_dark" /> + <public name="system_on_secondary_dark" /> + <public name="system_tertiary_container_dark" /> + <public name="system_on_tertiary_container_dark" /> + <public name="system_tertiary_dark" /> + <public name="system_on_tertiary_dark" /> + <public name="system_background_dark" /> + <public name="system_on_background_dark" /> + <public name="system_surface_dark" /> + <public name="system_on_surface_dark" /> + <public name="system_surface_container_low_dark" /> + <public name="system_surface_container_lowest_dark" /> + <public name="system_surface_container_dark" /> + <public name="system_surface_container_high_dark" /> + <public name="system_surface_container_highest_dark" /> + <public name="system_surface_bright_dark" /> + <public name="system_surface_dim_dark" /> + <public name="system_surface_variant_dark" /> + <public name="system_on_surface_variant_dark" /> + <public name="system_outline_dark" /> + <public name="system_error_dark" /> + <public name="system_on_error_dark" /> + <public name="system_error_container_dark" /> + <public name="system_on_error_container_dark" /> + <public name="system_control_activated_dark" /> + <public name="system_control_normal_dark" /> + <public name="system_control_highlight_dark" /> + <public name="system_text_primary_inverse_dark" /> + <public name="system_text_secondary_and_tertiary_inverse_dark" /> + <public name="system_text_primary_inverse_disable_only_dark" /> + <public name="system_text_secondary_and_tertiary_inverse_disabled_dark" /> + <public name="system_text_hint_inverse_dark" /> + <public name="system_palette_key_color_primary_dark" /> + <public name="system_palette_key_color_secondary_dark" /> + <public name="system_palette_key_color_tertiary_dark" /> + <public name="system_palette_key_color_neutral_dark" /> + <public name="system_palette_key_color_neutral_variant_dark" /> + <public name="system_primary_fixed" /> + <public name="system_primary_fixed_dim" /> + <public name="system_on_primary_fixed" /> + <public name="system_on_primary_fixed_variant" /> + <public name="system_secondary_fixed" /> + <public name="system_secondary_fixed_dim" /> + <public name="system_on_secondary_fixed" /> + <public name="system_on_secondary_fixed_variant" /> + <public name="system_tertiary_fixed" /> + <public name="system_tertiary_fixed_dim" /> + <public name="system_on_tertiary_fixed" /> + <public name="system_on_tertiary_fixed_variant" /> + <public name="system_outline_variant_light" /> + <public name="system_outline_variant_dark" /> + <public name="system_surface_disabled" /> + <public name="system_on_surface_disabled" /> + <public name="system_outline_disabled" /> + <public name="system_error_0" /> + <public name="system_error_10" /> + <public name="system_error_50" /> + <public name="system_error_100" /> + <public name="system_error_200" /> + <public name="system_error_300" /> + <public name="system_error_400" /> + <public name="system_error_500" /> + <public name="system_error_600" /> + <public name="system_error_700" /> + <public name="system_error_800" /> + <public name="system_error_900" /> + <public name="system_error_1000" /> </public-group> </resources> -- GitLab