diff options
Diffstat (limited to 'src/main/java/de/pixart')
-rw-r--r-- | src/main/java/de/pixart/messenger/utils/Resolver.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/Resolver.java b/src/main/java/de/pixart/messenger/utils/Resolver.java index 4bae6fae7..d0985edce 100644 --- a/src/main/java/de/pixart/messenger/utils/Resolver.java +++ b/src/main/java/de/pixart/messenger/utils/Resolver.java @@ -108,14 +108,18 @@ public class Resolver { threads[1].join(); if (results.size() > 0) { threads[2].interrupt(); - Collections.sort(results); - Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": " + results.toString()); - return results; + synchronized (results) { + Collections.sort(results); + Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": " + results.toString()); + return new ArrayList<>(results); + } } else { threads[2].join(); - Collections.sort(fallbackResults); - Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": " + fallbackResults.toString()); - return fallbackResults; + synchronized (fallbackResults) { + Collections.sort(fallbackResults); + Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": " + fallbackResults.toString()); + return new ArrayList<>(fallbackResults); + } } } catch (InterruptedException e) { return results; |