From 4b8170a5c6ace62098709cfec3685f328b625011 Mon Sep 17 00:00:00 2001 From: Kitselyuk Egor Date: Thu, 11 Apr 2024 16:26:22 +0300 Subject: [PATCH 1/2] Bump SDK version to 2.8.6 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index d3c4a2fc7..f5693da3b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,4 +21,4 @@ android.enableJetifier=true kotlin.code.style=official # SDK version property -SDK_VERSION_NAME=2.8.5 \ No newline at end of file +SDK_VERSION_NAME=2.8.6 \ No newline at end of file From 88f6db9802c0e79ad533980ef65bc6922c0c7342 Mon Sep 17 00:00:00 2001 From: Sergey Sozinov <103035673+sergeysozinov@users.noreply.github.com> Date: Thu, 11 Apr 2024 12:56:22 +0300 Subject: [PATCH 2/2] MBX-3295: fixed dead lock (#450) --- sdk/src/main/java/cloud/mindbox/mobile_sdk/Mindbox.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sdk/src/main/java/cloud/mindbox/mobile_sdk/Mindbox.kt b/sdk/src/main/java/cloud/mindbox/mobile_sdk/Mindbox.kt index 634800ce7..e5d12c6b6 100644 --- a/sdk/src/main/java/cloud/mindbox/mobile_sdk/Mindbox.kt +++ b/sdk/src/main/java/cloud/mindbox/mobile_sdk/Mindbox.kt @@ -92,6 +92,8 @@ object Mindbox : MindboxLog { private val mutex = Mutex() + private val inAppMutex = Mutex() + private var firstInitCall: Boolean = true /** @@ -516,7 +518,7 @@ object Mindbox : MindboxLog { if (activity != null && lifecycleManager.isCurrentActivityResumed) { inAppMessageManager.registerCurrentActivity(activity) mindboxScope.launch { - mutex.withLock { + inAppMutex.withLock { firstInitCall = false inAppMessageManager.listenEventAndInApp() inAppMessageManager.initLogs() @@ -570,8 +572,8 @@ object Mindbox : MindboxLog { ) if (firstInitCall) { mindboxScope.launch { - mutex.withLock { - InitializeLock.await(InitializeLock.State.SAVE_MINDBOX_CONFIG) + InitializeLock.await(InitializeLock.State.SAVE_MINDBOX_CONFIG) + inAppMutex.withLock { if (!firstInitCall) return@launch firstInitCall = false inAppMessageManager.listenEventAndInApp()