Skip to content

Commit 146c4c9

Browse files
authored
Merge pull request #2191 from OneSignal/feat/close_IAM_programatically
Pausing IAMs dismisses any currently showing IAM
2 parents b03d5f5 + 1cad84f commit 146c4c9

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

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

Lines changed: 10 additions & 0 deletions
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

@@ -112,6 +115,13 @@ internal class InAppMessagesManager(
112115
Logging.debug("InAppMessagesManager.setPaused(value: $value)")
113116
_state.paused = value
114117

118+
// If paused is true and an In-App Message is showing, dismiss it
119+
if (value && _state.inAppMessageIdShowing != null) {
120+
GlobalScope.launch(Dispatchers.Main) {
121+
_displayer.dismissCurrentInAppMessage()
122+
}
123+
}
124+
115125
if (!value) {
116126
suspendifyOnThread {
117127
evaluateInAppMessages()

0 commit comments

Comments
 (0)