diff options
| -rw-r--r-- | services/core/java/com/android/server/wallpaper/WallpaperManagerService.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java index f6f5341ff0a9..b963561dfd3c 100644 --- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java @@ -280,14 +280,6 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { Slog.v(TAG, "Crop done; invoking completion callback"); } wallpaper.imageWallpaperPending = false; - if (wallpaper.setComplete != null) { - try { - wallpaper.setComplete.onWallpaperChanged(); - } catch (RemoteException e) { - // if this fails we don't really care; the setting app may just - // have crashed and that sort of thing is a fact of life. - } - } if (sysWallpaperChanged) { // If this was the system wallpaper, rebind... bindWallpaperComponentLocked(mImageWallpaper, true, @@ -311,6 +303,16 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { } saveSettingsLocked(wallpaper.userId); + + // Publish completion *after* we've persisted the changes + if (wallpaper.setComplete != null) { + try { + wallpaper.setComplete.onWallpaperChanged(); + } catch (RemoteException e) { + // if this fails we don't really care; the setting app may just + // have crashed and that sort of thing is a fact of life. + } + } } } } |