diff options
| author | 2017-08-30 18:54:19 +0000 | |
|---|---|---|
| committer | 2017-08-30 18:54:19 +0000 | |
| commit | 367bbff6881d47dd4a56dcbd4dbce958d098982b (patch) | |
| tree | f47969e26c3c714eb042ec61baf10e1fef67058d | |
| parent | 063d5e871ac83b99399067ca05854181a6b462e8 (diff) | |
| parent | b00a8aa68831759a2097d2366c9b239904d31dbc (diff) | |
Merge "Setting a wallpaper must be synchronous" into oc-mr1-dev
am: b00a8aa688
Change-Id: I71cc12349dd80bbb8b0a6776c3e8846baa3dd501
| -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. + } + } } } } |