1package eu.siacs.conversations.utils;
2
3import android.content.Context;
4
5import java.io.PrintWriter;
6import java.io.StringWriter;
7import java.io.Writer;
8import java.lang.Thread.UncaughtExceptionHandler;
9
10public class ExceptionHandler implements UncaughtExceptionHandler {
11
12 private UncaughtExceptionHandler defaultHandler;
13 private Context context;
14
15 public ExceptionHandler(Context context) {
16 this.context = context;
17 this.defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
18 }
19
20 @Override
21 public void uncaughtException(Thread thread, Throwable ex) {
22 Writer result = new StringWriter();
23 PrintWriter printWriter = new PrintWriter(result);
24 ex.printStackTrace(printWriter);
25 String stacktrace = result.toString();
26 printWriter.close();
27 ExceptionHelper.writeToStacktraceFile(context, stacktrace);
28 this.defaultHandler.uncaughtException(thread, ex);
29 }
30
31}