Skip to content

Commit 8d7454a

Browse files
committed
fix launchWhenResumed
1 parent 0ccee21 commit 8d7454a

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.formbricks.android.extensions
2+
3+
import androidx.lifecycle.LifecycleOwner
4+
import androidx.lifecycle.lifecycleScope
5+
import androidx.lifecycle.withResumed
6+
import kotlinx.coroutines.launch
7+
8+
fun LifecycleOwner.launchWhenResumed(callback: () -> Unit) {
9+
lifecycleScope.launch {
10+
lifecycle.withResumed(callback)
11+
}
12+
}

android/src/main/java/com/formbricks/android/webview/FormbricksFragment.kt

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import androidx.fragment.app.viewModels
3030
import com.formbricks.android.Formbricks
3131
import com.formbricks.android.R
3232
import com.formbricks.android.databinding.FragmentFormbricksBinding
33+
import com.formbricks.android.extensions.launchWhenResumed
3334
import com.formbricks.android.logger.Logger
3435
import com.formbricks.android.manager.SurveyManager
3536
import com.formbricks.android.model.error.SDKError
@@ -50,8 +51,10 @@ class FormbricksFragment(val hiddenFields: Map<String, Any>? = null) : BottomShe
5051
private var webAppInterface = WebAppInterface(object : WebAppInterface.WebAppCallback {
5152
override fun onClose() {
5253
Handler(Looper.getMainLooper()).post {
53-
Formbricks.callback?.onSurveyClosed()
54-
safeDismiss()
54+
launchWhenResumed {
55+
Formbricks.callback?.onSurveyClosed()
56+
safeDismiss()
57+
}
5558
}
5659
}
5760

@@ -84,10 +87,12 @@ class FormbricksFragment(val hiddenFields: Map<String, Any>? = null) : BottomShe
8487
}
8588

8689
override fun onSurveyLibraryLoadError() {
87-
val error = SDKError.unableToLoadFormbicksJs
88-
Formbricks.callback?.onError(error)
89-
Logger.e(error)
90-
safeDismiss()
90+
launchWhenResumed {
91+
val error = SDKError.unableToLoadFormbicksJs
92+
Formbricks.callback?.onError(error)
93+
Logger.e(error)
94+
safeDismiss()
95+
}
9196
}
9297
})
9398

0 commit comments

Comments
 (0)