diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2011-09-15 13:49:46 -0700 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2011-09-15 13:49:46 -0700 |
| commit | 931ab08f805703f2a7610843fbdbe0f54113e919 (patch) | |
| tree | c135cd0915026d0ed950bc660c624388051d99dc /src/cgeo/geocaching/cgeoadvsearch.java | |
| parent | c166372fa282e7f9f1f5c53b0fe33d3d3dd61148 (diff) | |
| parent | a7c9811629b30c2c314966fc585290e8b42d5927 (diff) | |
| download | cgeo-931ab08f805703f2a7610843fbdbe0f54113e919.zip cgeo-931ab08f805703f2a7610843fbdbe0f54113e919.tar.gz cgeo-931ab08f805703f2a7610843fbdbe0f54113e919.tar.bz2 | |
Merge pull request #463 from samueltardieu/use-geopoint-parser
Use geopoint parser
Diffstat (limited to 'src/cgeo/geocaching/cgeoadvsearch.java')
| -rw-r--r-- | src/cgeo/geocaching/cgeoadvsearch.java | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/src/cgeo/geocaching/cgeoadvsearch.java b/src/cgeo/geocaching/cgeoadvsearch.java index ea17205..9e70a3a 100644 --- a/src/cgeo/geocaching/cgeoadvsearch.java +++ b/src/cgeo/geocaching/cgeoadvsearch.java @@ -2,6 +2,7 @@ package cgeo.geocaching; import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.geopoint.Geopoint; +import cgeo.geocaching.geopoint.GeopointParser; import org.apache.commons.lang3.StringUtils; @@ -22,7 +23,6 @@ import android.widget.Button; import android.widget.EditText; import android.widget.TextView; -import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -263,31 +263,22 @@ public class cgeoadvsearch extends AbstractActivity { final String latText = latView.getText().toString(); final String lonText = lonView.getText().toString(); - if (StringUtils.isEmpty(latText) || StringUtils.isEmpty(lonText)) { // TODO: now coordinates + if (StringUtils.isEmpty(latText) || StringUtils.isEmpty(lonText)) { if (geo.coordsNow != null) { latView.setText(cgBase.formatLatitude(geo.coordsNow.getLatitude(), true)); lonView.setText(cgBase.formatLongitude(geo.coordsNow.getLongitude(), true)); } } else { - Map<String, Object> latParsed = cgBase.parseCoordinate(latText, "lat"); - Map<String, Object> lonParsed = cgBase.parseCoordinate(lonText, "lat"); - - if (latParsed == null || latParsed.get("coordinate") == null || latParsed.get("string") == null) { - showToast(res.getString(R.string.err_parse_lat)); - return; - } - - if (lonParsed == null || lonParsed.get("coordinate") == null || lonParsed.get("string") == null) { - showToast(res.getString(R.string.err_parse_lon)); - return; + try { + final Intent cachesIntent = new Intent(this, cgeocaches.class); + cachesIntent.putExtra("latitude", GeopointParser.parseLatitude(latText)); + cachesIntent.putExtra("longitude", GeopointParser.parseLongitude(lonText)); + cachesIntent.putExtra("type", "coordinate"); + cachesIntent.putExtra("cachetype", settings.cacheType); + startActivity(cachesIntent); + } catch (GeopointParser.ParseException e) { + showToast(res.getString(e.resource)); } - - final Intent cachesIntent = new Intent(this, cgeocaches.class); - cachesIntent.putExtra("type", "coordinate"); - cachesIntent.putExtra("latitude", (Double) latParsed.get("coordinate")); - cachesIntent.putExtra("longitude", (Double) lonParsed.get("coordinate")); - cachesIntent.putExtra("cachetype", settings.cacheType); - startActivity(cachesIntent); } } |
