From 779a0122fd8b8d0b221e45a17c79f55c99e4f4cb Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 16 May 2019 17:41:49 +0200 Subject: [PATCH] fix ConcurrentModificationException crash in LocalRepoService https://stackoverflow.com/a/602660 java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:851) at java.util.HashMap$ValueIterator.next(HashMap.java:879) at org.fdroid.fdroid.localrepo.LocalRepoManager.copyIconsToRepo(LocalRepoManager.java:296) at org.fdroid.fdroid.localrepo.LocalRepoService$1.run(LocalRepoService.java:131) --- .../java/org/fdroid/fdroid/localrepo/LocalRepoManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/full/java/org/fdroid/fdroid/localrepo/LocalRepoManager.java b/app/src/full/java/org/fdroid/fdroid/localrepo/LocalRepoManager.java index 7bd4063f1..c495ebd2e 100644 --- a/app/src/full/java/org/fdroid/fdroid/localrepo/LocalRepoManager.java +++ b/app/src/full/java/org/fdroid/fdroid/localrepo/LocalRepoManager.java @@ -43,10 +43,10 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; @@ -71,7 +71,7 @@ public final class LocalRepoManager { "swap-tick-not-done.png", }; - private final Map apps = new HashMap<>(); + private final Map apps = new ConcurrentHashMap<>(); private final SanitizedFile xmlIndexJar; private final SanitizedFile xmlIndexJarUnsigned;