Tried versions: 2.4.0 and 2.7.9.
Reproduced in Android 14.
The hanging happens because currentTask?.await() waits forever in SerialTaskManager#addTask.
A minimal example to reproduce the issue:
// After Superwall has been configured.
GlobalScope.launch {
// On the second iteration we will get into this hanging — no more paywalls will be shown.
while (true) {
delay(3_000)
Superwall.instance.handleDeepLink(Uri.parse("some random URI not configured anyhow by Superwall"))
Superwall.instance.register("some actual placement configured to show a paywall", handler = PaywallPresentationHandler().apply {
onPresent { Timber.d("onPresent") }
onError { Timber.d("onError $it") }
onDismiss { info, result -> Timber.d("onDismiss") }
onSkip { Timber.d("onSkip") }
}) {
Timber.d("feature")
}
}
}
Tried versions: 2.4.0 and 2.7.9.
Reproduced in Android 14.
The hanging happens because
currentTask?.await()waits forever inSerialTaskManager#addTask.A minimal example to reproduce the issue: