We get some crash reports sometimes that we don't quite understand.
I understand that there are times when the MapView is not ready to return information like Scale and VisibleArea.
But how do I tell when it is safe? Crashing isn't very user friendly.
Example 1:
com.esri.arcgisruntime.internal.jni.CoreMapView.nativeGetScale (SourceFile)
com.esri.arcgisruntime.internal.jni.CoreMapView.q (SourceFile:233)
com.esri.arcgisruntime.internal.h.b.o.m (SourceFile:224)
com.esri.arcgisruntime.mapping.view.MapView.getMapScale (SourceFile:295)
....HomeActivity.updateZoomLevelText (BCHomeActivity.java:687)
...HomeActivity.access$000 (BCHomeActivity.java:203)
...HomeActivity$1.mapScaleChanged (BCHomeActivity.java:366)
com.esri.arcgisruntime.internal.h.b.n$1.run (SourceFile:58)
Sure there are times when the scale can't be read. But I don't think one of those times should be when you just called us to tell us the scale changed. That seems like a time when we can get a scale and update the zoomlevel. But nope, it crashes. Not all the time, but some of the time.
A bit ridiculous?
Is there some method available like boolean MapView isItSafetoAskforScale() ?
Because the only other alternative I can think of is to handle an exception every time we call MapView.getMapScale().
Or just let it crash.