Select to view content in your preferred language

Field Maps Crashing on Android Device After Collecting Point Feature

2333
9
Jump to solution
07-17-2023 02:17 PM
travisajohnson_wsp
Emerging Contributor

Hello,

I have a web map that has been configured for ArcGIS Field Maps using the field maps designer application on AGOL. It uses domain data capture and arcade expressions to auto name sample points that my field staff collect in a given sampling event. the arcade expression is set to look at various attribute fields and update the final sample nomenclature based on what was submitted.

The new web map/field maps has been working fantastically for my iOS users. Recently, we have had a staff member with an android phone start working within the web map. Every time they collect a GPS Point feature, Field Maps completely crashes without any error message. We also have polyline and polygon feature layers within this web map that the staff member is able to collect without any problem. The polyline and polygon features do not have any arcade logic associated with them and so that is why I am thinking it could be an issue related to that. Wondering if this is a bug related specifically with Field Maps Arcade expressions and Android devices. Hoping to either get some advice on fixes or raise awareness of a possible bug.

 

I can post the code if that would help. Again, we are only running into this issue on Android devices.

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
ColinLawrence
Esri Regular Contributor

Hi Travis, I can reproduce the same crash using the map you shared on my samsung phone. I caught the following in the logs:

java.lang.IllegalStateException: Required value was null.



I am not positive that explicitly points to the issue. I took a look on iOS, which doesn't crash as you mentioned, and noticed the @ symbol in one of the fields and as part of the popup title. I assume this is added from your arcade expression? Can you try removing this symbol from the expression and see if the app still crashes?

Regards,
Colin

View solution in original post

9 Replies
ColinLawrence
Esri Regular Contributor

Hi @travisajohnson_wsp , what Android devices and OS versions are you seeing this on? Would you be able to share your Web Map with us? You can add the Map and Feature Service(s) to a Group and invite the user "Arcgisfieldmaps". Thanks!

Regards,
Colin
travisajohnson_wsp
Emerging Contributor

Hey Colin,

Apologies for the delay on this. I have invited the "Arcgisfieldmaps" user account to our Esri Troubleshooting group and shared the trouble-some web map and feature layer with the group. Any help troubleshooting the issue would be appreciated. Again this only seems to be an issue on android devices. The user who reported the issue is on a Samsung Galaxy smartphone, unsure of the version but would assume the most recent.

 

Thanks for your help on this!!

0 Kudos
ColinLawrence
Esri Regular Contributor

Hi Travis, I can reproduce the same crash using the map you shared on my samsung phone. I caught the following in the logs:

java.lang.IllegalStateException: Required value was null.



I am not positive that explicitly points to the issue. I took a look on iOS, which doesn't crash as you mentioned, and noticed the @ symbol in one of the fields and as part of the popup title. I assume this is added from your arcade expression? Can you try removing this symbol from the expression and see if the app still crashes?

Regards,
Colin
travisajohnson_wsp
Emerging Contributor

Thanks for looking into this! Apologies for the late response. I never received a notification of your response 🤔. Will test this out and let you know if the issue continues. Ideally, we want to keep the @ symbol as it is needed for the point nomenclature, but if it is the source of the crash, we can live without it.

travisajohnson_wsp
Emerging Contributor

Hey Colin,

I think we fixed the issue after running some tests! It appears it was tied to the "Form Title" within field maps. I had it populating based on data that was entered within the form (i.e. Form Title: {SampleNomenclature}). It may have been related to the @ symbol that is within the SampleNomenclature attribute field, or just it trying to actively populate the field as data was being entered since SampleNomencature is a calculated field itself. What I did was just change the Form Title to something static (i.e. "GPS Point") and that seems to have fixed the issue! Appreciate your help with this!

0 Kudos
ColinLawrence
Esri Regular Contributor

Thats great! Thank you for confirming.

Regards,
Colin
0 Kudos
amyw
by
Occasional Contributor

Hi Colin,

Thanks for replying to this.  Sorry I didn't notice your reply until now.  I don't see an @symbol but there are several editable layers in this web map so I'll have to look more closely.  I didn't see an @ symbol in the Visual Encounter Form titles, the layer that was causing the crash.

0 Kudos
ColinLawrence
Esri Regular Contributor

It could be unrelated to the crash the other person was seeing. If you remove the Arcade you mentioned previously, does it still crash on those devices? 

Regards,
Colin
0 Kudos
amyw
by
Occasional Contributor

Hi There,  I have a similar issue.  The ios platform is bug free.  Today, 2 data collectors with samsung phones explained that their map kept crashing on one feature layer/form.  Fortunately, they have other devices to use and they have isolated the one form that is causing the crash.  In the map, the feature has arcade applied to alter the symbology to show more recent observations in a larger/brighter representation.  This is very useful to field crews/leads, especially in the spring.  I'm hoping to solve this without compromising the use of arcade symbology for this project, nor do I want to advocate for the brand of device used for this project.

arcade symbology is applied using a tiny script:

// script that highlights point collection within the last 48 hrs calling them recent detections, otherwise calls them older detections
var obsTime = $feature.DateTime
var ageofObs = DateDiff(now(), obsTime, 'days')
if (ageofObs < 2) {
return 'Recent Detections'
}
return 'Older Detections

 

Hopefully it's just a best practices learning experience for me; there's room for me to learn more about arcade/Fieldmaps & AGOL.

The log file from field maps is also attached but it doesn't mean a lot to me.

Thanks for your help.

a

0 Kudos