File tree Expand file tree Collapse file tree 3 files changed +9
-5
lines changed
OneSignalSDK/onesignal/core/src/main/java/com/onesignal Expand file tree Collapse file tree 3 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -102,7 +102,7 @@ internal class CoreModule : IModule {
102102 builder.register<OneSignalOpenTelemetryCrashLocal >().provides<IOneSignalOpenTelemetryCrash >()
103103 builder.register<OneSignalCrashConfigProvider >().provides<IOneSignalCrashConfigProvider >()
104104
105- builder.register<OneSignalCrashHandler >().provides<IStartableService >()
105+ builder.register<OneSignalCrashHandler >().provides<OneSignalCrashHandler >()
106106 builder.register<OneSignalCrashUploader >().provides<IStartableService >()
107107
108108 builder.register<OneSignalOtelFieldsTopLevel >().provides<OneSignalOtelFieldsTopLevel >()
Original file line number Diff line number Diff line change 11package com.onesignal.debug.internal.crash
22
3- import com.onesignal.core.internal.startup.IStartableService
43import kotlinx.coroutines.runBlocking
54
65/* *
@@ -10,12 +9,11 @@ import kotlinx.coroutines.runBlocking
109 */
1110internal class OneSignalCrashHandler (
1211 private val _crashReporter : IOneSignalCrashReporter ,
13- ) : IStartableService,
14- Thread .UncaughtExceptionHandler {
12+ ) : Thread.UncaughtExceptionHandler {
1513 private var existingHandler: Thread .UncaughtExceptionHandler ? = null
1614 private val seenThrowables: MutableList <Throwable > = mutableListOf ()
1715
18- override fun start () {
16+ init {
1917 existingHandler = Thread .getDefaultUncaughtExceptionHandler()
2018 Thread .setDefaultUncaughtExceptionHandler(this )
2119 }
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ import com.onesignal.core.internal.startup.StartupService
2424import com.onesignal.debug.IDebugManager
2525import com.onesignal.debug.LogLevel
2626import com.onesignal.debug.internal.DebugManager
27+ import com.onesignal.debug.internal.crash.OneSignalCrashHandler
2728import com.onesignal.debug.internal.logging.Logging
2829import com.onesignal.inAppMessages.IInAppMessagesManager
2930import com.onesignal.location.ILocationManager
@@ -218,6 +219,11 @@ internal class OneSignalImp(
218219
219220 // Give the logging singleton access to the application service to support visual logging.
220221 Logging .applicationService = applicationService
222+
223+ // Crash handler needs to be one of the first things we setup,
224+ // otherwise we'll not report some crashes, resulting in a false sense
225+ // of stability.
226+ services.getService<OneSignalCrashHandler >()
221227 }
222228
223229 private fun updateConfig () {
You can’t perform that action at this time.
0 commit comments