aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-10-22 19:52:22 +0200
committerSamuel Tardieu <sam@rfc1149.net>2014-10-22 20:43:04 +0200
commitc8cdc987c20ba7ade2f3b005fbc86b33f232a4c1 (patch)
tree7a50f81d3af4985b102f92ccb293e3a54cb137a7 /main/src
parentfa50bde7f65d53ee842dd061e18ae49cfbab8ed7 (diff)
downloadcgeo-c8cdc987c20ba7ade2f3b005fbc86b33f232a4c1.zip
cgeo-c8cdc987c20ba7ade2f3b005fbc86b33f232a4c1.tar.gz
cgeo-c8cdc987c20ba7ade2f3b005fbc86b33f232a4c1.tar.bz2
Reset default date format on login error
When unlogged, the default format is MM/dd/yyyy. Part of work on #4416.
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCLogin.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCLogin.java b/main/src/cgeo/geocaching/connector/gc/GCLogin.java
index 9f430c0..c0a0ad8 100644
--- a/main/src/cgeo/geocaching/connector/gc/GCLogin.java
+++ b/main/src/cgeo/geocaching/connector/gc/GCLogin.java
@@ -76,6 +76,11 @@ public class GCLogin extends AbstractLogin {
private static final GCLogin INSTANCE = new GCLogin();
}
+ private static StatusCode resetGcCustomDate(final StatusCode statusCode) {
+ Settings.setGcCustomDate("MM/dd/yyyy");
+ return statusCode;
+ }
+
@Override
protected StatusCode login(boolean retry) {
final ImmutablePair<String, String> credentials = Settings.getGcCredentials();
@@ -85,7 +90,7 @@ public class GCLogin extends AbstractLogin {
if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
clearLoginInfo();
Log.e("Login.login: No login information stored");
- return StatusCode.NO_LOGIN_INFO_STORED;
+ return resetGcCustomDate(StatusCode.NO_LOGIN_INFO_STORED);
}
setActualStatus(CgeoApplication.getInstance().getString(R.string.init_login_popup_working));
@@ -146,12 +151,12 @@ public class GCLogin extends AbstractLogin {
if (loginData.contains("Your username/password combination does not match.")) {
Log.i("Failed to log in Geocaching.com as " + username + " because of wrong username/password");
- return StatusCode.WRONG_LOGIN_DATA; // wrong login
+ return resetGcCustomDate(StatusCode.WRONG_LOGIN_DATA); // wrong login
}
if (loginData.contains("You must validate your account before you can log in.")) {
Log.i("Failed to log in Geocaching.com as " + username + " because account needs to be validated first");
- return StatusCode.UNVALIDATED_ACCOUNT;
+ return resetGcCustomDate(StatusCode.UNVALIDATED_ACCOUNT);
}
Log.i("Failed to log in Geocaching.com as " + username + " for some unknown reason");
@@ -160,7 +165,7 @@ public class GCLogin extends AbstractLogin {
return login(false);
}
- return StatusCode.UNKNOWN_ERROR; // can't login
+ return resetGcCustomDate(StatusCode.UNKNOWN_ERROR); // can't login
}
public StatusCode logout() {