From d57d17ca969756e6b9792199e221df475a7537f9 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Fri, 25 Mar 2016 13:41:46 -0700 Subject: [PATCH] Assign a new wallpaper ID when a live wallpaper is set Bug 27851191 Change-Id: I5fc490e38d80e1b357ef44cdcabbad41c8bd9a93 --- .../android/server/wallpaper/WallpaperManagerService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java index fb9b1cec862a2..4848523bb3f0a 100644 --- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java @@ -1262,6 +1262,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { return null; } + @Override public void setWallpaperComponentChecked(ComponentName name, String callingPackage) { if (isWallpaperSupported(callingPackage) && isWallpaperSettingAllowed(callingPackage)) { setWallpaperComponent(name); @@ -1269,6 +1270,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { } // ToDo: Remove this version of the function + @Override public void setWallpaperComponent(ComponentName name) { checkPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT); synchronized (mLock) { @@ -1281,7 +1283,9 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { final long ident = Binder.clearCallingIdentity(); try { wallpaper.imageWallpaperPending = false; - bindWallpaperComponentLocked(name, false, true, wallpaper, null); + if (bindWallpaperComponentLocked(name, false, true, wallpaper, null)) { + wallpaper.wallpaperId = makeWallpaperIdLocked(); + } } finally { Binder.restoreCallingIdentity(ident); }