Fix crash

This commit is contained in:
NekoInverter committed 2021-01-24 17:28:22 +08:00
1 parent d12961418a
commit 251efdb292
1 file changed
+20 -2
@@ -341,6 +341,7 @@ public class EhApplication extends RecordingApplication {
AppCompatDelegate.setDefaultNightMode(Settings.getTheme());
// Do io tasks in new thread
//noinspection deprecation
new AsyncTask<Void, Void, Void>() {
@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;
}
}
}