From 4670d37e55c65caa46d6ec45be137028ff355aba Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Thu, 18 Nov 2021 15:57:28 +0000 Subject: [PATCH] Check if ThumbnailData's bitmap is null in TaskThumbnailCache - This makes sure TaskThumbnailCache fetch for thumbnail when its Bitamp is null Fix: 206959035 Test: See steps in b/206959035 Change-Id: I03b574b0f8cc7390a8cad618bd810f44f0dee279 --- quickstep/src/com/android/quickstep/TaskThumbnailCache.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/quickstep/TaskThumbnailCache.java b/quickstep/src/com/android/quickstep/TaskThumbnailCache.java index eaa43cfd9c..3175ba8463 100644 --- a/quickstep/src/com/android/quickstep/TaskThumbnailCache.java +++ b/quickstep/src/com/android/quickstep/TaskThumbnailCache.java @@ -134,7 +134,8 @@ public class TaskThumbnailCache { Preconditions.assertUIThread(); boolean lowResolution = !mHighResLoadingState.isEnabled(); - if (task.thumbnail != null && (!task.thumbnail.reducedResolution || lowResolution)) { + if (task.thumbnail != null && task.thumbnail.thumbnail != null + && (!task.thumbnail.reducedResolution || lowResolution)) { // Nothing to load, the thumbnail is already high-resolution or matches what the // request, so just callback callback.accept(task.thumbnail); @@ -152,7 +153,8 @@ public class TaskThumbnailCache { Preconditions.assertUIThread(); ThumbnailData cachedThumbnail = mCache.getAndInvalidateIfModified(key); - if (cachedThumbnail != null && (!cachedThumbnail.reducedResolution || lowResolution)) { + if (cachedThumbnail != null && cachedThumbnail.thumbnail != null + && (!cachedThumbnail.reducedResolution || lowResolution)) { // Already cached, lets use that thumbnail callback.accept(cachedThumbnail); return null;