From 2b78b1ffa5616a3feba5a0442aa2ea8dc7e4f8c9 Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Mon, 18 Jun 2018 15:48:06 +0200 Subject: [PATCH] Copy collections to avoid concurrent crash Test: TaskSnapshotPersisterTest: Change-Id: If3ac8b565a3f92600374c9330e9927a50c6f871a Fixes: 110074872 --- services/core/java/com/android/server/wm/TaskSnapshotPersister.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/TaskSnapshotPersister.java b/services/core/java/com/android/server/wm/TaskSnapshotPersister.java index a642e6ab744a..21e807eee1e8 100644 --- a/services/core/java/com/android/server/wm/TaskSnapshotPersister.java +++ b/services/core/java/com/android/server/wm/TaskSnapshotPersister.java @@ -39,6 +39,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayDeque; +import java.util.Arrays; /** * Persists {@link TaskSnapshot}s to disk. @@ -399,8 +400,8 @@ class TaskSnapshotPersister { @VisibleForTesting RemoveObsoleteFilesQueueItem(ArraySet persistentTaskIds, int[] runningUserIds) { - mPersistentTaskIds = persistentTaskIds; - mRunningUserIds = runningUserIds; + mPersistentTaskIds = new ArraySet<>(persistentTaskIds); + mRunningUserIds = Arrays.copyOf(runningUserIds, runningUserIds.length); } @Override -- 2.11.0