diff options
Diffstat (limited to 'core/src/main')
3 files changed, 16 insertions, 8 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java index bf990f69d..672cbe9e1 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java @@ -49,7 +49,7 @@ public class AntennapodHttpClient { private static final String TAG = "AntennapodHttpClient"; - private static final int CONNECTION_TIMEOUT = 30000; + private static final int CONNECTION_TIMEOUT = 10000; private static final int READ_TIMEOUT = 30000; private static final int MAX_CONNECTIONS = 8; diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java index 5f221e92e..95dad1749 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java @@ -138,7 +138,7 @@ public class DownloadService extends Service { requester = DownloadRequester.getInstance(); syncExecutor = Executors.newSingleThreadExecutor(r -> { - Thread t = new Thread(r); + Thread t = new Thread(r, "SyncThread"); t.setPriority(Thread.MIN_PRIORITY); return t; }); @@ -146,7 +146,7 @@ public class DownloadService extends Service { downloadExecutor = new ExecutorCompletionService<>( Executors.newFixedThreadPool(UserPreferences.getParallelDownloads(), r -> { - Thread t = new Thread(r); + Thread t = new Thread(r, "DownloadThread"); t.setPriority(Thread.MIN_PRIORITY); return t; } @@ -154,7 +154,7 @@ public class DownloadService extends Service { ); schedExecutor = new ScheduledThreadPoolExecutor(SCHED_EX_POOL_SIZE, r -> { - Thread t = new Thread(r); + Thread t = new Thread(r, "DownloadSchedExecutorThread"); t.setPriority(Thread.MIN_PRIORITY); return t; }, (r, executor) -> Log.w(TAG, "SchedEx rejected submission of new task") @@ -163,11 +163,15 @@ public class DownloadService extends Service { @Override public int onStartCommand(Intent intent, int flags, int startId) { - if (intent != null && - intent.getParcelableArrayListExtra(EXTRA_REQUESTS) != null) { + if (intent != null && intent.getParcelableArrayListExtra(EXTRA_REQUESTS) != null) { + Notification notification = notificationManager.updateNotifications( + requester.getNumberOfDownloads(), downloads); + startForeground(NOTIFICATION_ID, notification); onDownloadQueued(intent); } else if (numberOfDownloads.get() == 0) { stopSelf(); + } else { + Log.d(TAG, "onStartCommand: Unknown intent"); } return Service.START_NOT_STICKY; } @@ -217,7 +221,9 @@ public class DownloadService extends Service { syncExecutor.shutdown(); schedExecutor.shutdown(); cancelNotificationUpdater(); - downloadPostFuture.cancel(true); + if (downloadPostFuture != null) { + downloadPostFuture.cancel(true); + } unregisterReceiver(cancelDownloadReceiver); // if this was the initial gpodder sync, i.e. we just synced the feeds successfully, diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DownloadRequester.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DownloadRequester.java index 21f90a70c..3d4ee443b 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/DownloadRequester.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DownloadRequester.java @@ -203,7 +203,9 @@ public class DownloadRequester implements DownloadStateProvider { DownloadRequest request = createRequest(feed, null, new File(getFeedfilePath(), getFeedfileName(feed)), true, username, password, lastModified, true, args); - download(context, request); + if (request != null) { + download(context, request); + } } } |