aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-01-03 14:00:23 +0100
committerSamuel Tardieu <sam@rfc1149.net>2014-01-03 14:00:23 +0100
commit2edc28f99df83840a56aa13e6403d27712fef817 (patch)
treef37339e95e79b7f2b8e57460f9c4b5f5cad1cc4d /main
parentac278a219d32aaab5e9d95ea894b29912d609f63 (diff)
downloadcgeo-2edc28f99df83840a56aa13e6403d27712fef817.zip
cgeo-2edc28f99df83840a56aa13e6403d27712fef817.tar.gz
cgeo-2edc28f99df83840a56aa13e6403d27712fef817.tar.bz2
fix #3505: extra logins done to gc.com on live map start
Diffstat (limited to 'main')
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCConstants.java1
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCLogin.java5
2 files changed, 6 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCConstants.java b/main/src/cgeo/geocaching/connector/gc/GCConstants.java
index d424ec7..5685fc9 100644
--- a/main/src/cgeo/geocaching/connector/gc/GCConstants.java
+++ b/main/src/cgeo/geocaching/connector/gc/GCConstants.java
@@ -73,6 +73,7 @@ public final class GCConstants {
public static final Pattern PATTERN_AVATAR_IMAGE_PROFILE_PAGE = Pattern.compile("<img src=\"(http://img.geocaching.com/user/avatar/[0-9a-f-]+\\.jpg)\"[^>]*\\salt=\"Avatar\"");
public static final Pattern PATTERN_LOGIN_NAME_LOGIN_PAGE = Pattern.compile("ctl00_ContentBody_lbUsername\">.*<strong>(.*)</strong>");
public static final Pattern PATTERN_CUSTOMDATE = Pattern.compile("<option selected=\"selected\" value=\"([ /Mdy-]+)\">");
+ public static final Pattern PATTERN_MAP_LOGGED_IN = Pattern.compile("<a href=\"https?://www.geocaching.com/my/\" class=\"CommonUsername\" title=\"(.*)\"");
/**
* Patterns for parsing trackables
diff --git a/main/src/cgeo/geocaching/connector/gc/GCLogin.java b/main/src/cgeo/geocaching/connector/gc/GCLogin.java
index 7f23bf6..2d4fbcd 100644
--- a/main/src/cgeo/geocaching/connector/gc/GCLogin.java
+++ b/main/src/cgeo/geocaching/connector/gc/GCLogin.java
@@ -183,6 +183,11 @@ public class GCLogin extends AbstractLogin {
}
assert page != null;
+ if (TextUtils.matches(page, GCConstants.PATTERN_MAP_LOGGED_IN)) {
+ setActualUserName(TextUtils.getMatch(page, GCConstants.PATTERN_MAP_LOGGED_IN, true, "???"));
+ return true;
+ }
+
setActualStatus(CgeoApplication.getInstance().getString(R.string.init_login_popup_ok));
// on every page except login page