From 9c16e94552e3d9c30d9b83388b3a4ea1149b13e6 Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Wed, 26 Feb 2025 02:56:34 +0800 Subject: [PATCH] [Expressive design] Apply colors to homepage icons Bug: 396944193 Test: visual, robotest Flag: com.android.settingslib.widget.theme.flags.is_expressive_design_enabled Change-Id: I6ec24bdf8cb9a6f8454bd837daffe743b3b01526 --- .../ia_settings_communal_expressive.xml | 19 ++ .../ic_account_child_invert_expressive.xml | 19 ++ res/drawable/ic_apps_expressive.xml | 19 ++ res/drawable/ic_devices_other_expressive.xml | 19 ++ res/drawable/ic_help_expressive.xml | 19 ++ res/drawable/ic_homepage_about.xml | 2 +- res/drawable/ic_homepage_accessibility.xml | 2 +- res/drawable/ic_homepage_accounts.xml | 2 +- res/drawable/ic_homepage_apps.xml | 4 +- res/drawable/ic_homepage_battery.xml | 2 +- res/drawable/ic_homepage_connected_device.xml | 2 +- res/drawable/ic_homepage_display.xml | 2 +- res/drawable/ic_homepage_emergency.xml | 33 +++ res/drawable/ic_homepage_hub_mode.xml | 33 +++ res/drawable/ic_homepage_location.xml | 2 +- res/drawable/ic_homepage_modes.xml | 33 +++ res/drawable/ic_homepage_network.xml | 2 +- res/drawable/ic_homepage_notification.xml | 4 +- res/drawable/ic_homepage_privacy.xml | 33 +++ res/drawable/ic_homepage_safety_center.xml | 33 +++ res/drawable/ic_homepage_security.xml | 2 +- res/drawable/ic_homepage_sound.xml | 2 +- res/drawable/ic_homepage_storage.xml | 2 +- res/drawable/ic_homepage_supervision.xml | 33 +++ res/drawable/ic_homepage_support.xml | 2 +- res/drawable/ic_homepage_system_dashboard.xml | 2 +- res/drawable/ic_homepage_wallpaper.xml | 33 +++ res/drawable/ic_notifications_expressive.xml | 19 ++ .../ic_settings_about_device_expressive.xml | 19 ++ .../ic_settings_accessibility_expressive.xml | 19 ++ .../ic_settings_battery_expressive.xml | 19 ++ .../ic_settings_display_expressive.xml | 19 ++ .../ic_settings_emergency_expressive.xml | 19 ++ .../ic_settings_location_expressive.xml | 19 ++ .../ic_settings_passwords_expressive.xml | 19 ++ .../ic_settings_privacy_expressive.xml | 19 ++ .../ic_settings_safety_center_expressive.xml | 19 ++ .../ic_settings_security_expressive.xml | 19 ++ ...c_settings_system_dashboard_expressive.xml | 19 ++ .../ic_settings_wallpaper_expressive.xml | 19 ++ res/drawable/ic_settings_wallpaper_filled.xml | 16 +- .../ic_settings_wireless_expressive.xml | 19 ++ res/drawable/ic_storage_expressive.xml | 19 ++ res/drawable/ic_volume_up_expressive.xml | 19 ++ .../ic_zen_priority_modes_expressive.xml | 19 ++ res/xml/top_level_settings_expressive.xml | 269 ++++++++++++++++++ .../aboutphone/MyDeviceInfoScreen.kt | 11 +- .../android/settings/display/DisplayScreen.kt | 2 + .../batteryusage/PowerUsageSummaryScreen.kt | 11 +- .../settings/homepage/TopLevelSettings.java | 29 +- .../settings/location/LocationScreen.kt | 2 + .../network/NetworkDashboardScreen.kt | 2 + .../settings/notification/SoundScreen.kt | 2 + .../PowerUsageSummaryScreenTest.kt | 8 + 54 files changed, 995 insertions(+), 40 deletions(-) create mode 100644 res/drawable/ia_settings_communal_expressive.xml create mode 100644 res/drawable/ic_account_child_invert_expressive.xml create mode 100644 res/drawable/ic_apps_expressive.xml create mode 100644 res/drawable/ic_devices_other_expressive.xml create mode 100644 res/drawable/ic_help_expressive.xml create mode 100644 res/drawable/ic_homepage_emergency.xml create mode 100644 res/drawable/ic_homepage_hub_mode.xml create mode 100644 res/drawable/ic_homepage_modes.xml create mode 100644 res/drawable/ic_homepage_privacy.xml create mode 100644 res/drawable/ic_homepage_safety_center.xml create mode 100644 res/drawable/ic_homepage_supervision.xml create mode 100644 res/drawable/ic_homepage_wallpaper.xml create mode 100644 res/drawable/ic_notifications_expressive.xml create mode 100644 res/drawable/ic_settings_about_device_expressive.xml create mode 100644 res/drawable/ic_settings_accessibility_expressive.xml create mode 100644 res/drawable/ic_settings_battery_expressive.xml create mode 100644 res/drawable/ic_settings_display_expressive.xml create mode 100644 res/drawable/ic_settings_emergency_expressive.xml create mode 100644 res/drawable/ic_settings_location_expressive.xml create mode 100644 res/drawable/ic_settings_passwords_expressive.xml create mode 100644 res/drawable/ic_settings_privacy_expressive.xml create mode 100644 res/drawable/ic_settings_safety_center_expressive.xml create mode 100644 res/drawable/ic_settings_security_expressive.xml create mode 100644 res/drawable/ic_settings_system_dashboard_expressive.xml create mode 100644 res/drawable/ic_settings_wallpaper_expressive.xml create mode 100644 res/drawable/ic_settings_wireless_expressive.xml create mode 100644 res/drawable/ic_storage_expressive.xml create mode 100644 res/drawable/ic_volume_up_expressive.xml create mode 100644 res/drawable/ic_zen_priority_modes_expressive.xml create mode 100644 res/xml/top_level_settings_expressive.xml diff --git a/res/drawable/ia_settings_communal_expressive.xml b/res/drawable/ia_settings_communal_expressive.xml new file mode 100644 index 00000000000..13d999579c4 --- /dev/null +++ b/res/drawable/ia_settings_communal_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_account_child_invert_expressive.xml b/res/drawable/ic_account_child_invert_expressive.xml new file mode 100644 index 00000000000..e132b2b34bf --- /dev/null +++ b/res/drawable/ic_account_child_invert_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_apps_expressive.xml b/res/drawable/ic_apps_expressive.xml new file mode 100644 index 00000000000..f921ed21809 --- /dev/null +++ b/res/drawable/ic_apps_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_devices_other_expressive.xml b/res/drawable/ic_devices_other_expressive.xml new file mode 100644 index 00000000000..cb1183417ac --- /dev/null +++ b/res/drawable/ic_devices_other_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_help_expressive.xml b/res/drawable/ic_help_expressive.xml new file mode 100644 index 00000000000..b7978f8cf93 --- /dev/null +++ b/res/drawable/ic_help_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_homepage_about.xml b/res/drawable/ic_homepage_about.xml index 459ec934265..838526a10c9 100644 --- a/res/drawable/ic_homepage_about.xml +++ b/res/drawable/ic_homepage_about.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_settings_about_device" /> + android:drawable="@drawable/ic_settings_about_device_expressive" /> diff --git a/res/drawable/ic_homepage_accessibility.xml b/res/drawable/ic_homepage_accessibility.xml index 85d4be34873..cad8a6586f4 100644 --- a/res/drawable/ic_homepage_accessibility.xml +++ b/res/drawable/ic_homepage_accessibility.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_settings_accessibility" /> + android:drawable="@drawable/ic_settings_accessibility_expressive" /> diff --git a/res/drawable/ic_homepage_accounts.xml b/res/drawable/ic_homepage_accounts.xml index 3f4f3aba864..5fa3fc524a7 100644 --- a/res/drawable/ic_homepage_accounts.xml +++ b/res/drawable/ic_homepage_accounts.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_settings_accounts" /> + android:drawable="@drawable/ic_settings_passwords_expressive" /> diff --git a/res/drawable/ic_homepage_apps.xml b/res/drawable/ic_homepage_apps.xml index 24a580c3429..9ebfdf0ef39 100644 --- a/res/drawable/ic_homepage_apps.xml +++ b/res/drawable/ic_homepage_apps.xml @@ -21,7 +21,7 @@ + android:color="@color/homepage_apps_background" /> + android:drawable="@drawable/ic_apps_expressive" /> diff --git a/res/drawable/ic_homepage_battery.xml b/res/drawable/ic_homepage_battery.xml index 0a1f77ae9fb..d9b5658c5ba 100644 --- a/res/drawable/ic_homepage_battery.xml +++ b/res/drawable/ic_homepage_battery.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_settings_battery_white" /> + android:drawable="@drawable/ic_settings_battery_expressive" /> diff --git a/res/drawable/ic_homepage_connected_device.xml b/res/drawable/ic_homepage_connected_device.xml index a648c449fa3..42947edf796 100644 --- a/res/drawable/ic_homepage_connected_device.xml +++ b/res/drawable/ic_homepage_connected_device.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_devices_other" /> + android:drawable="@drawable/ic_devices_other_expressive" /> diff --git a/res/drawable/ic_homepage_display.xml b/res/drawable/ic_homepage_display.xml index 72db231516a..175bd4d4542 100644 --- a/res/drawable/ic_homepage_display.xml +++ b/res/drawable/ic_homepage_display.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_settings_display_white" /> + android:drawable="@drawable/ic_settings_display_expressive" /> diff --git a/res/drawable/ic_homepage_emergency.xml b/res/drawable/ic_homepage_emergency.xml new file mode 100644 index 00000000000..a18b738187b --- /dev/null +++ b/res/drawable/ic_homepage_emergency.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/res/drawable/ic_homepage_hub_mode.xml b/res/drawable/ic_homepage_hub_mode.xml new file mode 100644 index 00000000000..d887a7adea3 --- /dev/null +++ b/res/drawable/ic_homepage_hub_mode.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/res/drawable/ic_homepage_location.xml b/res/drawable/ic_homepage_location.xml index db6a791f1f3..13cb0e6b1cd 100644 --- a/res/drawable/ic_homepage_location.xml +++ b/res/drawable/ic_homepage_location.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_settings_location"/> + android:drawable="@drawable/ic_settings_location_expressive"/> diff --git a/res/drawable/ic_homepage_modes.xml b/res/drawable/ic_homepage_modes.xml new file mode 100644 index 00000000000..47f0cdbdc08 --- /dev/null +++ b/res/drawable/ic_homepage_modes.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/res/drawable/ic_homepage_network.xml b/res/drawable/ic_homepage_network.xml index 085a6885190..adf717f1f77 100644 --- a/res/drawable/ic_homepage_network.xml +++ b/res/drawable/ic_homepage_network.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_settings_wireless_white" /> + android:drawable="@drawable/ic_settings_wireless_expressive" /> diff --git a/res/drawable/ic_homepage_notification.xml b/res/drawable/ic_homepage_notification.xml index d8c8d6dcf3c..7723d210777 100644 --- a/res/drawable/ic_homepage_notification.xml +++ b/res/drawable/ic_homepage_notification.xml @@ -21,7 +21,7 @@ + android:color="@color/homepage_sound_background" /> + android:drawable="@drawable/ic_notifications_expressive" /> diff --git a/res/drawable/ic_homepage_privacy.xml b/res/drawable/ic_homepage_privacy.xml new file mode 100644 index 00000000000..d0df6d6dd2d --- /dev/null +++ b/res/drawable/ic_homepage_privacy.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/res/drawable/ic_homepage_safety_center.xml b/res/drawable/ic_homepage_safety_center.xml new file mode 100644 index 00000000000..86210580baf --- /dev/null +++ b/res/drawable/ic_homepage_safety_center.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/res/drawable/ic_homepage_security.xml b/res/drawable/ic_homepage_security.xml index 8a0673c5f7a..c9df4adb714 100644 --- a/res/drawable/ic_homepage_security.xml +++ b/res/drawable/ic_homepage_security.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_settings_security_white" /> + android:drawable="@drawable/ic_settings_security_expressive" /> diff --git a/res/drawable/ic_homepage_sound.xml b/res/drawable/ic_homepage_sound.xml index a15f4c634e5..f1ee284a381 100644 --- a/res/drawable/ic_homepage_sound.xml +++ b/res/drawable/ic_homepage_sound.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_volume_up_24dp" /> + android:drawable="@drawable/ic_volume_up_expressive" /> diff --git a/res/drawable/ic_homepage_storage.xml b/res/drawable/ic_homepage_storage.xml index 11032fa61ed..4182e9f8b16 100644 --- a/res/drawable/ic_homepage_storage.xml +++ b/res/drawable/ic_homepage_storage.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_storage_white" /> + android:drawable="@drawable/ic_storage_expressive" /> diff --git a/res/drawable/ic_homepage_supervision.xml b/res/drawable/ic_homepage_supervision.xml new file mode 100644 index 00000000000..4db57c0e613 --- /dev/null +++ b/res/drawable/ic_homepage_supervision.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/res/drawable/ic_homepage_support.xml b/res/drawable/ic_homepage_support.xml index 2e35e4f7d4a..ea4d12ba117 100644 --- a/res/drawable/ic_homepage_support.xml +++ b/res/drawable/ic_homepage_support.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_help" /> + android:drawable="@drawable/ic_help_expressive" /> diff --git a/res/drawable/ic_homepage_system_dashboard.xml b/res/drawable/ic_homepage_system_dashboard.xml index add12120ca2..77038d25782 100644 --- a/res/drawable/ic_homepage_system_dashboard.xml +++ b/res/drawable/ic_homepage_system_dashboard.xml @@ -29,5 +29,5 @@ android:height="@dimen/dashboard_tile_foreground_image_size" android:start="@dimen/dashboard_tile_foreground_image_inset" android:top="@dimen/dashboard_tile_foreground_image_inset" - android:drawable="@drawable/ic_settings_system_dashboard_white" /> + android:drawable="@drawable/ic_settings_system_dashboard_expressive" /> diff --git a/res/drawable/ic_homepage_wallpaper.xml b/res/drawable/ic_homepage_wallpaper.xml new file mode 100644 index 00000000000..96280ba5801 --- /dev/null +++ b/res/drawable/ic_homepage_wallpaper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/res/drawable/ic_notifications_expressive.xml b/res/drawable/ic_notifications_expressive.xml new file mode 100644 index 00000000000..c3c6189a9eb --- /dev/null +++ b/res/drawable/ic_notifications_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_about_device_expressive.xml b/res/drawable/ic_settings_about_device_expressive.xml new file mode 100644 index 00000000000..866dbb96142 --- /dev/null +++ b/res/drawable/ic_settings_about_device_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_accessibility_expressive.xml b/res/drawable/ic_settings_accessibility_expressive.xml new file mode 100644 index 00000000000..af66096866d --- /dev/null +++ b/res/drawable/ic_settings_accessibility_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_battery_expressive.xml b/res/drawable/ic_settings_battery_expressive.xml new file mode 100644 index 00000000000..35f82f1ed43 --- /dev/null +++ b/res/drawable/ic_settings_battery_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_display_expressive.xml b/res/drawable/ic_settings_display_expressive.xml new file mode 100644 index 00000000000..626c57fd2ce --- /dev/null +++ b/res/drawable/ic_settings_display_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_emergency_expressive.xml b/res/drawable/ic_settings_emergency_expressive.xml new file mode 100644 index 00000000000..585b3ac3295 --- /dev/null +++ b/res/drawable/ic_settings_emergency_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_location_expressive.xml b/res/drawable/ic_settings_location_expressive.xml new file mode 100644 index 00000000000..7b1da59a521 --- /dev/null +++ b/res/drawable/ic_settings_location_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_passwords_expressive.xml b/res/drawable/ic_settings_passwords_expressive.xml new file mode 100644 index 00000000000..51bc08676fd --- /dev/null +++ b/res/drawable/ic_settings_passwords_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_privacy_expressive.xml b/res/drawable/ic_settings_privacy_expressive.xml new file mode 100644 index 00000000000..1ea77e2a5ac --- /dev/null +++ b/res/drawable/ic_settings_privacy_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_safety_center_expressive.xml b/res/drawable/ic_settings_safety_center_expressive.xml new file mode 100644 index 00000000000..702269f6af3 --- /dev/null +++ b/res/drawable/ic_settings_safety_center_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_security_expressive.xml b/res/drawable/ic_settings_security_expressive.xml new file mode 100644 index 00000000000..a2dc8596361 --- /dev/null +++ b/res/drawable/ic_settings_security_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_system_dashboard_expressive.xml b/res/drawable/ic_settings_system_dashboard_expressive.xml new file mode 100644 index 00000000000..318bfa8525d --- /dev/null +++ b/res/drawable/ic_settings_system_dashboard_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_wallpaper_expressive.xml b/res/drawable/ic_settings_wallpaper_expressive.xml new file mode 100644 index 00000000000..f5de7a8c1dd --- /dev/null +++ b/res/drawable/ic_settings_wallpaper_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_settings_wallpaper_filled.xml b/res/drawable/ic_settings_wallpaper_filled.xml index cbcc3b2d5f6..a7a96e347fa 100644 --- a/res/drawable/ic_settings_wallpaper_filled.xml +++ b/res/drawable/ic_settings_wallpaper_filled.xml @@ -14,12 +14,12 @@ limitations under the License. --> - + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?android:attr/colorControlNormal"> + diff --git a/res/drawable/ic_settings_wireless_expressive.xml b/res/drawable/ic_settings_wireless_expressive.xml new file mode 100644 index 00000000000..2a39e3c433a --- /dev/null +++ b/res/drawable/ic_settings_wireless_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_storage_expressive.xml b/res/drawable/ic_storage_expressive.xml new file mode 100644 index 00000000000..9ecb98acbef --- /dev/null +++ b/res/drawable/ic_storage_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_volume_up_expressive.xml b/res/drawable/ic_volume_up_expressive.xml new file mode 100644 index 00000000000..d0752e37714 --- /dev/null +++ b/res/drawable/ic_volume_up_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/drawable/ic_zen_priority_modes_expressive.xml b/res/drawable/ic_zen_priority_modes_expressive.xml new file mode 100644 index 00000000000..910c0a8de7e --- /dev/null +++ b/res/drawable/ic_zen_priority_modes_expressive.xml @@ -0,0 +1,19 @@ + + diff --git a/res/xml/top_level_settings_expressive.xml b/res/xml/top_level_settings_expressive.xml new file mode 100644 index 00000000000..1a3fa8f5362 --- /dev/null +++ b/res/xml/top_level_settings_expressive.xml @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoScreen.kt b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoScreen.kt index 4e9a45776c3..a7285432e07 100644 --- a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoScreen.kt +++ b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoScreen.kt @@ -26,6 +26,7 @@ import com.android.settingslib.metadata.PreferenceSummaryProvider import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator +import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme @ProvidePreferenceScreen(MyDeviceInfoScreen.KEY) class MyDeviceInfoScreen : @@ -41,12 +42,12 @@ class MyDeviceInfoScreen : ?: Build.MODEL } - override fun getIcon(context: Context): Int { - return when (Flags.homepageRevamp()) { - true -> R.drawable.ic_settings_about_device_filled - false -> R.drawable.ic_settings_about_device + override fun getIcon(context: Context) = + when { + isExpressiveTheme(context) -> R.drawable.ic_homepage_about + Flags.homepageRevamp() -> R.drawable.ic_settings_about_device_filled + else -> R.drawable.ic_settings_about_device } - } override fun isFlagEnabled(context: Context) = Flags.catalystMyDeviceInfoPrefScreen() diff --git a/src/com/android/settings/display/DisplayScreen.kt b/src/com/android/settings/display/DisplayScreen.kt index 909e3004ba4..5e2ae3e59d2 100644 --- a/src/com/android/settings/display/DisplayScreen.kt +++ b/src/com/android/settings/display/DisplayScreen.kt @@ -29,6 +29,7 @@ import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator +import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme @ProvidePreferenceScreen(DisplayScreen.KEY) open class DisplayScreen : @@ -41,6 +42,7 @@ open class DisplayScreen : override fun getIcon(context: Context) = when { + isExpressiveTheme(context) -> R.drawable.ic_homepage_display Flags.homepageRevamp() -> R.drawable.ic_settings_display_filled else -> R.drawable.ic_settings_display_white } diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreen.kt b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreen.kt index 7dc7a773f9f..407ebaaf4f1 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreen.kt +++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreen.kt @@ -25,6 +25,7 @@ import com.android.settingslib.metadata.PreferenceIconProvider import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator +import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme @ProvidePreferenceScreen(PowerUsageSummaryScreen.KEY) class PowerUsageSummaryScreen : @@ -47,11 +48,11 @@ class PowerUsageSummaryScreen : override fun isAvailable(context: Context) = context.resources.getBoolean(R.bool.config_show_top_level_battery) - override fun getIcon(context: Context): Int = - if (Flags.homepageRevamp()) { - R.drawable.ic_settings_battery_filled - } else { - R.drawable.ic_settings_battery_white + override fun getIcon(context: Context) = + when { + isExpressiveTheme(context) -> R.drawable.ic_homepage_battery + Flags.homepageRevamp() -> R.drawable.ic_settings_battery_filled + else -> R.drawable.ic_settings_battery_white } override fun getPreferenceHierarchy(context: Context) = diff --git a/src/com/android/settings/homepage/TopLevelSettings.java b/src/com/android/settings/homepage/TopLevelSettings.java index 87e5560c959..dbd9ba90031 100644 --- a/src/com/android/settings/homepage/TopLevelSettings.java +++ b/src/com/android/settings/homepage/TopLevelSettings.java @@ -25,11 +25,13 @@ import android.content.Context; import android.content.res.Configuration; import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.provider.SearchIndexableResource; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.ViewGroup; +import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.Fragment; import androidx.preference.Preference; @@ -56,6 +58,9 @@ import com.android.settings.widget.HomepagePreferenceLayoutHelper.HomepagePrefer import com.android.settingslib.core.instrumentation.Instrumentable; import com.android.settingslib.drawer.Tile; import com.android.settingslib.search.SearchIndexable; +import com.android.settingslib.widget.SettingsThemeHelper; + +import java.util.List; @SearchIndexable(forTarget = MOBILE) public class TopLevelSettings extends DashboardFragment implements SplitLayoutListener, @@ -88,7 +93,7 @@ public class TopLevelSettings extends DashboardFragment implements SplitLayoutLi @Override protected int getPreferenceScreenResId() { - return Flags.homepageRevamp() ? R.xml.top_level_settings_v2 : R.xml.top_level_settings; + return getPreferenceLayoutResId(getContext()); } @Override @@ -392,11 +397,25 @@ public class TopLevelSettings extends DashboardFragment implements SplitLayoutLi void doForEach(Preference preference); } + private static int getPreferenceLayoutResId(Context context) { + return Flags.homepageRevamp() + ? SettingsThemeHelper.isExpressiveTheme(context) + ? R.xml.top_level_settings_expressive + : R.xml.top_level_settings_v2 + : R.xml.top_level_settings; + } + public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider( - Flags.homepageRevamp() - ? R.xml.top_level_settings_v2 - : R.xml.top_level_settings) { + new BaseSearchIndexProvider() { + + @Override + @NonNull + public List getXmlResourcesToIndex( + @NonNull Context context, boolean enabled) { + SearchIndexableResource sir = new SearchIndexableResource(context); + sir.xmlResId = getPreferenceLayoutResId(context); + return List.of(sir); + } @Override protected boolean isPageSearchEnabled(Context context) { diff --git a/src/com/android/settings/location/LocationScreen.kt b/src/com/android/settings/location/LocationScreen.kt index 1aed27a0314..a742f15e5e9 100644 --- a/src/com/android/settings/location/LocationScreen.kt +++ b/src/com/android/settings/location/LocationScreen.kt @@ -24,6 +24,7 @@ import com.android.settingslib.metadata.PreferenceSummaryProvider import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator +import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme @ProvidePreferenceScreen(LocationScreen.KEY) class LocationScreen : PreferenceScreenCreator, PreferenceSummaryProvider, PreferenceIconProvider { @@ -47,6 +48,7 @@ class LocationScreen : PreferenceScreenCreator, PreferenceSummaryProvider, Prefe override fun getIcon(context: Context) = when { + isExpressiveTheme(context) -> R.drawable.ic_homepage_location Flags.homepageRevamp() -> R.drawable.ic_settings_location_filled else -> R.drawable.ic_settings_location } diff --git a/src/com/android/settings/network/NetworkDashboardScreen.kt b/src/com/android/settings/network/NetworkDashboardScreen.kt index b80c4a124ed..1fa07a8dd8b 100644 --- a/src/com/android/settings/network/NetworkDashboardScreen.kt +++ b/src/com/android/settings/network/NetworkDashboardScreen.kt @@ -26,6 +26,7 @@ import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator +import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme @ProvidePreferenceScreen(NetworkDashboardScreen.KEY) class NetworkDashboardScreen : PreferenceScreenCreator, PreferenceIconProvider { @@ -37,6 +38,7 @@ class NetworkDashboardScreen : PreferenceScreenCreator, PreferenceIconProvider { override fun getIcon(context: Context) = when { + isExpressiveTheme(context) -> R.drawable.ic_homepage_network Flags.homepageRevamp() -> R.drawable.ic_settings_wireless_filled else -> R.drawable.ic_settings_wireless } diff --git a/src/com/android/settings/notification/SoundScreen.kt b/src/com/android/settings/notification/SoundScreen.kt index 44034cc7dd8..e9bfb0caed0 100644 --- a/src/com/android/settings/notification/SoundScreen.kt +++ b/src/com/android/settings/notification/SoundScreen.kt @@ -26,6 +26,7 @@ import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator +import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme @ProvidePreferenceScreen(SoundScreen.KEY) class SoundScreen : PreferenceScreenCreator, PreferenceIconProvider { @@ -40,6 +41,7 @@ class SoundScreen : PreferenceScreenCreator, PreferenceIconProvider { override fun getIcon(context: Context) = when { + isExpressiveTheme(context) -> R.drawable.ic_homepage_sound Flags.homepageRevamp() -> R.drawable.ic_volume_up_filled else -> R.drawable.ic_volume_up_24dp } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreenTest.kt b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreenTest.kt index 80a6b2ef8f3..e1d7e972e46 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreenTest.kt +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreenTest.kt @@ -74,6 +74,14 @@ class PowerUsageSummaryScreenTest : CatalystScreenTestCase() { } @Test + @EnableFlags(com.android.settingslib.widget.theme.flags.Flags.FLAG_IS_EXPRESSIVE_DESIGN_ENABLED) + fun getIcon_isExpressiveTheme() { + assertThat(preferenceScreenCreator.getIcon(context)) + .isEqualTo(R.drawable.ic_homepage_battery) + } + + @Test + @DisableFlags(com.android.settingslib.widget.theme.flags.Flags.FLAG_IS_EXPRESSIVE_DESIGN_ENABLED) @EnableFlags(Flags.FLAG_HOMEPAGE_REVAMP) fun getIcon_whenHomePageRevampFlagOn() { assertThat(preferenceScreenCreator.getIcon(context))