Pass uncaught exception to default handler in GlobalExceptionHandler
Fixes #1347 (cherry picked from commit f3a2f566c8a09ab862758ae69b43da2a2cd8f1db) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/crash/GlobalExceptionHandler.kt
This commit is contained in:
parent
7f37989c4e
commit
310b1ad69b
@ -2,8 +2,6 @@ package eu.kanade.tachiyomi.crash
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import com.google.firebase.crashlytics.ktx.crashlytics
|
|
||||||
import com.google.firebase.ktx.Firebase
|
|
||||||
import kotlinx.serialization.KSerializer
|
import kotlinx.serialization.KSerializer
|
||||||
import kotlinx.serialization.descriptors.PrimitiveKind
|
import kotlinx.serialization.descriptors.PrimitiveKind
|
||||||
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
|
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
|
||||||
@ -13,7 +11,6 @@ import kotlinx.serialization.encoding.Encoder
|
|||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import tachiyomi.core.common.util.system.logcat
|
import tachiyomi.core.common.util.system.logcat
|
||||||
import kotlin.system.exitProcess
|
|
||||||
|
|
||||||
class GlobalExceptionHandler private constructor(
|
class GlobalExceptionHandler private constructor(
|
||||||
private val applicationContext: Context,
|
private val applicationContext: Context,
|
||||||
@ -33,15 +30,10 @@ class GlobalExceptionHandler private constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun uncaughtException(thread: Thread, exception: Throwable) {
|
override fun uncaughtException(thread: Thread, exception: Throwable) {
|
||||||
try {
|
|
||||||
logcat(priority = LogPriority.ERROR, throwable = exception)
|
logcat(priority = LogPriority.ERROR, throwable = exception)
|
||||||
Firebase.crashlytics.recordException(exception)
|
|
||||||
launchActivity(applicationContext, activityToBeLaunched, exception)
|
launchActivity(applicationContext, activityToBeLaunched, exception)
|
||||||
exitProcess(0)
|
|
||||||
} catch (_: Exception) {
|
|
||||||
defaultHandler.uncaughtException(thread, exception)
|
defaultHandler.uncaughtException(thread, exception)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private fun launchActivity(
|
private fun launchActivity(
|
||||||
applicationContext: Context,
|
applicationContext: Context,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user