Skip to content

Commit

Permalink
Merge pull request #2191 from OneSignal/feat/close_IAM_programatically
Browse files Browse the repository at this point in the history
Pausing IAMs dismisses any currently showing IAM
  • Loading branch information
jennantilla committed Sep 13, 2024
2 parents b03d5f5 + 1cad84f commit 146c4c9
Showing 1 changed file with 10 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ import com.onesignal.user.internal.subscriptions.ISubscriptionManager
import com.onesignal.user.internal.subscriptions.SubscriptionModel
import com.onesignal.user.subscriptions.IPushSubscription
import com.onesignal.user.subscriptions.ISubscription
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock

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

// If paused is true and an In-App Message is showing, dismiss it
if (value && _state.inAppMessageIdShowing != null) {
GlobalScope.launch(Dispatchers.Main) {
_displayer.dismissCurrentInAppMessage()
}
}

if (!value) {
suspendifyOnThread {
evaluateInAppMessages()
Expand Down

0 comments on commit 146c4c9

Please sign in to comment.