forked from reya/coop-mobile
feat: add crash screen (#10)
Reviewed-on: https://git.reya.su/reya/coop-mobile/pulls/10
This commit is contained in:
@@ -11,6 +11,7 @@ import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import su.reya.coop.coop.storage.SecretStore
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
private val viewModel: NostrViewModel by viewModels {
|
||||
@@ -23,6 +24,26 @@ class MainActivity : ComponentActivity() {
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
Thread.setDefaultUncaughtExceptionHandler { thread, throwable ->
|
||||
throwable.printStackTrace()
|
||||
android.util.Log.e(
|
||||
"CoopCrash",
|
||||
"Uncaught exception in thread ${thread.name}",
|
||||
throwable
|
||||
)
|
||||
|
||||
// Start the Crash Activity
|
||||
val intent = Intent(this, CrashActivity::class.java).apply {
|
||||
putExtra("error", throwable.stackTraceToString())
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
|
||||
}
|
||||
startActivity(intent)
|
||||
|
||||
// Exit
|
||||
android.os.Process.killProcess(android.os.Process.myPid())
|
||||
exitProcess(1)
|
||||
}
|
||||
|
||||
val splashScreen = installSplashScreen()
|
||||
enableEdgeToEdge()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user