diff --git a/android/src/main/java/com/formbricks/android/model/error/SDKError.kt b/android/src/main/java/com/formbricks/android/model/error/SDKError.kt index bc32c2b..bf42c66 100644 --- a/android/src/main/java/com/formbricks/android/model/error/SDKError.kt +++ b/android/src/main/java/com/formbricks/android/model/error/SDKError.kt @@ -19,6 +19,7 @@ object SDKError { val surveyNotDisplayedError = RuntimeException("Survey was not displayed due to display percentage restrictions.") val unableToRefreshEnvironment = RuntimeException("Unable to refresh environment state.") val missingSurveyId = RuntimeException("Survey id is mandatory to set.") + val surveyIsStateSaved = RuntimeException("app is not resumed") val invalidDisplayOption = RuntimeException("Invalid Display Option.") val unableToPostResponse = RuntimeException("Unable to post survey response.") val surveyNotFoundError = RuntimeException("No survey found matching the action class.") diff --git a/android/src/main/java/com/formbricks/android/webview/FormbricksFragment.kt b/android/src/main/java/com/formbricks/android/webview/FormbricksFragment.kt index 13d2ac4..59c64a9 100644 --- a/android/src/main/java/com/formbricks/android/webview/FormbricksFragment.kt +++ b/android/src/main/java/com/formbricks/android/webview/FormbricksFragment.kt @@ -27,6 +27,7 @@ import android.widget.FrameLayout import androidx.activity.result.contract.ActivityResultContracts import androidx.fragment.app.FragmentManager import androidx.fragment.app.viewModels +import androidx.lifecycle.Lifecycle import com.formbricks.android.Formbricks import com.formbricks.android.R import com.formbricks.android.databinding.FragmentFormbricksBinding @@ -325,12 +326,16 @@ class FormbricksFragment(val hiddenFields: Map? = null) : BottomShe surveyId: String, hiddenFields: Map? = null ) { - val fragment = FormbricksFragment(hiddenFields).apply { - arguments = Bundle().apply { - putString(ARG_SURVEY_ID, surveyId) + if (childFragmentManager.isStateSaved) { + Formbricks.callback?.onError(SDKError.surveyIsStateSaved) + } else { + val fragment = FormbricksFragment(hiddenFields).apply { + arguments = Bundle().apply { + putString(ARG_SURVEY_ID, surveyId) + } } + fragment.show(childFragmentManager, TAG) } - fragment.show(childFragmentManager, TAG) } } } \ No newline at end of file