diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.java b/app/src/main/java/com/hippo/ehviewer/EhApplication.java index 6f5f55f97..57b9fa902 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.java +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.java @@ -341,6 +341,7 @@ public class EhApplication extends RecordingApplication { AppCompatDelegate.setDefaultNightMode(Settings.getTheme()); // Do io tasks in new thread + //noinspection deprecation new AsyncTask() { @Override protected Void doInBackground(Void... voids) { @@ -353,6 +354,7 @@ public class EhApplication extends RecordingApplication { CommonOperations.ensureNoMediaFile(downloadLocation); } } catch (Throwable t) { + t.printStackTrace(); ExceptionUtils.throwIfFatal(t); } @@ -360,6 +362,7 @@ public class EhApplication extends RecordingApplication { try { clearTempDir(); } catch (Throwable t) { + t.printStackTrace(); ExceptionUtils.throwIfFatal(t); } @@ -480,8 +483,8 @@ public class EhApplication extends RecordingApplication { return mGlobalStuffMap.remove(id); } - public boolean removeGlobalStuff(Object o) { - return mGlobalStuffMap.values().removeAll(Collections.singleton(o)); + public void removeGlobalStuff(Object o) { + mGlobalStuffMap.values().removeAll(Collections.singleton(o)); } public void registerActivity(Activity activity) { @@ -507,6 +510,7 @@ public class EhApplication extends RecordingApplication { try { return super.startService(service); } catch (Throwable t) { + t.printStackTrace(); ExceptionUtils.throwIfFatal(t); return null; } @@ -518,6 +522,7 @@ public class EhApplication extends RecordingApplication { try { return super.bindService(service, conn, flags); } catch (Throwable t) { + t.printStackTrace(); ExceptionUtils.throwIfFatal(t); return false; } @@ -529,7 +534,20 @@ public class EhApplication extends RecordingApplication { try { super.unbindService(conn); } catch (Throwable t) { + t.printStackTrace(); ExceptionUtils.throwIfFatal(t); } } + + // Avoid crash on some "energy saving" devices + @Override + public ComponentName startForegroundService(Intent service) { + try { + return super.startForegroundService(service); + } catch (Throwable t) { + t.printStackTrace(); + ExceptionUtils.throwIfFatal(t); + return null; + } + } }