diff options
Diffstat (limited to 'main')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCLogin.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/CGeoMap.java | 20 |
2 files changed, 7 insertions, 18 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCLogin.java b/main/src/cgeo/geocaching/connector/gc/GCLogin.java index e072c8f..7f23bf6 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCLogin.java +++ b/main/src/cgeo/geocaching/connector/gc/GCLogin.java @@ -473,10 +473,9 @@ public class GCLogin extends AbstractLogin { * * @return first is user session, second is session token */ - public static @NonNull + public @NonNull MapTokens getMapTokens() { - final HttpResponse response = Network.getRequest(GCConstants.URL_LIVE_MAP); - final String data = Network.getResponseData(response); + final String data = getRequestLogged(GCConstants.URL_LIVE_MAP, null); final String userSession = TextUtils.getMatch(data, GCConstants.PATTERN_USERSESSION, ""); final String sessionToken = TextUtils.getMatch(data, GCConstants.PATTERN_SESSIONTOKEN, ""); return new MapTokens(userSession, sessionToken); diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java index d8cad51..48be2d7 100644 --- a/main/src/cgeo/geocaching/maps/CGeoMap.java +++ b/main/src/cgeo/geocaching/maps/CGeoMap.java @@ -1161,29 +1161,19 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto public void run() { try { showProgressHandler.sendEmptyMessage(SHOW_PROGRESS); // show progress - - int count = 0; - SearchResult searchResult; - do { - + SearchResult searchResult = new SearchResult(); + if (Settings.isGCConnectorActive()) { if (tokens == null) { - tokens = GCLogin.getMapTokens(); + tokens = GCLogin.getInstance().getMapTokens(); if (noMapTokenHandler != null && (StringUtils.isEmpty(tokens.getUserSession()) || StringUtils.isEmpty(tokens.getSessionToken()))) { + tokens = null; noMapTokenHandler.sendEmptyMessage(0); } } searchResult = ConnectorFactory.searchByViewport(viewport.resize(0.8), tokens); downloaded = true; - if (searchResult.getError() == StatusCode.NOT_LOGGED_IN && Settings.isGCConnectorActive()) { - GCLogin.getInstance().login(); - tokens = null; - } else { - break; - } - count++; - - } while (count < 2); + } Set<Geocache> result = searchResult.getCachesFromSearchResult(LoadFlags.LOAD_CACHE_OR_DB); CGeoMap.filter(result); |
