diff options
| -rw-r--r-- | core/java/android/app/WallpaperManager.java | 3 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/ImageWallpaper.java | 8 |
2 files changed, 3 insertions, 8 deletions
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index 465340f6e5eb..17bc6eab8012 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -401,7 +401,8 @@ public class WallpaperManager { } } synchronized (this) { - if (mCachedWallpaper != null && mCachedWallpaperUserId == userId) { + if (mCachedWallpaper != null && mCachedWallpaperUserId == userId + && !mCachedWallpaper.isRecycled()) { return mCachedWallpaper; } mCachedWallpaper = null; diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java index a4f8d8c1bcd2..b8a57bfe885a 100644 --- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java +++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java @@ -444,13 +444,7 @@ public class ImageWallpaper extends WallpaperService { final Surface surface = getSurfaceHolder().getSurface(); surface.hwuiDestroy(); - mLoader = new AsyncTask<Void, Void, Bitmap>() { - @Override - protected Bitmap doInBackground(Void... params) { - mWallpaperManager.forgetLoadedWallpaper(); - return null; - } - }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + mWallpaperManager.forgetLoadedWallpaper(); } private void scheduleUnloadWallpaper() { |