diff options
author | Bananeweizen <bananeweizen@gmx.de> | 2013-06-21 19:33:10 +0200 |
---|---|---|
committer | Bananeweizen <bananeweizen@gmx.de> | 2013-06-21 19:33:10 +0200 |
commit | 786332e2233d61c24ad0865d8afe541e4337baf9 (patch) | |
tree | c7dcf629c89419181f301d4b73aab51f051c5045 /main/src/cgeo/geocaching/connector/gc | |
parent | 42b6952fa203bb5135ab33b633d2a27e8781496b (diff) | |
download | cgeo-786332e2233d61c24ad0865d8afe541e4337baf9.zip cgeo-786332e2233d61c24ad0865d8afe541e4337baf9.tar.gz cgeo-786332e2233d61c24ad0865d8afe541e4337baf9.tar.bz2 |
refactoring: remove duplicated code for logging in
Diffstat (limited to 'main/src/cgeo/geocaching/connector/gc')
-rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCParser.java | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCParser.java b/main/src/cgeo/geocaching/connector/gc/GCParser.java index a58b2cc..3e26eb2 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCParser.java +++ b/main/src/cgeo/geocaching/connector/gc/GCParser.java @@ -1008,7 +1008,7 @@ public abstract class GCParser { final String uri = new Uri.Builder().scheme("http").authority("www.geocaching.com").path("/seek/log.aspx").encodedQuery("ID=" + cacheid).build().toString(); String page = Login.postRequestLogged(uri, params); if (!Login.getLoginStatus(page)) { - Log.e("GCParser.postLogTrackable: Can not log in geocaching"); + Log.e("GCParser.postLog: Cannot log in geocaching"); return new ImmutablePair<StatusCode, String>(StatusCode.NOT_LOGGED_IN, ""); } @@ -1103,19 +1103,12 @@ public abstract class GCParser { * @return status code to indicate success or failure */ public static ImmutablePair<StatusCode, String> uploadLogImage(final String logId, final String caption, final String description, final Uri imageUri) { - final String uri = new Uri.Builder().scheme("http").authority("www.geocaching.com").path("/seek/upload.aspx").encodedQuery("LID=" + logId).build().toString(); - - String page = Network.getResponseData(Network.getRequest(uri)); + final String uri = new Uri.Builder().scheme("http").authority("www.geocaching.com").path("/seek/upload.aspx").build().toString(); - if (!Login.getLoginStatus(page)) { - // Login.isActualLoginStatus() was wrong, we are not logged in - final StatusCode loginState = Login.login(); - if (loginState == StatusCode.NO_ERROR) { - page = Network.getResponseData(Network.getRequest(uri)); - } else { - Log.e("Image upload: No login (error: " + loginState + ')'); - return ImmutablePair.of(StatusCode.NOT_LOGGED_IN, null); - } + final String page = Login.getRequestLogged(uri, new Parameters("LID=", logId)); + if (StringUtils.isBlank(page)) { + Log.e("GCParser.uploadLogImage: No data from server"); + return new ImmutablePair<StatusCode, String>(StatusCode.UNKNOWN_ERROR, null); } final String[] viewstates = Login.getViewstates(page); @@ -1195,7 +1188,7 @@ public abstract class GCParser { final String uri = new Uri.Builder().scheme("http").authority("www.geocaching.com").path("/track/log.aspx").encodedQuery("wid=" + tbid).build().toString(); final String page = Login.postRequestLogged(uri, params); if (!Login.getLoginStatus(page)) { - Log.e("GCParser.postLogTrackable: Can not log in geocaching"); + Log.e("GCParser.postLogTrackable: Cannot log in geocaching"); return StatusCode.NOT_LOGGED_IN; } |