diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-08-12 15:59:20 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-08-12 16:02:22 +0200 |
| commit | 93714d1741b23529bf607442ddabd866dc67a077 (patch) | |
| tree | 76acd9cf867608d3b93d26fa22dac2b8eafb4c69 | |
| parent | 5f8e8986ecea475f9afdd6bf2bdd4ac9378ddf60 (diff) | |
| download | cgeo-93714d1741b23529bf607442ddabd866dc67a077.zip cgeo-93714d1741b23529bf607442ddabd866dc67a077.tar.gz cgeo-93714d1741b23529bf607442ddabd866dc67a077.tar.bz2 | |
fix #4165: avatar no longer recognized
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCConstants.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCLogin.java | 13 |
2 files changed, 4 insertions, 11 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCConstants.java b/main/src/cgeo/geocaching/connector/gc/GCConstants.java index 7cf43dc..fbe5323 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConstants.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConstants.java @@ -73,7 +73,7 @@ public final class GCConstants { public static final String MEMBER_STATUS_PM = "Premium Member"; /** Use replaceAll("[,.]","") on the resulting string before converting to an int */ public static final Pattern PATTERN_CACHES_FOUND = Pattern.compile("<strong[^>]*>.*?([\\d,.]+) Caches? Found", Pattern.DOTALL); - public static final Pattern PATTERN_AVATAR_IMAGE_PROFILE_PAGE = Pattern.compile("src=\"(https?://(imgcdn\\.geocaching\\.com|[^>\"]+\\.cloudfront\\.net)/avatar/[0-9a-f-]+\\.jpg)\"[^>]*alt=\"Avatar\""); + public static final Pattern PATTERN_AVATAR_IMAGE_PROFILE_PAGE = Pattern.compile("src=\"(https?://(imgcdn\\.geocaching\\.com|[^>\"]+\\.cloudfront\\.net)/avatar/[0-9a-f-]+\\.jpg)\"[^>]*alt=\""); 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\""); diff --git a/main/src/cgeo/geocaching/connector/gc/GCLogin.java b/main/src/cgeo/geocaching/connector/gc/GCLogin.java index e84851e..456a81b 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCLogin.java +++ b/main/src/cgeo/geocaching/connector/gc/GCLogin.java @@ -22,8 +22,6 @@ import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import rx.Observable; -import rx.functions.Func0; -import rx.util.async.Async; import android.graphics.drawable.Drawable; @@ -271,14 +269,9 @@ public class GCLogin extends AbstractLogin { setActualCachesFound(Integer.parseInt(TextUtils.getMatch(profile, GCConstants.PATTERN_CACHES_FOUND, true, "-1").replaceAll("[,.]", ""))); final String avatarURL = TextUtils.getMatch(profile, GCConstants.PATTERN_AVATAR_IMAGE_PROFILE_PAGE, false, null); - if (null != avatarURL) { - return Async.start(new Func0<Drawable>() { - @Override - public Drawable call() { - final HtmlImage imgGetter = new HtmlImage("", false, 0, false); - return imgGetter.getDrawable(avatarURL.replace("avatar", "user/large")); - } - }); + if (avatarURL != null) { + final HtmlImage imgGetter = new HtmlImage("", false, 0, false); + return imgGetter.fetchDrawable(avatarURL.replace("avatar", "user/large")).cast(Drawable.class); } // No match? There may be no avatar set by user. Log.d("No avatar set for user"); |
