diff options
author | Sudheer Shanka <sudheersai@google.com> | 2020-02-20 17:29:07 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-02-20 17:29:07 +0000 |
commit | 11d8a6ef8702349b93a27cd689376e3a6f64f839 (patch) | |
tree | f035ca6c75f956df21ed93aafb004e23e17be8e7 | |
parent | e864e970a0e30742d4e54a318e6d48eb408063fc (diff) | |
parent | 4acba54d9270e43729aeba08ce525e4ee023a197 (diff) |
Merge "Update BlobStoreMS to use LongSparseArray.removeIf(Predicate)."
-rw-r--r-- | apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java b/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java index aae33d7b0a89..18b1108aab3a 100644 --- a/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java +++ b/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java @@ -858,12 +858,9 @@ public class BlobStoreManagerService extends SystemService { writeBlobsInfoAsync(); // Cleanup any stale sessions. - final ArrayList<Integer> indicesToRemove = new ArrayList<>(); for (int i = 0, userCount = mSessions.size(); i < userCount; ++i) { final LongSparseArray<BlobStoreSession> userSessions = mSessions.valueAt(i); - indicesToRemove.clear(); - for (int j = 0, sessionsCount = userSessions.size(); j < sessionsCount; ++j) { - final BlobStoreSession blobStoreSession = userSessions.valueAt(j); + userSessions.removeIf((sessionId, blobStoreSession) -> { boolean shouldRemove = false; // Cleanup sessions which haven't been modified in a while. @@ -880,13 +877,10 @@ public class BlobStoreManagerService extends SystemService { if (shouldRemove) { blobStoreSession.getSessionFile().delete(); mActiveBlobIds.remove(blobStoreSession.getSessionId()); - indicesToRemove.add(j); deletedBlobIds.add(blobStoreSession.getSessionId()); } - } - for (int j = 0; j < indicesToRemove.size(); ++j) { - userSessions.removeAt(indicesToRemove.get(j)); - } + return shouldRemove; + }); } if (LOGV) { Slog.v(TAG, "Completed idle maintenance; deleted " |