From 65e22a9c8022b0755ee7b7bfaf7df187bf222bb8 Mon Sep 17 00:00:00 2001 From: Samuel Tardieu Date: Fri, 10 Apr 2015 12:40:17 +0200 Subject: fix #4719: coord.info links with extra parameters not opening Backport from master branch. --- main/src/cgeo/geocaching/connector/gc/GCConnector.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'main') diff --git a/main/src/cgeo/geocaching/connector/gc/GCConnector.java b/main/src/cgeo/geocaching/connector/gc/GCConnector.java index 2349392..b38d2e4 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConnector.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConnector.java @@ -308,15 +308,16 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, @Override @Nullable public String getGeocodeFromUrl(@NonNull final String url) { + final String noQueryString = StringUtils.substringBefore(url, "?"); // coord.info URLs - String code = StringUtils.substringAfterLast(url, "coord.info/"); - if (code != null && canHandle(code)) { - return code; + final String afterCoord = StringUtils.substringAfterLast(noQueryString, "coord.info/"); + if (canHandle(afterCoord)) { + return afterCoord; } // expanded geocaching.com URLs - code = StringUtils.substringBetween(url, "/geocache/", "_"); - if (code != null && canHandle(code)) { - return code; + final String afterGeocache = StringUtils.substringBetween(noQueryString, "/geocache/", "_"); + if (afterGeocache != null && canHandle(afterGeocache)) { + return afterGeocache; } return null; } -- cgit v1.1