diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-01-01 10:37:06 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-01-01 10:37:06 +0100 |
| commit | 67fd44829a9704c618259db895d6fd4940d26b41 (patch) | |
| tree | 97303c96f1dd8347e7d204f5c99f19f699412597 /main/src | |
| parent | 51fed3a37cf966cea0157659e5d95404f6e9db1d (diff) | |
| download | cgeo-67fd44829a9704c618259db895d6fd4940d26b41.zip cgeo-67fd44829a9704c618259db895d6fd4940d26b41.tar.gz cgeo-67fd44829a9704c618259db895d6fd4940d26b41.tar.bz2 | |
fix #3499: exception when parsing bad coordinates
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java index 00d4c1a..ea7554d 100644 --- a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java +++ b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java @@ -328,47 +328,47 @@ public class CoordinatesInputDialog extends NoTitleDialog { } private boolean calc(final boolean signalError) { - if (currentFormat == CoordInputFormatEnum.Plain) { - try { + try { + if (currentFormat == CoordInputFormatEnum.Plain) { gp = new Geopoint(eLat.getText().toString(), eLon.getText().toString()); - } catch (final Geopoint.ParseException e) { - if (signalError) { - context.showToast(context.getResources().getString(R.string.err_parse_lat_lon)); - } - return false; + return true; } - return true; - } - - final String latDir = bLat.getText().toString(); - final String lonDir = bLon.getText().toString(); - final String latDeg = eLatDeg.getText().toString(); - final String lonDeg = eLonDeg.getText().toString(); - final String latDegFrac = eLatMin.getText().toString(); - final String lonDegFrac = eLonMin.getText().toString(); - final String latMin = eLatMin.getText().toString(); - final String lonMin = eLonMin.getText().toString(); - final String latMinFrac = eLatSec.getText().toString(); - final String lonMinFrac = eLonSec.getText().toString(); - final String latSec = eLatSec.getText().toString(); - final String lonSec = eLonSec.getText().toString(); - final String latSecFrac = eLatSub.getText().toString(); - final String lonSecFrac = eLonSub.getText().toString(); - switch (currentFormat) { - case Deg: - gp = new Geopoint(latDir, latDeg, latDegFrac, lonDir, lonDeg, lonDegFrac); - break; - case Min: - gp = new Geopoint(latDir, latDeg, latMin, latMinFrac, lonDir, lonDeg, lonMin, lonMinFrac); - break; - case Sec: - gp = new Geopoint(latDir, latDeg, latMin, latSec, latSecFrac, lonDir, lonDeg, lonMin, lonSec, lonSecFrac); - break; - case Plain: - // This case has been handled above - default: - throw new IllegalArgumentException(); + final String latDir = bLat.getText().toString(); + final String lonDir = bLon.getText().toString(); + final String latDeg = eLatDeg.getText().toString(); + final String lonDeg = eLonDeg.getText().toString(); + final String latDegFrac = eLatMin.getText().toString(); + final String lonDegFrac = eLonMin.getText().toString(); + final String latMin = eLatMin.getText().toString(); + final String lonMin = eLonMin.getText().toString(); + final String latMinFrac = eLatSec.getText().toString(); + final String lonMinFrac = eLonSec.getText().toString(); + final String latSec = eLatSec.getText().toString(); + final String lonSec = eLonSec.getText().toString(); + final String latSecFrac = eLatSub.getText().toString(); + final String lonSecFrac = eLonSub.getText().toString(); + + switch (currentFormat) { + case Deg: + gp = new Geopoint(latDir, latDeg, latDegFrac, lonDir, lonDeg, lonDegFrac); + break; + case Min: + gp = new Geopoint(latDir, latDeg, latMin, latMinFrac, lonDir, lonDeg, lonMin, lonMinFrac); + break; + case Sec: + gp = new Geopoint(latDir, latDeg, latMin, latSec, latSecFrac, lonDir, lonDeg, lonMin, lonSec, lonSecFrac); + break; + case Plain: + // This case has been handled above + default: + throw new IllegalArgumentException(); + } + } catch (final Geopoint.ParseException e) { + if (signalError) { + context.showToast(context.getResources().getString(R.string.err_parse_lat_lon)); + } + return false; } return true; |
