diff options
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java | 14 | ||||
-rw-r--r-- | core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java | 15 |
2 files changed, 22 insertions, 7 deletions
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 7c05293c6..f7c338729 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 @@ -167,7 +167,7 @@ public class DownloadService extends Service { Notification notification = notificationManager.updateNotifications( requester.getNumberOfDownloads(), downloads); startForeground(NOTIFICATION_ID, notification); - onDownloadQueued(intent); + syncExecutor.execute(() -> onDownloadQueued(intent)); } else if (numberOfDownloads.get() == 0) { stopSelf(); } else { @@ -477,13 +477,13 @@ public class DownloadService extends Service { && isEnqueued(request, itemsEnqueued)) { request.setMediaEnqueued(true); } - downloads.add(downloader); - downloadExecutor.submit(downloader); - - postDownloaders(); + handler.post(() -> { + downloads.add(downloader); + downloadExecutor.submit(downloader); + postDownloaders(); + }); } - - queryDownloads(); + handler.post(this::queryDownloads); } private static boolean isEnqueued(@NonNull DownloadRequest request, diff --git a/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java b/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java index 55d804203..c92ce3e74 100644 --- a/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java +++ b/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java @@ -3,6 +3,10 @@ package de.danoeh.antennapod.core; import android.content.Context; import android.util.Log; +import com.google.android.gms.common.GoogleApiAvailability; +import com.google.android.gms.common.GooglePlayServicesNotAvailableException; +import com.google.android.gms.common.GooglePlayServicesRepairableException; +import com.google.android.gms.security.ProviderInstaller; import de.danoeh.antennapod.core.cast.CastManager; import de.danoeh.antennapod.core.preferences.PlaybackPreferences; import de.danoeh.antennapod.core.preferences.SleepTimerPreferences; @@ -57,10 +61,21 @@ public class ClientConfig { } else { Log.v(TAG, "Cast is disabled. All Cast-related initialization will be skipped."); } + installSslProvider(context); SleepTimerPreferences.init(context); RxJavaErrorHandlerSetup.setupRxJavaErrorHandler(); NotificationUtils.createChannels(context); initialized = true; } + private static void installSslProvider(Context context) { + try { + ProviderInstaller.installIfNeeded(context); + } catch (GooglePlayServicesRepairableException e) { + e.printStackTrace(); + GoogleApiAvailability.getInstance().showErrorNotification(context, e.getConnectionStatusCode()); + } catch (GooglePlayServicesNotAvailableException e) { + e.printStackTrace(); + } + } } |