From 758c663e8fe43d9e9f659d77c43086f9bc04a087 Mon Sep 17 00:00:00 2001 From: Ching-Sung Li Date: Fri, 19 Feb 2021 17:33:35 +0800 Subject: [PATCH] Load defeault wallpaper based on device's CMF color Load default wallpaper based on device's CMF color in WallpaperManager. Fall back to default if wallpaper for corresponding color is not available. Bug: 178161042 Test: Build ROM and manual test Change-Id: I9da1254c64ab21e2a2cde53cc6f474a666eda1f6 --- core/java/android/app/WallpaperManager.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index d7587bdce9979..bd99348b235ad 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -117,6 +117,9 @@ public class WallpaperManager { private static final String PROP_LOCK_WALLPAPER = "ro.config.lock_wallpaper"; /** {@hide} */ private static final String PROP_WALLPAPER_COMPONENT = "ro.config.wallpaper_component"; + /** {@hide} */ + private static final String VALUE_CMF_COLOR = + android.os.SystemProperties.get("ro.boot.hardware.color"); /** * Activity Action: Show settings for choosing wallpaper. Do not use directly to construct @@ -2064,7 +2067,11 @@ public class WallpaperManager { return null; } else { whichProp = PROP_WALLPAPER; - defaultResId = com.android.internal.R.drawable.default_wallpaper; + final int defaultColorResId = context.getResources().getIdentifier( + "default_wallpaper_" + VALUE_CMF_COLOR, "drawable", "android"); + defaultResId = + defaultColorResId == 0 ? com.android.internal.R.drawable.default_wallpaper + : defaultColorResId; } final String path = SystemProperties.get(whichProp); if (!TextUtils.isEmpty(path)) {