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