summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/WallpaperManagerService.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/services/java/com/android/server/WallpaperManagerService.java b/services/java/com/android/server/WallpaperManagerService.java
index a0e28ed47f97..7fa404e85494 100644
--- a/services/java/com/android/server/WallpaperManagerService.java
+++ b/services/java/com/android/server/WallpaperManagerService.java
@@ -102,7 +102,7 @@ class WallpaperManagerService extends IWallpaperManager.Stub {
* everytime the wallpaper is changed.
*/
private final FileObserver mWallpaperObserver = new FileObserver(
- WALLPAPER_DIR.getAbsolutePath(), CREATE | CLOSE_WRITE | DELETE | DELETE_SELF) {
+ WALLPAPER_DIR.getAbsolutePath(), CLOSE_WRITE | DELETE | DELETE_SELF) {
@Override
public void onEvent(int event, String path) {
if (path == null) {
@@ -118,8 +118,11 @@ class WallpaperManagerService extends IWallpaperManager.Stub {
File changedFile = new File(WALLPAPER_DIR, path);
if (WALLPAPER_FILE.equals(changedFile)) {
notifyCallbacksLocked();
- if (mWallpaperComponent == null || mImageWallpaperPending) {
- mImageWallpaperPending = false;
+ if (mWallpaperComponent == null || event != CLOSE_WRITE
+ || mImageWallpaperPending) {
+ if (event == CLOSE_WRITE) {
+ mImageWallpaperPending = false;
+ }
bindWallpaperComponentLocked(mImageWallpaperComponent,
true, false);
saveSettingsLocked();