getodk / collect

ODK Collect is an Android app for filling out forms. It's been used to collect billions of data points in challenging environments around the world. Contribute and make the world a better place! ✨📋✨
https://docs.getodk.org/collect-intro
Other
719 stars 1.38k forks source link

Fixed reading geometryXPath in FormMetadataParser #6465

Closed grzesiek2010 closed 1 month ago

grzesiek2010 commented 1 month ago

Closes #6450

Why is this the best possible solution? Were any other approaches considered?

The problem here was a bug in a recursive function that returned a wrong (null) value too early.

How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?

We should test forms with geopoints (those that display the map icon in the form list) under different configurations. In this case, the issue was that while the geopoint existed, the form had two groups, and it was placed in the second one. It would be helpful to create several forms with multiple groups, including nested ones, to thoroughly test these scenarios.

Do we need any specific form for testing your changes? If so, please attach one.

No.

Does this change require updates to documentation? If so, please file an issue here and include the link below.

No.

Before submitting this PR, please make sure you have:

dbemke commented 1 month ago

Tested with Success!

Verified on a device with Android 10

Verified cases:

WKobus commented 1 month ago

Tested with Success!

Verified on a device with Android 15