From 251efdb2923bd3f0dcf993284ed2c0010e086ed4 Mon Sep 17 00:00:00 2001 From: NekoInverter <7741672-NekoInverter@users.noreply.gitlab.com> Date: Mon, 11 Jan 2021 14:06:02 +0800 Subject: [PATCH] Fix crash --- .../com/hippo/ehviewer/EhApplication.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) 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; + } + } }