diff options
author | 2021-02-19 17:33:35 +0800 | |
---|---|---|
committer | 2021-02-21 15:01:46 +0000 | |
commit | 758c663e8fe43d9e9f659d77c43086f9bc04a087 (patch) | |
tree | 7000a42a84aee397a73b855600980cde069e970b | |
parent | ee9b56d9bca5b1e0a996198cea040fc74e0b1c0f (diff) |
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
-rw-r--r-- | core/java/android/app/WallpaperManager.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index d7587bdce997..bd99348b235a 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)) { |