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
Loading
Please register or sign in to comment