ExceptionHandler.java

 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}