Let unexpected error write crash log

pull/147/head
M66B 6 years ago
parent 536744aac8
commit 29f2e4c0e6

@ -47,7 +47,7 @@ public class ApplicationEx extends Application {
public void uncaughtException(Thread thread, Throwable ex) {
if (ownFault(ex)) {
Log.e(Helper.TAG, ex + "\r\n" + Log.getStackTraceString(ex));
writeCrashLog(ex);
writeCrashLog(ApplicationEx.this, ex);
if (prev != null)
prev.uncaughtException(thread, ex);
@ -110,17 +110,18 @@ public class ApplicationEx extends Application {
return true;
ex = ex.getCause();
}
return false;
}
private void writeCrashLog(Throwable ex) {
File file = new File(getCacheDir(), "crash.log");
static void writeCrashLog(Context context, Throwable ex) {
File file = new File(context.getCacheDir(), "crash.log");
Log.w(Helper.TAG, "Writing exception to " + file);
FileWriter out = null;
try {
out = new FileWriter(file);
out.write(ex.toString() + "\n" + Log.getStackTraceString(ex));
out.write(ex + "\r\n" + Log.getStackTraceString(ex));
} catch (IOException e) {
Log.e(Helper.TAG, e + "\n" + Log.getStackTraceString(e));
} finally {

@ -189,7 +189,7 @@ public class Helper {
}
static void unexpectedError(final Context context, final LifecycleOwner owner, final Throwable ex) {
Log.e(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex));
ApplicationEx.writeCrashLog(context, ex);
if (owner.getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED))
new DialogBuilderLifecycle(context, owner)

Loading…
Cancel
Save