summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-09-29 12:00:40 +0200
committerByteHamster <info@bytehamster.com>2020-09-29 12:23:13 +0200
commitf54076ca587e89c8af1bfb3d4a8e5bb442405e85 (patch)
tree527133895e75124ecd5f9f9eb9c8bc7b115c1aa1 /core/src
parent6b173d0c1adb36a0475871c13c82d8e6071573ce (diff)
downloadAntennaPod-f54076ca587e89c8af1bfb3d4a8e5bb442405e85.zip
Swallow undeliverable RxJava exceptions
AntennaPod threads might throw NPEs after disposing because we set controllers to null.
Diffstat (limited to 'core/src')
-rw-r--r--core/src/free/java/de/danoeh/antennapod/core/ClientConfig.java2
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/exception/RxJavaErrorHandlerSetup.java24
-rw-r--r--core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java3
3 files changed, 0 insertions, 29 deletions
diff --git a/core/src/free/java/de/danoeh/antennapod/core/ClientConfig.java b/core/src/free/java/de/danoeh/antennapod/core/ClientConfig.java
index 824a4fae3..ecb9d68df 100644
--- a/core/src/free/java/de/danoeh/antennapod/core/ClientConfig.java
+++ b/core/src/free/java/de/danoeh/antennapod/core/ClientConfig.java
@@ -9,7 +9,6 @@ import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.download.AntennapodHttpClient;
import de.danoeh.antennapod.core.storage.PodDBAdapter;
import de.danoeh.antennapod.core.util.NetworkUtils;
-import de.danoeh.antennapod.core.util.exception.RxJavaErrorHandlerSetup;
import de.danoeh.antennapod.core.util.gui.NotificationUtils;
import java.io.File;
@@ -49,7 +48,6 @@ public class ClientConfig {
NetworkUtils.init(context);
AntennapodHttpClient.setCacheDirectory(new File(context.getCacheDir(), "okhttp"));
SleepTimerPreferences.init(context);
- RxJavaErrorHandlerSetup.setupRxJavaErrorHandler();
NotificationUtils.createChannels(context);
initialized = true;
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/exception/RxJavaErrorHandlerSetup.java b/core/src/main/java/de/danoeh/antennapod/core/util/exception/RxJavaErrorHandlerSetup.java
deleted file mode 100644
index 223104d2e..000000000
--- a/core/src/main/java/de/danoeh/antennapod/core/util/exception/RxJavaErrorHandlerSetup.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package de.danoeh.antennapod.core.util.exception;
-
-import android.util.Log;
-import io.reactivex.exceptions.UndeliverableException;
-import io.reactivex.plugins.RxJavaPlugins;
-
-public class RxJavaErrorHandlerSetup {
-
- private RxJavaErrorHandlerSetup() {
-
- }
-
- public static void setupRxJavaErrorHandler() {
- RxJavaPlugins.setErrorHandler(e -> {
- if (e instanceof UndeliverableException) {
- // Probably just disposed because the fragment was left
- Log.d("RxJavaErrorHandler", "Ignored exception: " + Log.getStackTraceString(e));
- return;
- }
- Thread.currentThread().getUncaughtExceptionHandler()
- .uncaughtException(Thread.currentThread(), e);
- });
- }
-}
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 7d38aedc2..41e95d99e 100644
--- a/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java
+++ b/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java
@@ -1,7 +1,6 @@
package de.danoeh.antennapod.core;
import android.content.Context;
-import android.content.Intent;
import android.util.Log;
import com.google.android.gms.common.GoogleApiAvailability;
import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
@@ -15,7 +14,6 @@ import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.download.AntennapodHttpClient;
import de.danoeh.antennapod.core.storage.PodDBAdapter;
import de.danoeh.antennapod.core.util.NetworkUtils;
-import de.danoeh.antennapod.core.util.exception.RxJavaErrorHandlerSetup;
import de.danoeh.antennapod.core.util.gui.NotificationUtils;
import java.io.File;
@@ -67,7 +65,6 @@ public class ClientConfig {
}
AntennapodHttpClient.setCacheDirectory(new File(context.getCacheDir(), "okhttp"));
SleepTimerPreferences.init(context);
- RxJavaErrorHandlerSetup.setupRxJavaErrorHandler();
NotificationUtils.createChannels(context);
initialized = true;
}