From 5c84edacf09bb57396a67f6e28f1059450ed5745 Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Tue, 10 Aug 2021 15:39:14 +0800 Subject: [PATCH] Replace private attributes with public resources. The change replaces all existing usage of private resources in SettingsLib with corresponding public resources. The only exception is android:string/config_headlineFontFamily where there's no proper replaccement. The library is currently used by bundled apps (such as SettingsGoogle) and unbundled apps (such as PermissionController and CellBroadcastReceiver). Since we still want these bundled apps to reference config_headlineFontFamily properly while not breaking unbundled apps due to them referencing private attributes, we added a new attribute settingslib_config_headlineFontFamily (alongside with other FontFamily variance for completeness) in SettingsTheme/res/values-v31/strings.xml which points to config_headlineFontFamily by default. Then, in separate CLs, we will add resource overrides to these unbundled apps to replace the value of settingslib_config_headlineFontFamily to point to a public value. While this means that the style of the pages from the unbundled apps will be different from the rest of SettingsLib clients, the change provides a tactical fix to make sure that these unbundled apps won't crash when shipped to other devices. We can address the issue at its core by potentially exposing some private resources in future Android releases. Bug: 191387775 Bug: 190964071 Bug: 196106314 Test: manual test to confirm this is a no-op CL. Change-Id: Ie25950d9f54964aa40038a27b302ed017e4e4d15 --- .../res/values-v31/styles.xml | 8 ++-- .../res/values/styles.xml | 5 +-- .../BarChartPreference/res/values/styles.xml | 6 +-- .../CollapsingToolbarBaseActivity/Android.bp | 1 + .../collapsing_toolbar_base_layout.xml | 3 +- .../themes.xml | 4 +- .../res/{values => values-v31}/dimens.xml | 0 .../res/{values => values-v31}/styles.xml | 2 +- .../res/{values => values-v31}/themes.xml | 4 +- .../FooterPreference/res/values/styles.xml | 3 +- .../LayoutPreference/res/values/styles.xml | 5 +-- .../settingslib_switch_bar_bg_disabled.xml | 0 .../settingslib_switch_bar_bg_off.xml | 0 .../settingslib_switch_bar_bg_on.xml | 0 .../settingslib_main_switch_bar.xml | 2 +- .../layout/settingslib_main_switch_bar.xml | 4 +- .../res/values-v31/dimens.xml | 37 +++++++++++++++++++ .../res/values-v31/styles.xml | 25 +++++++++++++ .../res/values/dimens.xml | 22 +---------- .../res/values/styles.xml | 9 +---- .../color-v31/settingslib_surface_light.xml | 18 +++++++++ .../res/values-night-v31/colors.xml | 5 +++ .../SettingsTheme/res/values-v31/colors.xml | 23 +++++++++++- .../SettingsTheme/res/values-v31/dimens.xml | 1 + .../SettingsTheme/res/values-v31/strings.xml | 37 +++++++++++++++++++ .../SettingsTheme/res/values-v31/styles.xml | 8 +++- .../SettingsTheme/res/values-v31/themes.xml | 2 +- .../SettingsTheme/res/values/dimens.xml | 1 + .../SettingsTheme/res/values/themes.xml | 2 +- .../TopIntroPreference/res/values/styles.xml | 3 +- 30 files changed, 180 insertions(+), 60 deletions(-) rename packages/SettingsLib/CollapsingToolbarBaseActivity/res/{values-night => values-night-v31}/themes.xml (82%) rename packages/SettingsLib/CollapsingToolbarBaseActivity/res/{values => values-v31}/dimens.xml (100%) rename packages/SettingsLib/CollapsingToolbarBaseActivity/res/{values => values-v31}/styles.xml (90%) rename packages/SettingsLib/CollapsingToolbarBaseActivity/res/{values => values-v31}/themes.xml (82%) rename packages/SettingsLib/MainSwitchPreference/res/{drawable => drawable-v31}/settingslib_switch_bar_bg_disabled.xml (100%) rename packages/SettingsLib/MainSwitchPreference/res/{drawable => drawable-v31}/settingslib_switch_bar_bg_off.xml (100%) rename packages/SettingsLib/MainSwitchPreference/res/{drawable => drawable-v31}/settingslib_switch_bar_bg_on.xml (100%) create mode 100644 packages/SettingsLib/MainSwitchPreference/res/values-v31/dimens.xml create mode 100644 packages/SettingsLib/MainSwitchPreference/res/values-v31/styles.xml create mode 100644 packages/SettingsLib/SettingsTheme/res/color-v31/settingslib_surface_light.xml create mode 100644 packages/SettingsLib/SettingsTheme/res/values-v31/strings.xml diff --git a/packages/SettingsLib/BannerMessagePreference/res/values-v31/styles.xml b/packages/SettingsLib/BannerMessagePreference/res/values-v31/styles.xml index e74ac44ec8a48..fede44feb090c 100644 --- a/packages/SettingsLib/BannerMessagePreference/res/values-v31/styles.xml +++ b/packages/SettingsLib/BannerMessagePreference/res/values-v31/styles.xml @@ -33,18 +33,18 @@ @@ -58,4 +58,4 @@ parent="android:Widget.DeviceDefault.Button.Borderless.Colored"> ?android:attr/colorAccent - \ No newline at end of file + diff --git a/packages/SettingsLib/BannerMessagePreference/res/values/styles.xml b/packages/SettingsLib/BannerMessagePreference/res/values/styles.xml index df47c642e4020..4c6ed58f4a58e 100644 --- a/packages/SettingsLib/BannerMessagePreference/res/values/styles.xml +++ b/packages/SettingsLib/BannerMessagePreference/res/values/styles.xml @@ -17,14 +17,13 @@ diff --git a/packages/SettingsLib/BarChartPreference/res/values/styles.xml b/packages/SettingsLib/BarChartPreference/res/values/styles.xml index 7a3fb7d9386ea..d1f562b38760c 100644 --- a/packages/SettingsLib/BarChartPreference/res/values/styles.xml +++ b/packages/SettingsLib/BarChartPreference/res/values/styles.xml @@ -85,9 +85,9 @@ diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp b/packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp index 2f911c4e65466..238e65ec9a3c1 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp @@ -19,6 +19,7 @@ android_library { "com.google.android.material_material", "SettingsLibSettingsTransition", "SettingsLibUtils", + "SettingsLibSettingsTheme", ], sdk_version: "system_current", min_sdk_version: "29", diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/collapsing_toolbar_base_layout.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/collapsing_toolbar_base_layout.xml index 59506564400b6..907863e19972d 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/collapsing_toolbar_base_layout.xml +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/collapsing_toolbar_base_layout.xml @@ -16,7 +16,6 @@ --> true ?attr/colorPrimary - @*android:color/primary_dark_device_default_settings - @*android:color/accent_device_default_dark + @color/settingslib_primary_dark_device_default_settings + @color/settingslib_accent_device_default_dark \ No newline at end of file diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values/dimens.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v31/dimens.xml similarity index 100% rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/values/dimens.xml rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v31/dimens.xml diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values/styles.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v31/styles.xml similarity index 90% rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/values/styles.xml rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v31/styles.xml index 63d397c69353b..bda51b5160c8a 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values/styles.xml +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v31/styles.xml @@ -16,7 +16,7 @@ --> diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values/themes.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v31/themes.xml similarity index 82% rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/values/themes.xml rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v31/themes.xml index 2e7a6a9181fe5..9ecc297c6d365 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values/themes.xml +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v31/themes.xml @@ -18,7 +18,7 @@ \ No newline at end of file diff --git a/packages/SettingsLib/FooterPreference/res/values/styles.xml b/packages/SettingsLib/FooterPreference/res/values/styles.xml index 08dd35991f690..5a3bada3e5946 100644 --- a/packages/SettingsLib/FooterPreference/res/values/styles.xml +++ b/packages/SettingsLib/FooterPreference/res/values/styles.xml @@ -17,9 +17,8 @@ \ No newline at end of file diff --git a/packages/SettingsLib/LayoutPreference/res/values/styles.xml b/packages/SettingsLib/LayoutPreference/res/values/styles.xml index 4a99e845a5fc9..2ffe6d91651bb 100644 --- a/packages/SettingsLib/LayoutPreference/res/values/styles.xml +++ b/packages/SettingsLib/LayoutPreference/res/values/styles.xml @@ -24,14 +24,13 @@ + diff --git a/packages/SettingsLib/MainSwitchPreference/res/values/dimens.xml b/packages/SettingsLib/MainSwitchPreference/res/values/dimens.xml index 16b8af6a2dab1..6362882e23320 100644 --- a/packages/SettingsLib/MainSwitchPreference/res/values/dimens.xml +++ b/packages/SettingsLib/MainSwitchPreference/res/values/dimens.xml @@ -1,6 +1,6 @@ - 16dp - - - 24dp - - - 16dp - - - 52dp - - - 72dp - - @*android:dimen/config_restrictedIconSize + @android:dimen/config_restrictedIconSize 16dp - - 28dp - 16dp diff --git a/packages/SettingsLib/MainSwitchPreference/res/values/styles.xml b/packages/SettingsLib/MainSwitchPreference/res/values/styles.xml index 3924e301a2d39..870812ae6caf9 100644 --- a/packages/SettingsLib/MainSwitchPreference/res/values/styles.xml +++ b/packages/SettingsLib/MainSwitchPreference/res/values/styles.xml @@ -1,6 +1,6 @@ + + + \ No newline at end of file diff --git a/packages/SettingsLib/SettingsTheme/res/values-night-v31/colors.xml b/packages/SettingsLib/SettingsTheme/res/values-night-v31/colors.xml index 8c7c7ed5b1206..e8fd4b24b629e 100644 --- a/packages/SettingsLib/SettingsTheme/res/values-night-v31/colors.xml +++ b/packages/SettingsLib/SettingsTheme/res/values-night-v31/colors.xml @@ -36,4 +36,9 @@ #f28b82 @android:color/system_neutral1_700 + + @android:color/system_neutral1_700 + + + @android:color/system_accent1_300 \ No newline at end of file diff --git a/packages/SettingsLib/SettingsTheme/res/values-v31/colors.xml b/packages/SettingsLib/SettingsTheme/res/values-v31/colors.xml index 77f1bcd173717..0f20ec326e74d 100644 --- a/packages/SettingsLib/SettingsTheme/res/values-v31/colors.xml +++ b/packages/SettingsLib/SettingsTheme/res/values-v31/colors.xml @@ -37,9 +37,30 @@ @android:color/system_accent1_600 - @*android:color/surface_light + @color/settingslib_surface_light #d93025 @android:color/system_neutral2_100 + + @android:color/system_neutral1_100 + + @android:color/system_accent1_100 + + @android:color/system_accent1_600 + + @android:color/system_neutral1_900 + + @android:color/system_neutral1_50 + + @android:color/system_accent1_100 + + + @android:color/system_accent1_600 + + @android:color/system_accent2_100 + + @android:color/system_neutral1_900 + + @android:color/system_neutral1_50 diff --git a/packages/SettingsLib/SettingsTheme/res/values-v31/dimens.xml b/packages/SettingsLib/SettingsTheme/res/values-v31/dimens.xml index ddcc83eee4bf2..1c33f1a57ea58 100644 --- a/packages/SettingsLib/SettingsTheme/res/values-v31/dimens.xml +++ b/packages/SettingsLib/SettingsTheme/res/values-v31/dimens.xml @@ -19,4 +19,5 @@ 20dp 52dp 48dp + 28dp diff --git a/packages/SettingsLib/SettingsTheme/res/values-v31/strings.xml b/packages/SettingsLib/SettingsTheme/res/values-v31/strings.xml new file mode 100644 index 0000000000000..6d072a936b156 --- /dev/null +++ b/packages/SettingsLib/SettingsTheme/res/values-v31/strings.xml @@ -0,0 +1,37 @@ + + + + + + + @*android:string/config_headlineFontFamily + + + + + @*android:string/config_headlineFontFamilyMedium + + + + + @*android:string/config_bodyFontFamily + + + + + @*android:string/config_bodyFontFamilyMedium + + diff --git a/packages/SettingsLib/SettingsTheme/res/values-v31/styles.xml b/packages/SettingsLib/SettingsTheme/res/values-v31/styles.xml index 46f1e030af235..58006369988eb 100644 --- a/packages/SettingsLib/SettingsTheme/res/values-v31/styles.xml +++ b/packages/SettingsLib/SettingsTheme/res/values-v31/styles.xml @@ -16,12 +16,16 @@ --> \ No newline at end of file diff --git a/packages/SettingsLib/SettingsTheme/res/values/dimens.xml b/packages/SettingsLib/SettingsTheme/res/values/dimens.xml index 25f9514c29b7d..18af1f9c15d0d 100644 --- a/packages/SettingsLib/SettingsTheme/res/values/dimens.xml +++ b/packages/SettingsLib/SettingsTheme/res/values/dimens.xml @@ -20,4 +20,5 @@ ?android:attr/listPreferredItemPaddingStart 56dp 72dp + 8dp diff --git a/packages/SettingsLib/SettingsTheme/res/values/themes.xml b/packages/SettingsLib/SettingsTheme/res/values/themes.xml index 6f2517746ddc6..2d881d1a8a7b3 100644 --- a/packages/SettingsLib/SettingsTheme/res/values/themes.xml +++ b/packages/SettingsLib/SettingsTheme/res/values/themes.xml @@ -35,7 +35,7 @@ adjustResize true diff --git a/packages/SettingsLib/TopIntroPreference/res/values/styles.xml b/packages/SettingsLib/TopIntroPreference/res/values/styles.xml index 65869b5580b53..b6ca41fb6b6d9 100644 --- a/packages/SettingsLib/TopIntroPreference/res/values/styles.xml +++ b/packages/SettingsLib/TopIntroPreference/res/values/styles.xml @@ -16,8 +16,7 @@ -->