summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java14
-rw-r--r--core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java15
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();
+ }
+ }
}