From b853ff5edd522dbcf6782b53e74a97d8f5ee12b3 Mon Sep 17 00:00:00 2001 From: Uwais Ashraf Date: Wed, 15 Jan 2025 08:03:50 +0000 Subject: [PATCH] Add nullable annotation to getAndInvalidateIfModified which returns null Fix: 389069343 Flag: com.android.launcher3.enable_refactor_task_thumbnail Flag: com.android.launcher3.enable_grid_only_overview Test: Code compiles after adding @Nullable annotation Change-Id: I692b260eeabb2d69d6daa6ef91d1ab063ab0fe72 --- quickstep/src/com/android/quickstep/TaskThumbnailCache.kt | 2 +- .../android/quickstep/util/TaskKeyByLastActiveTimeCache.java | 2 ++ quickstep/src/com/android/quickstep/util/TaskKeyCache.java | 3 +++ quickstep/src/com/android/quickstep/util/TaskKeyLruCache.java | 3 +++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/quickstep/TaskThumbnailCache.kt b/quickstep/src/com/android/quickstep/TaskThumbnailCache.kt index 7b56213454..1d880ab6a9 100644 --- a/quickstep/src/com/android/quickstep/TaskThumbnailCache.kt +++ b/quickstep/src/com/android/quickstep/TaskThumbnailCache.kt @@ -119,7 +119,7 @@ internal constructor( highResLoadingState.isEnabled ) { val newCachedThumbnail = cache.getAndInvalidateIfModified(task.key) - if (newCachedThumbnail.thumbnail != null && !newCachedThumbnail.reducedResolution) { + if (newCachedThumbnail?.thumbnail != null && !newCachedThumbnail.reducedResolution) { return newCachedThumbnail } } diff --git a/quickstep/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCache.java b/quickstep/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCache.java index 69137cc1b6..43ef39c256 100644 --- a/quickstep/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCache.java +++ b/quickstep/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCache.java @@ -17,6 +17,7 @@ package com.android.quickstep.util; import android.util.Log; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import com.android.systemui.shared.recents.model.Task; @@ -94,6 +95,7 @@ public class TaskKeyByLastActiveTimeCache implements TaskKeyCache { * Gets the entry if it is still valid */ @Override + @Nullable public synchronized V getAndInvalidateIfModified(Task.TaskKey key) { Entry entry = mMap.get(key.id); if (entry != null && entry.mKey.windowingMode == key.windowingMode diff --git a/quickstep/src/com/android/quickstep/util/TaskKeyCache.java b/quickstep/src/com/android/quickstep/util/TaskKeyCache.java index 8ee78ab0ba..9df0993a7b 100644 --- a/quickstep/src/com/android/quickstep/util/TaskKeyCache.java +++ b/quickstep/src/com/android/quickstep/util/TaskKeyCache.java @@ -15,6 +15,8 @@ */ package com.android.quickstep.util; +import androidx.annotation.Nullable; + import com.android.systemui.shared.recents.model.Task; import java.util.function.Predicate; @@ -44,6 +46,7 @@ public interface TaskKeyCache { /** * Gets the entry if it is still valid. */ + @Nullable V getAndInvalidateIfModified(Task.TaskKey key); /** diff --git a/quickstep/src/com/android/quickstep/util/TaskKeyLruCache.java b/quickstep/src/com/android/quickstep/util/TaskKeyLruCache.java index 89f5d41dad..9fe8cc954d 100644 --- a/quickstep/src/com/android/quickstep/util/TaskKeyLruCache.java +++ b/quickstep/src/com/android/quickstep/util/TaskKeyLruCache.java @@ -17,6 +17,8 @@ package com.android.quickstep.util; import android.util.Log; +import androidx.annotation.Nullable; + import com.android.systemui.shared.recents.model.Task.TaskKey; import java.util.LinkedHashMap; @@ -59,6 +61,7 @@ public class TaskKeyLruCache implements TaskKeyCache { /** * Gets the entry if it is still valid */ + @Nullable public synchronized V getAndInvalidateIfModified(TaskKey key) { Entry entry = mMap.get(key.id);