diff options
Diffstat (limited to 'main/src/cgeo/geocaching/cgeoadvsearch.java')
| -rw-r--r-- | main/src/cgeo/geocaching/cgeoadvsearch.java | 43 |
1 files changed, 18 insertions, 25 deletions
diff --git a/main/src/cgeo/geocaching/cgeoadvsearch.java b/main/src/cgeo/geocaching/cgeoadvsearch.java index 194fdbb..2c1d5f8 100644 --- a/main/src/cgeo/geocaching/cgeoadvsearch.java +++ b/main/src/cgeo/geocaching/cgeoadvsearch.java @@ -121,32 +121,25 @@ public class cgeoadvsearch extends AbstractActivity { * @return true if a search was performed, else false */ private boolean instantSearch(final String query, final boolean keywordSearch) { - try { - String result = BaseUtils.getMatch(query, GCConstants.PATTERN_GC_CODE, true, 0, "", false); - if (StringUtils.isNotBlank(result)) { - final Intent cachesIntent = new Intent(this, CacheDetailActivity.class); - cachesIntent.putExtra("geocode", result.toUpperCase()); - startActivity(cachesIntent); - - return true; - } else { - result = BaseUtils.getMatch(query, GCConstants.PATTERN_TB_CODE, true, 0, "", false); - if (StringUtils.isNotBlank(result)) { - final Intent trackablesIntent = new Intent(this, cgeotrackable.class); - trackablesIntent.putExtra("geocode", result.toUpperCase()); - startActivity(trackablesIntent); - - return true; - } else if (keywordSearch) { // keyword fallback, if desired by caller - cgeocaches.startActivityKeyword(this, query.trim()); - return true; - } else { - return false; - } + final String geocode = BaseUtils.getMatch(query, GCConstants.PATTERN_GC_CODE, true, 0, "", false); + if (StringUtils.isNotBlank(geocode)) { + final Intent cachesIntent = new Intent(this, CacheDetailActivity.class); + cachesIntent.putExtra("geocode", geocode.toUpperCase()); + startActivity(cachesIntent); + return true; + } - } - } catch (Exception e) { - Log.w("cgeoadvsearch.instantSearch: " + e.toString()); + final String trackable = BaseUtils.getMatch(query, GCConstants.PATTERN_TB_CODE, true, 0, "", false); + if (StringUtils.isNotBlank(trackable)) { + final Intent trackablesIntent = new Intent(this, cgeotrackable.class); + trackablesIntent.putExtra("geocode", trackable.toUpperCase()); + startActivity(trackablesIntent); + return true; + } + + if (keywordSearch) { // keyword fallback, if desired by caller + cgeocaches.startActivityKeyword(this, query.trim()); + return true; } return false; |
