diff options
| author | 2025-01-20 18:43:56 -0800 | |
|---|---|---|
| committer | 2025-01-20 18:43:56 -0800 | |
| commit | af1d951932e8e37e4f07be63b5ba7558034c76ab (patch) | |
| tree | 3d9f08ebee18e87d0cb2e3c1bec9d60c34024e4e | |
| parent | 6205551dd8fecaec25bb78aea40e9fb067a25c54 (diff) | |
| parent | 8a9716a858bc34e4dd4b58053757973fcf0e171b (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.java | 8 |
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); } |