Skip to content

Commit 1cad84f

Browse files
committed
Use coroutines for main thread execution
- Simplified thread handling with Kotlin coroutines to ensure dismissal code always runs on the main thread
1 parent 6283fec commit 1cad84f

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ import com.onesignal.user.internal.subscriptions.ISubscriptionManager
4545
import com.onesignal.user.internal.subscriptions.SubscriptionModel
4646
import com.onesignal.user.subscriptions.IPushSubscription
4747
import com.onesignal.user.subscriptions.ISubscription
48+
import kotlinx.coroutines.Dispatchers
49+
import kotlinx.coroutines.GlobalScope
50+
import kotlinx.coroutines.launch
4851
import kotlinx.coroutines.sync.Mutex
4952
import kotlinx.coroutines.sync.withLock
5053

@@ -114,7 +117,9 @@ internal class InAppMessagesManager(
114117

115118
// If paused is true and an In-App Message is showing, dismiss it
116119
if (value && _state.inAppMessageIdShowing != null) {
117-
_displayer.dismissCurrentInAppMessage()
120+
GlobalScope.launch(Dispatchers.Main) {
121+
_displayer.dismissCurrentInAppMessage()
122+
}
118123
}
119124

120125
if (!value) {

0 commit comments

Comments
 (0)