File tree Expand file tree Collapse file tree 1 file changed +23
-7
lines changed
OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/threading Expand file tree Collapse file tree 1 file changed +23
-7
lines changed Original file line number Diff line number Diff line change 1
1
package com.onesignal.common.threading
2
2
3
+ import com.onesignal.debug.internal.logging.Logging
3
4
import kotlinx.coroutines.Dispatchers
4
5
import kotlinx.coroutines.runBlocking
5
6
import kotlinx.coroutines.withContext
@@ -41,11 +42,16 @@ fun suspendifyBlocking(block: suspend () -> Unit) {
41
42
*/
42
43
fun suspendifyOnMain (block : suspend () -> Unit ) {
43
44
thread {
44
- runBlocking {
45
- withContext(Dispatchers .Main ) {
46
- block()
45
+ try {
46
+ runBlocking {
47
+ withContext(Dispatchers .Main ) {
48
+ block()
49
+ }
47
50
}
48
51
}
52
+ catch (e: Exception ) {
53
+ Logging .error(" Exception on thread with switch to main" , e)
54
+ }
49
55
}
50
56
}
51
57
@@ -57,8 +63,13 @@ fun suspendifyOnMain(block: suspend () -> Unit) {
57
63
*/
58
64
fun suspendifyOnThread (priority : Int = -1, block : suspend () -> Unit ) {
59
65
thread(priority = priority) {
60
- runBlocking {
61
- block()
66
+ try {
67
+ runBlocking {
68
+ block()
69
+ }
70
+ }
71
+ catch (e: Exception ) {
72
+ Logging .error(" Exception on thread" , e)
62
73
}
63
74
}
64
75
}
@@ -71,8 +82,13 @@ fun suspendifyOnThread(priority: Int = -1, block: suspend () -> Unit) {
71
82
*/
72
83
fun suspendifyOnThread (name : String , priority : Int = -1, block : suspend () -> Unit ) {
73
84
thread(name = name, priority = priority) {
74
- runBlocking {
75
- block()
85
+ try {
86
+ runBlocking {
87
+ block()
88
+ }
89
+ }
90
+ catch (e: Exception ) {
91
+ Logging .error(" Exception on thread '${name} '" , e)
76
92
}
77
93
}
78
94
}
You can’t perform that action at this time.
0 commit comments