Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
incremental is an additional (body) attribute
  • Loading branch information
seadowg committed Dec 17, 2025
commit 2f28141f0bd7fbbeccb3900c6bb55d43029f0f7f
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package org.odk.collect.android.widgets.utilities

object AdditionalAttributes {
const val INCREMENTAL = "incremental"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package org.odk.collect.android.widgets.utilities

object BindAttributes {
const val ALLOW_MOCK_ACCURACY = "allow-mock-accuracy"
const val INCREMENTAL = "incremental"
const val QUALITY = "quality"

enum class Quality(val value: String) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import org.javarosa.core.model.Constants
import org.javarosa.core.model.data.StringData
import org.javarosa.form.api.FormEntryPrompt
import org.odk.collect.android.utilities.FormEntryPromptUtils
import org.odk.collect.android.widgets.utilities.AdditionalAttributes.INCREMENTAL
import org.odk.collect.android.widgets.utilities.BindAttributes.ALLOW_MOCK_ACCURACY
import org.odk.collect.android.widgets.utilities.BindAttributes.INCREMENTAL
import org.odk.collect.geo.geopoly.GeoPolyFragment
import org.odk.collect.geo.geopoly.GeoPolyFragment.OutputMode
import org.odk.collect.geo.geopoly.GeoPolyUtils
Expand All @@ -26,7 +26,7 @@ class GeoPolyDialogFragment(viewModelFactory: ViewModelProvider.Factory) :
) { _, result ->
val geopolyChange = result.getString(GeoPolyFragment.RESULT_GEOPOLY_CHANGE)
val geopoly = result.getString(GeoPolyFragment.RESULT_GEOPOLY)
val incremental = FormEntryPromptUtils.getBindAttribute(prompt, INCREMENTAL)
val incremental = FormEntryPromptUtils.getAdditionalAttribute(prompt, INCREMENTAL)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading a bind attribute was a mistake. incremental is a body attribute (https://www.w3.org/TR/xforms20/#ui-input).


if (geopolyChange != null) {
if (incremental == "true") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import org.odk.collect.android.formentry.FormEntryViewModel
import org.odk.collect.android.javarosawrapper.FailedValidationResult
import org.odk.collect.android.support.CollectHelpers
import org.odk.collect.android.support.MockFormEntryPromptBuilder
import org.odk.collect.android.widgets.utilities.AdditionalAttributes.INCREMENTAL
import org.odk.collect.android.widgets.utilities.WidgetAnswerDialogFragment.Companion.ARG_FORM_INDEX
import org.odk.collect.androidshared.ui.FragmentFactoryBuilder
import org.odk.collect.fragmentstest.FragmentScenarioLauncherRule
Expand Down Expand Up @@ -231,7 +232,7 @@ class GeoPolyDialogFragmentTest {
@Test
fun `sets answer with validate when REQUEST_GEOPOLY_CHANGE is returned if question is incremental`() {
prompt = MockFormEntryPromptBuilder(prompt)
.withBindAttribute("", "incremental", "true")
.withAdditionalAttribute(INCREMENTAL, "true")
.build()

val answer = "0.0 0.0 1.0 1.0; 0.0 1.0 1.0 1.0"
Expand Down Expand Up @@ -267,7 +268,7 @@ class GeoPolyDialogFragmentTest {
verify(formEntryViewModel, never()).answerQuestion(prompt.index, StringData(answer))

prompt = MockFormEntryPromptBuilder(prompt)
.withBindAttribute("", "incremental", "false")
.withAdditionalAttribute(INCREMENTAL, "false")
.build()

launcherRule.launch(
Expand All @@ -286,7 +287,7 @@ class GeoPolyDialogFragmentTest {
@Test
fun `does not dismiss when REQUEST_GEOPOLY_CHANGE is returned regardless of incremental value`() {
prompt = MockFormEntryPromptBuilder(prompt)
.withBindAttribute("", "incremental", "true")
.withAdditionalAttribute(INCREMENTAL, "true")
.build()

val answer = "0.0 0.0 1.0 1.0; 0.0 1.0 1.0 1.0"
Expand All @@ -305,7 +306,7 @@ class GeoPolyDialogFragmentTest {
}

prompt = MockFormEntryPromptBuilder(prompt)
.withBindAttribute("", "incremental", "false")
.withAdditionalAttribute(INCREMENTAL, "false")
.build()

launcherRule.launch(
Expand Down