Yuito-app-android/app/src/main/java/net/accelf/yuito/CustomUncaughtExceptionHand...

35 lines
1.1 KiB
Java

package net.accelf.yuito;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import java.io.PrintWriter;
import java.io.StringWriter;
public class CustomUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
private Context context;
private Thread.UncaughtExceptionHandler mDefaultUncaughtExceptionHandler;
public CustomUncaughtExceptionHandler(Context context) {
this.context = context;
mDefaultUncaughtExceptionHandler = Thread
.getDefaultUncaughtExceptionHandler();
}
@Override
public void uncaughtException(Thread thread, Throwable e) {
StringWriter stringWriter = new StringWriter();
e.printStackTrace(new PrintWriter(stringWriter));
String stackTrace = stringWriter.toString();
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
preferences.edit().putString("stack_trace", stackTrace).apply();
mDefaultUncaughtExceptionHandler.uncaughtException(thread, e);
}
}