Fix issue #5342788: Setting wallpaper from gallery set default...

...wallpaper first time IRK81.

We were monitoring for file creates when those are not needed, and
receiving the initial file create was causing us to be confused.

Change-Id: Iccd3b7492c82895dba87f25c4881c538f300d342
This commit is contained in:
Dianne Hackborn
2011-10-21 12:29:10 -07:00
parent 0d6ff01050
commit 3da318202f

View File

@ -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();