From 5b12c7bfb41b98e7bb84325d904b2c7da36ac3d1 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Sat, 8 Aug 2020 09:11:02 +0700 Subject: [PATCH] Debug: Show fatal error on launcher crash --- .../java/net/kdt/pojavlaunch/FatalErrorActivity.java | 11 ++++++++++- .../java/net/kdt/pojavlaunch/PojavApplication.java | 8 ++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/net/kdt/pojavlaunch/FatalErrorActivity.java b/app/src/main/java/net/kdt/pojavlaunch/FatalErrorActivity.java index 5712c2730..907b1fc0b 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/FatalErrorActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/FatalErrorActivity.java @@ -1,10 +1,19 @@ package net.kdt.pojavlaunch; -import android.support.v7.app.*; +import android.content.*; import android.os.*; +import android.support.v7.app.*; public class FatalErrorActivity extends AppCompatActivity { + public static void showError(Context ctx, Throwable th) { + Intent ferrorIntent = new Intent(ctx, FatalErrorActivity.class); + ferrorIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + ferrorIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + ferrorIntent.putExtra("throwable", th); + ctx.startActivity(ferrorIntent); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavApplication.java b/app/src/main/java/net/kdt/pojavlaunch/PojavApplication.java index 54484ae82..9cda1f259 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavApplication.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavApplication.java @@ -14,6 +14,14 @@ public class PojavApplication extends Application { @Override public void onCreate() { + Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler(){ + @Override + public void uncaughtException(Thread thread, Throwable th) { + FatalErrorActivity.showError(PojavApplication.this, th); + android.os.Process.killProcess(android.os.Process.myPid()); + } + }); + try { super.onCreate(); Tools.APP_NAME = getResources().getString(R.string.app_short_name);