aboutsummaryrefslogtreecommitdiffstats
path: root/src/cgeo/geocaching/cgeoadvsearch.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgeo/geocaching/cgeoadvsearch.java')
-rw-r--r--src/cgeo/geocaching/cgeoadvsearch.java21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/cgeo/geocaching/cgeoadvsearch.java b/src/cgeo/geocaching/cgeoadvsearch.java
index d48c23f..cbf64e1 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,29 +263,32 @@ 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) {
+ double latitude;
+ try {
+ latitude = GeopointParser.parseLatitude(latText);
+ } catch (GeopointParser.ParseException e) {
showToast(res.getString(R.string.err_parse_lat));
return;
}
- if (lonParsed == null || lonParsed.get("coordinate") == null || lonParsed.get("string") == null) {
+ double longitude;
+ try {
+ longitude = GeopointParser.parseLongitude(lonText);
+ } catch (GeopointParser.ParseException e) {
showToast(res.getString(R.string.err_parse_lon));
return;
}
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("latitude", latitude);
+ cachesIntent.putExtra("longitude", longitude);
cachesIntent.putExtra("cachetype", settings.cacheType);
startActivity(cachesIntent);
}