summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/EpisodeDownloadWorker.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/EpisodeDownloadWorker.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/EpisodeDownloadWorker.java
index 56aee63a2..af5b5c9a4 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/EpisodeDownloadWorker.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/EpisodeDownloadWorker.java
@@ -270,17 +270,20 @@ public class EpisodeDownloadWorker extends Worker {
private Notification generateProgressNotification() {
StringBuilder bigTextB = new StringBuilder();
- Map<String, Integer> progressCopy = new HashMap<>(notificationProgress);
+ Map<String, Integer> progressCopy;
+ synchronized (notificationProgress) {
+ progressCopy = new HashMap<>(notificationProgress);
+ }
for (Map.Entry<String, Integer> entry : progressCopy.entrySet()) {
bigTextB.append(String.format(Locale.getDefault(), "%s (%d%%)\n", entry.getKey(), entry.getValue()));
}
String bigText = bigTextB.toString().trim();
String contentText;
- if (notificationProgress.size() == 1) {
+ if (progressCopy.size() == 1) {
contentText = bigText;
} else {
contentText = getApplicationContext().getResources().getQuantityString(R.plurals.downloads_left,
- notificationProgress.size(), notificationProgress.size());
+ progressCopy.size(), progressCopy.size());
}
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext(),
NotificationUtils.CHANNEL_ID_DOWNLOADING);