Skip to content

Commit 78670f0

Browse files
authored
fix: removes native overlay (#46)
* removes native overlay * fixes test
1 parent 8a02e06 commit 78670f0

4 files changed

Lines changed: 4 additions & 177 deletions

File tree

android/src/androidTest/java/com/formbricks/android/manager/SurveyManagerInstrumentedTest.kt

Lines changed: 0 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -432,103 +432,6 @@ class SurveyManagerInstrumentedTest {
432432
assertEquals(survey6.id, result5[0].id)
433433
}
434434

435-
// region resolveOverlay tests
436-
437-
@Test
438-
fun testResolveOverlay_nullSurvey_nullEnvironment_returnsNone() {
439-
setBackingEnvironmentDataHolder(null)
440-
val result = SurveyManager.resolveOverlay(null)
441-
assertEquals(SurveyOverlay.NONE, result)
442-
}
443-
444-
@Test
445-
fun testResolveOverlay_nullSurvey_projectOverlayDark_returnsDark() {
446-
setBackingEnvironmentDataHolder(createEnvHolder(projectOverlay = SurveyOverlay.DARK))
447-
val result = SurveyManager.resolveOverlay(null)
448-
assertEquals(SurveyOverlay.DARK, result)
449-
}
450-
451-
@Test
452-
fun testResolveOverlay_nullSurvey_projectOverlayLight_returnsLight() {
453-
setBackingEnvironmentDataHolder(createEnvHolder(projectOverlay = SurveyOverlay.LIGHT))
454-
val result = SurveyManager.resolveOverlay(null)
455-
assertEquals(SurveyOverlay.LIGHT, result)
456-
}
457-
458-
@Test
459-
fun testResolveOverlay_nullSurvey_projectOverlayNone_returnsNone() {
460-
setBackingEnvironmentDataHolder(createEnvHolder(projectOverlay = SurveyOverlay.NONE))
461-
val result = SurveyManager.resolveOverlay(null)
462-
assertEquals(SurveyOverlay.NONE, result)
463-
}
464-
465-
@Test
466-
fun testResolveOverlay_nullSurvey_projectOverlayNull_returnsNone() {
467-
setBackingEnvironmentDataHolder(createEnvHolder(projectOverlay = null))
468-
val result = SurveyManager.resolveOverlay(null)
469-
assertEquals(SurveyOverlay.NONE, result)
470-
}
471-
472-
@Test
473-
fun testResolveOverlay_surveyWithoutProjectOverwrites_fallsBackToProject() {
474-
setBackingEnvironmentDataHolder(createEnvHolder(projectOverlay = SurveyOverlay.DARK))
475-
val survey = createTestSurvey() // projectOverwrites defaults to null
476-
val result = SurveyManager.resolveOverlay(survey)
477-
assertEquals(SurveyOverlay.DARK, result)
478-
}
479-
480-
@Test
481-
fun testResolveOverlay_surveyOverwritesOverlayNull_fallsBackToProject() {
482-
setBackingEnvironmentDataHolder(createEnvHolder(projectOverlay = SurveyOverlay.DARK))
483-
val survey = createSurveyWithOverwrites(overlay = null)
484-
val result = SurveyManager.resolveOverlay(survey)
485-
assertEquals(SurveyOverlay.DARK, result)
486-
}
487-
488-
@Test
489-
fun testResolveOverlay_surveyOverwritesOverlayLight_overridesProjectDark() {
490-
setBackingEnvironmentDataHolder(createEnvHolder(projectOverlay = SurveyOverlay.DARK))
491-
val survey = createSurveyWithOverwrites(overlay = SurveyOverlay.LIGHT)
492-
val result = SurveyManager.resolveOverlay(survey)
493-
assertEquals(SurveyOverlay.LIGHT, result)
494-
}
495-
496-
@Test
497-
fun testResolveOverlay_surveyOverwritesOverlayDark_overridesProjectNone() {
498-
setBackingEnvironmentDataHolder(createEnvHolder(projectOverlay = SurveyOverlay.NONE))
499-
val survey = createSurveyWithOverwrites(overlay = SurveyOverlay.DARK)
500-
val result = SurveyManager.resolveOverlay(survey)
501-
assertEquals(SurveyOverlay.DARK, result)
502-
}
503-
504-
@Test
505-
fun testResolveOverlay_surveyOverwritesOverlayNone_overridesProjectDark() {
506-
setBackingEnvironmentDataHolder(createEnvHolder(projectOverlay = SurveyOverlay.DARK))
507-
val survey = createSurveyWithOverwrites(overlay = SurveyOverlay.NONE)
508-
val result = SurveyManager.resolveOverlay(survey)
509-
assertEquals(SurveyOverlay.NONE, result)
510-
}
511-
512-
@Test
513-
fun testResolveOverlay_environmentDataHolderDataNull_returnsNone() {
514-
// data=null forces the ?.data?.project?.overlay chain to short-circuit at each null check
515-
val envHolder = EnvironmentDataHolder(data = null, originalResponseMap = mapOf())
516-
setBackingEnvironmentDataHolder(envHolder)
517-
val result = SurveyManager.resolveOverlay(null)
518-
assertEquals(SurveyOverlay.NONE, result)
519-
}
520-
521-
@Test
522-
fun testResolveOverlay_surveyWithOverwritesNoOverlay_environmentDataNull_returnsNone() {
523-
val envHolder = EnvironmentDataHolder(data = null, originalResponseMap = mapOf())
524-
setBackingEnvironmentDataHolder(envHolder)
525-
val survey = createSurveyWithOverwrites(overlay = null)
526-
val result = SurveyManager.resolveOverlay(survey)
527-
assertEquals(SurveyOverlay.NONE, result)
528-
}
529-
530-
// endregion
531-
532435
// region helper methods
533436

534437
private fun setBackingEnvironmentDataHolder(value: EnvironmentDataHolder?) {
@@ -537,50 +440,6 @@ class SurveyManagerInstrumentedTest {
537440
field.set(SurveyManager, value)
538441
}
539442

540-
private fun createEnvHolder(projectOverlay: SurveyOverlay?): EnvironmentDataHolder {
541-
val project = Project(
542-
id = "proj1",
543-
recontactDays = null,
544-
clickOutsideClose = null,
545-
overlay = projectOverlay,
546-
placement = null,
547-
inAppSurveyBranding = null,
548-
styling = null
549-
)
550-
val envData = EnvironmentData(
551-
surveys = emptyList(),
552-
actionClasses = null,
553-
project = project
554-
)
555-
val envResponseData = EnvironmentResponseData(
556-
data = envData,
557-
expiresAt = null
558-
)
559-
return EnvironmentDataHolder(
560-
data = envResponseData,
561-
originalResponseMap = mapOf()
562-
)
563-
}
564-
565-
private fun createSurveyWithOverwrites(overlay: SurveyOverlay?): Survey {
566-
return Survey(
567-
id = "test",
568-
name = "Test Survey",
569-
triggers = null,
570-
recontactDays = null,
571-
displayLimit = null,
572-
delay = null,
573-
displayPercentage = null,
574-
displayOption = null,
575-
segment = null,
576-
styling = null,
577-
languages = null,
578-
projectOverwrites = SurveyProjectOverwrites(overlay = overlay)
579-
)
580-
}
581-
582-
// endregion
583-
584443
private fun createTestSurvey(
585444
id: String = "test",
586445
displayOption: String? = null,

android/src/main/java/com/formbricks/android/Formbricks.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import com.formbricks.android.helper.FormbricksConfig
1010
import com.formbricks.android.logger.Logger
1111
import com.formbricks.android.manager.SurveyManager
1212
import com.formbricks.android.manager.UserManager
13-
import com.formbricks.android.model.environment.SurveyOverlay
1413
import com.formbricks.android.model.error.SDKError
1514
import com.formbricks.android.webview.FormbricksFragment
1615
import java.lang.RuntimeException
@@ -217,15 +216,15 @@ object Formbricks {
217216
}
218217

219218
/// Assembles the survey fragment and presents it
220-
internal fun showSurvey(id: String, overlay: SurveyOverlay = SurveyOverlay.NONE) {
219+
internal fun showSurvey(id: String) {
221220
if (fragmentManager == null) {
222221
val error = SDKError.fragmentManagerIsNotSet
223222
Logger.e(error)
224223
return
225224
}
226225

227226
fragmentManager?.let {
228-
FormbricksFragment.show(it, surveyId = id, overlay = overlay)
227+
FormbricksFragment.show(it, surveyId = id)
229228
}
230229
}
231230

android/src/main/java/com/formbricks/android/manager/SurveyManager.kt

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import com.formbricks.android.model.environment.EnvironmentDataHolder
1010
import com.formbricks.android.model.environment.SegmentFilterResource
1111
import com.formbricks.android.model.environment.SegmentFilterResourceDeserializer
1212
import com.formbricks.android.model.environment.Survey
13-
import com.formbricks.android.model.environment.SurveyOverlay
1413
import com.formbricks.android.model.error.SDKError
1514
import com.formbricks.android.model.user.Display
1615
import com.google.gson.Gson
@@ -193,11 +192,10 @@ object SurveyManager {
193192
val surveyName = firstSurveyWithActionClass.name
194193
Logger.d("Delaying survey \"$surveyName\" by $timeout seconds")
195194
}
196-
val overlay = resolveOverlay(firstSurveyWithActionClass)
197195
stopDisplayTimer()
198196
displayTimer.schedule(object : TimerTask() {
199197
override fun run() {
200-
Formbricks.showSurvey(it, overlay)
198+
Formbricks.showSurvey(it)
201199
}
202200

203201
}, Date(System.currentTimeMillis() + timeout.toLong() * 1000))
@@ -394,12 +392,4 @@ object SurveyManager {
394392
return selected.language.code
395393
}
396394

397-
/**
398-
* Resolves the overlay style for the given survey, falling back to the project-level default.
399-
* Survey-level `projectOverwrites.overlay` takes precedence over `project.overlay`.
400-
*/
401-
fun resolveOverlay(survey: Survey?): SurveyOverlay {
402-
survey?.projectOverwrites?.overlay?.let { return it }
403-
return environmentDataHolder?.data?.data?.project?.overlay ?: SurveyOverlay.NONE
404-
}
405395
}

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

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import com.formbricks.android.R
2929
import com.formbricks.android.databinding.FragmentFormbricksBinding
3030
import com.formbricks.android.logger.Logger
3131
import com.formbricks.android.manager.SurveyManager
32-
import com.formbricks.android.model.environment.SurveyOverlay
3332
import com.formbricks.android.model.error.SDKError
3433
import com.formbricks.android.model.javascript.FileUploadData
3534
import com.google.android.material.bottomsheet.BottomSheetBehavior
@@ -41,7 +40,6 @@ import java.io.InputStream
4140
class FormbricksFragment : BottomSheetDialogFragment() {
4241
private lateinit var binding: FragmentFormbricksBinding
4342
private lateinit var surveyId: String
44-
private var overlay: SurveyOverlay = SurveyOverlay.NONE
4543
private val viewModel: FormbricksViewModel by viewModels()
4644
private var isDismissing = false
4745

@@ -125,9 +123,6 @@ class FormbricksFragment : BottomSheetDialogFragment() {
125123
super.onCreate(savedInstanceState)
126124
arguments?.let {
127125
surveyId = it.getString(ARG_SURVEY_ID) ?: throw IllegalArgumentException("Survey ID is required")
128-
overlay = it.getString(ARG_OVERLAY)?.let { name ->
129-
try { SurveyOverlay.valueOf(name) } catch (_: Exception) { SurveyOverlay.NONE }
130-
} ?: SurveyOverlay.NONE
131126
}
132127
}
133128

@@ -195,11 +190,6 @@ class FormbricksFragment : BottomSheetDialogFragment() {
195190
super.onReceivedError(view, request, error)
196191
Logger.d("WebView Error: ${error?.description}")
197192
}
198-
199-
override fun onPageCommitVisible(view: WebView?, url: String?) {
200-
dialog?.window?.setDimAmount(dimAmountFor(overlay))
201-
super.onPageCommitVisible(view, url)
202-
}
203193
}
204194

205195
it.setOnFocusChangeListener { _, hasFocus ->
@@ -272,22 +262,11 @@ class FormbricksFragment : BottomSheetDialogFragment() {
272262
companion object {
273263
private val TAG: String by lazy { FormbricksFragment::class.java.simpleName }
274264
private const val ARG_SURVEY_ID = "survey_id"
275-
private const val ARG_OVERLAY = "overlay"
276-
277-
/// Returns the appropriate dim amount for the given overlay style.
278-
fun dimAmountFor(overlay: SurveyOverlay): Float {
279-
return when (overlay) {
280-
SurveyOverlay.DARK -> 0.6f
281-
SurveyOverlay.LIGHT -> 0.3f
282-
SurveyOverlay.NONE -> 0.0f
283-
}
284-
}
285265

286-
fun show(childFragmentManager: FragmentManager, surveyId: String, overlay: SurveyOverlay = SurveyOverlay.NONE) {
266+
fun show(childFragmentManager: FragmentManager, surveyId: String) {
287267
val fragment = FormbricksFragment().apply {
288268
arguments = Bundle().apply {
289269
putString(ARG_SURVEY_ID, surveyId)
290-
putString(ARG_OVERLAY, overlay.name)
291270
}
292271
}
293272
fragment.show(childFragmentManager, TAG)

0 commit comments

Comments
 (0)