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 @@ -23,6 +23,7 @@ import com.onesignal.core.internal.startup.StartupService
2323import com.onesignal.debug.IDebugManager
2424import com.onesignal.debug.LogLevel
2525import com.onesignal.debug.internal.DebugManager
26+ import com.onesignal.debug.internal.crash.OneSignalCrashHandler
2627import com.onesignal.debug.internal.logging.Logging
2728import com.onesignal.inAppMessages.IInAppMessagesManager
2829import com.onesignal.location.ILocationManager
@@ -214,6 +215,11 @@ internal class OneSignalImp(
214215
215216 // Give the logging singleton access to the application service to support visual logging.
216217 Logging .applicationService = applicationService
218+
219+ // Crash handler needs to be one of the first things we setup,
220+ // otherwise we'll not report some crashes, resulting in a false sense
221+ // of stability.
222+ services.getService<OneSignalCrashHandler >()
217223 }
218224
219225 private fun updateConfig () {
You can’t perform that action at this time.
0 commit comments