summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wei Sheng Shih <wilsonshih@google.com> 2025-01-20 18:43:56 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-01-20 18:43:56 -0800
commitaf1d951932e8e37e4f07be63b5ba7558034c76ab (patch)
tree3d9f08ebee18e87d0cb2e3c1bec9d60c34024e4e
parent6205551dd8fecaec25bb78aea40e9fb067a25c54 (diff)
parent8a9716a858bc34e4dd4b58053757973fcf0e171b (diff)
Merge "Removes the task snapshot's reference earlier from the persist queue." into main
-rw-r--r--services/core/java/com/android/server/wm/SnapshotPersistQueue.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/SnapshotPersistQueue.java b/services/core/java/com/android/server/wm/SnapshotPersistQueue.java
index 5e1d7928e96d..eafc8be7bf77 100644
--- a/services/core/java/com/android/server/wm/SnapshotPersistQueue.java
+++ b/services/core/java/com/android/server/wm/SnapshotPersistQueue.java
@@ -319,7 +319,13 @@ class SnapshotPersistQueue {
@Override
void onQueuedLocked() {
// Remove duplicate request.
- mStoreQueueItems.remove(this);
+ mStoreQueueItems.removeIf(item -> {
+ if (item.equals(this) && item.mSnapshot != mSnapshot) {
+ item.mSnapshot.removeReference(TaskSnapshot.REFERENCE_PERSIST);
+ return true;
+ }
+ return false;
+ });
mStoreQueueItems.offer(this);
}