Closed
Description
Summary:
Some devices appear to have malformed NMEA strings. From Android Developer Console:
java.lang.ArrayIndexOutOfBoundsException:
at com.android.gpstest.util.GpsTestUtil.getAltitudeMeanSeaLevel (GpsTestUtil.java:257)
at com.android.gpstest.GpsStatusFragment.onNmeaMessage (GpsStatusFragment.java:363)
at com.android.gpstest.GpsTestActivity$5.onNmeaMessage (GpsTestActivity.java:780)
at android.location.LocationManager$GnssStatusListenerTransport$GnssHandler.handleMessage (LocationManager.java:1419)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6776)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1518)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)
Steps to reproduce:
Run app on device with malformed NMEA strings
Expected behavior:
Correctly parse NMEA value, or log exception but don't crash on malformed NMEA strings
Observed behavior:
App crashes with ArrayOutOfBoundsException
Device and Android version:
Above stack trace is from:
Samsung Galaxy A5(2017) (a5y17lte), 3072MB RAM, Android 7.0