aboutsummaryrefslogtreecommitdiffstats
path: root/src/cgeo/geocaching/cgeoadvsearch.java
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2011-09-15 13:49:46 -0700
committerSamuel Tardieu <sam@rfc1149.net>2011-09-15 13:49:46 -0700
commit931ab08f805703f2a7610843fbdbe0f54113e919 (patch)
treec135cd0915026d0ed950bc660c624388051d99dc /src/cgeo/geocaching/cgeoadvsearch.java
parentc166372fa282e7f9f1f5c53b0fe33d3d3dd61148 (diff)
parenta7c9811629b30c2c314966fc585290e8b42d5927 (diff)
downloadcgeo-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.java31
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);
}
}