From db4dce333d4405000cc04002dd5d03bf6395bc7f Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Tue, 14 Sep 2021 15:21:37 +0800 Subject: [PATCH] Prevent WallpaperManager#getBitmap return recycled bitmap. The returned bitmap object could be recycled from client, check isRecycled and re-create a new bitmap object if needed. Bug: 176573309 Test: atest WallpaperManagerTests Change-Id: I71d99d21836b73c93979685f3f7a6f49ba0df3e4 --- core/java/android/app/WallpaperManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index edfbf1a29f5af..758318e2b2dfd 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -562,7 +562,7 @@ public class WallpaperManager { } if (returnDefault) { Bitmap defaultWallpaper = mDefaultWallpaper; - if (defaultWallpaper == null) { + if (defaultWallpaper == null || defaultWallpaper.isRecycled()) { defaultWallpaper = getDefaultWallpaper(context, which); synchronized (this) { mDefaultWallpaper = defaultWallpaper;