1 package net.ktnx.mobileledger.ui.activity;
3 import android.os.Bundle;
4 import android.support.annotation.Nullable;
5 import android.support.v7.app.AppCompatActivity;
6 import android.util.Log;
8 import net.ktnx.mobileledger.ui.CrashReportDialogFragment;
9 import net.ktnx.mobileledger.utils.Colors;
11 import java.io.PrintWriter;
12 import java.io.StringWriter;
14 public abstract class CrashReportingActivity extends AppCompatActivity {
15 protected void setupProfileColors() {
16 Colors.setupTheme(this);
19 protected void onStart() {
21 Colors.refreshColors(getTheme());
24 protected void onCreate(@Nullable Bundle savedInstanceState) {
25 super.onCreate(savedInstanceState);
26 Colors.setupTheme(this);
28 Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
30 public void uncaughtException(Thread t, Throwable e) {
31 StringWriter sw = new StringWriter();
32 PrintWriter pw = new PrintWriter(sw);
33 e.printStackTrace(pw);
35 Log.e(null, sw.toString());
37 CrashReportDialogFragment df = new CrashReportDialogFragment();
38 df.setCrashReportText(sw.toString());
39 df.show(getSupportFragmentManager(), "crash_report");
42 Log.d("crash", "Uncaught exception handler set");