diff options
| author | mucek4 <tomaz@gorenc.org> | 2011-10-19 07:42:46 +0200 |
|---|---|---|
| committer | mucek4 <tomaz@gorenc.org> | 2011-10-19 07:42:46 +0200 |
| commit | 3a7fa06dfe8956eae8c6fd05547c8fccd1699ce4 (patch) | |
| tree | 4f8c703e5ea374de79db39e02d01d7613581f28d /main | |
| parent | bc610e7cfa71b871c5fb50bf4485bc5cdc81590c (diff) | |
| download | cgeo-3a7fa06dfe8956eae8c6fd05547c8fccd1699ce4.zip cgeo-3a7fa06dfe8956eae8c6fd05547c8fccd1699ce4.tar.gz cgeo-3a7fa06dfe8956eae8c6fd05547c8fccd1699ce4.tar.bz2 | |
Don't change to English if it's already in English
Diffstat (limited to 'main')
| -rw-r--r-- | main/src/cgeo/geocaching/cgBase.java | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java index ca82bb0..12e0651 100644 --- a/main/src/cgeo/geocaching/cgBase.java +++ b/main/src/cgeo/geocaching/cgBase.java @@ -458,7 +458,7 @@ public class cgBase { if (checkLogin(loginData)) { Log.i(Settings.tag, "Already logged in Geocaching.com as " + loginStart.left); - switchToEnglish(); + switchToEnglish(loginData); return StatusCode.NO_ERROR; // logged in } @@ -493,7 +493,7 @@ public class cgBase { if (checkLogin(loginData)) { Log.i(Settings.tag, "Successfully logged in Geocaching.com as " + login.left); - switchToEnglish(); + switchToEnglish(loginData); return StatusCode.NO_ERROR; // logged in } else { @@ -535,18 +535,24 @@ public class cgBase { return false; } - public static void switchToEnglish() { - final String page = getResponseData(request("http://www.geocaching.com/default.aspx", null, false)); - if (page == null) { - Log.e(Settings.tag, "Failed to read viewstates to set geocaching.com language"); - } - final Parameters params = new Parameters( - "__EVENTTARGET", "ctl00$uxLocaleList$uxLocaleList$ctl00$uxLocaleItem", // switch to english - "__EVENTARGUMENT", ""); - transferViewstates(page, params); - final HttpResponse response = postRequest("http://www.geocaching.com/default.aspx", params); - if (!isSuccess(response)) { - Log.e(Settings.tag, "Failed to set geocaching.com language to English"); + public static void switchToEnglish(String previousPage) { + final String ENGLISH = "English▼"; + if (previousPage != null && previousPage.indexOf(ENGLISH) > 0) + { + Log.i(Settings.tag, "Geocaching.com language already set to English"); + } else { + final String page = getResponseData(request("http://www.geocaching.com/default.aspx", null, false)); + if (page == null) { + Log.e(Settings.tag, "Failed to read viewstates to set geocaching.com language"); + } + final Parameters params = new Parameters( + "__EVENTTARGET", "ctl00$uxLocaleList$uxLocaleList$ctl00$uxLocaleItem", // switch to english + "__EVENTARGUMENT", ""); + transferViewstates(page, params); + final HttpResponse response = postRequest("http://www.geocaching.com/default.aspx", params); + if (!isSuccess(response)) { + Log.e(Settings.tag, "Failed to set geocaching.com language to English"); + } } } |
