WhereYouGo icon indicating copy to clipboard operation
WhereYouGo copied to clipboard

java.lang.IllegalArgumentException: invalid longitude / lattitude

Open Lineflyer opened this issue 5 years ago • 3 comments

Found in Google Play Pre-Launch analysis.

To Reproduce:

  • Menu - Settings - Localization - Coordinate format=DD.DDDDD
  • Menu - Map
  • Click on position icon in top bar
  • Select "Enter Coordinates"
  • Enter "123456" as longitude or latitude

Result: Crash

Expected result: Failure should be catched and appropriate error message shown

Remark: This seems to be inside the mapsforge code...we should maybe replace the old mapsforge stuff in general.

Lineflyer avatar Apr 15 '20 15:04 Lineflyer

Similar bug seems to apply once these fields are empty or with invalid characters.

Lineflyer avatar Apr 15 '20 15:04 Lineflyer

do you mean something like

 Location - setLatitude(360.0), invalid latitude, e:
 java.lang.Exception: 
     at locus.api.objects.extra.Location.setLatitude(Location.java:499)
     at menion.android.whereyougo.gui.activity.MainActivity.refreshCartridges(MainActivity.java:189)
     at menion.android.whereyougo.gui.activity.MainActivity.onResume(MainActivity.java:378)
     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1277)
     at android.app.Activity.performResume(Activity.java:7088)
     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3768)
     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3832)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1681)
     at android.os.Handler.dispatchMessage(Handler.java:102)
     at android.os.Looper.loop(Looper.java:154)
     at android.app.ActivityThread.main(ActivityThread.java:6682)
     at java.lang.reflect.Method.invoke(Native Method)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)

This error I have initial, also with GPS on. It is thrown inside the Locus API.

Edit: Checked now - this is an other point.

bekuno avatar Apr 15 '20 19:04 bekuno

menion.android.whereyougo E/UncaughtExceptionHandler: uncaughtException main
    java.lang.Exception: java.lang.IllegalArgumentException: invalid latitude: 123456.0
        at menion.android.whereyougo.utils.Logger.e(Logger.java:50)
        at menion.android.whereyougo.utils.ExceptionHandler.uncaughtException(ExceptionHandler.java:27)
        at org.chromium.base.JavaExceptionReporter.uncaughtException(PG:6)
        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)
menion.android.whereyougo E/AndroidRuntime: FATAL EXCEPTION: main
    Process: menion.android.whereyougo, PID: 14511
    java.lang.IllegalArgumentException: invalid latitude: 123456.0
        at org.mapsforge.core.model.CoordinatesUtil.validateLatitude(CoordinatesUtil.java:121)
        at org.mapsforge.core.model.GeoPoint.<init>(GeoPoint.java:84)
        at menion.android.whereyougo.maps.mapsforge.MapsforgeActivity$7.onClick(MapsforgeActivity.java:514)
        at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:175)

bekuno avatar Apr 15 '20 19:04 bekuno