diff options
| author | blafoo <github@blafoo.de> | 2012-01-28 09:50:33 +0100 |
|---|---|---|
| committer | blafoo <github@blafoo.de> | 2012-01-28 09:50:33 +0100 |
| commit | 526d46b616f4315e26827ba77b984c6c78eb79e0 (patch) | |
| tree | 38c10cef130e699862fe6f3aa415c0f40653fa81 | |
| parent | 221e215f7b87e6cb1444826587519c5d35a37d3a (diff) | |
| download | cgeo-526d46b616f4315e26827ba77b984c6c78eb79e0.zip cgeo-526d46b616f4315e26827ba77b984c6c78eb79e0.tar.gz cgeo-526d46b616f4315e26827ba77b984c6c78eb79e0.tar.bz2 | |
Slightly improvements for user login status
| -rw-r--r-- | main/src/cgeo/geocaching/cgBase.java | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java index ff9f27d..f7036e4 100644 --- a/main/src/cgeo/geocaching/cgBase.java +++ b/main/src/cgeo/geocaching/cgBase.java @@ -153,12 +153,15 @@ public class cgBase { throw new UnsupportedOperationException(); // static class, not to be instantiated } + /** + * Called from AbstractActivity.onCreate() and AbstractListActivity.onCreate() + * + * @param app + */ public static void initialize(final cgeoapplication app) { context = app.getBaseContext(); res = app.getBaseContext().getResources(); - cgBase.actualStatus = res.getString(R.string.init_login_popup_working); - try { final PackageManager manager = app.getPackageManager(); final PackageInfo info = manager.getPackageInfo(app.getPackageName(), 0); @@ -297,10 +300,12 @@ public class cgBase { final ImmutablePair<String, String> login = Settings.getLogin(); if (login == null || StringUtils.isEmpty(login.left) || StringUtils.isEmpty(login.right)) { + cgBase.setActualStatus(res.getString(R.string.err_login)); Log.e(Settings.tag, "cgeoBase.login: No login information stored"); return StatusCode.NO_LOGIN_INFO_STORED; } + cgBase.setActualStatus(res.getString(R.string.init_login_popup_working)); HttpResponse loginResponse = request("https://www.geocaching.com/login/default.aspx", null, false, false, false); String loginData = getResponseData(loginResponse); if (loginResponse != null && loginResponse.getStatusLine().getStatusCode() == 503 && BaseUtils.matches(loginData, GCConstants.PATTERN_MAINTENANCE)) { @@ -389,24 +394,24 @@ public class cgBase { cgBase.actualStatus = res.getString(R.string.init_login_popup_ok); // on every page except login page - cgBase.actualLoginStatus = BaseUtils.matches(page, GCConstants.PATTERN_LOGIN_NAME); - if (cgBase.actualLoginStatus) { - cgBase.actualUserName = BaseUtils.getMatch(page, GCConstants.PATTERN_LOGIN_NAME, true, "???"); - cgBase.actualMemberStatus = BaseUtils.getMatch(page, GCConstants.PATTERN_MEMBER_STATUS, true, "???"); - cgBase.actualCachesFound = Integer.parseInt(BaseUtils.getMatch(page, GCConstants.PATTERN_CACHES_FOUND, true, "0")); + cgBase.setActualLoginStatus(BaseUtils.matches(page, GCConstants.PATTERN_LOGIN_NAME)); + if (cgBase.isActualLoginStatus()) { + cgBase.setActualUserName(BaseUtils.getMatch(page, GCConstants.PATTERN_LOGIN_NAME, true, "???")); + cgBase.setActualMemberStatus(BaseUtils.getMatch(page, GCConstants.PATTERN_MEMBER_STATUS, true, "???")); + cgBase.setActualCachesFound(Integer.parseInt(BaseUtils.getMatch(page, GCConstants.PATTERN_CACHES_FOUND, true, "0"))); return true; } // login page - cgBase.actualLoginStatus = BaseUtils.matches(page, GCConstants.PATTERN_LOGIN_NAME_LOGIN_PAGE); - if (cgBase.actualLoginStatus) { - cgBase.actualUserName = Settings.getUsername(); - cgBase.actualMemberStatus = Settings.getMemberStatus(); + cgBase.setActualLoginStatus(BaseUtils.matches(page, GCConstants.PATTERN_LOGIN_NAME_LOGIN_PAGE)); + if (cgBase.isActualLoginStatus()) { + cgBase.setActualUserName(Settings.getUsername()); + cgBase.setActualMemberStatus(Settings.getMemberStatus()); // number of caches found is not part of this page return true; } - cgBase.actualStatus = res.getString(R.string.err_login_failed); + cgBase.actualStatus = res.getString(R.string.init_login_popup_failed); return false; } @@ -3114,7 +3119,7 @@ public class cgBase { return actualLoginStatus; } - public static void setActualLoginStatus(boolean actualLoginStatus) { + private static void setActualLoginStatus(boolean actualLoginStatus) { cgBase.actualLoginStatus = actualLoginStatus; } @@ -3122,7 +3127,7 @@ public class cgBase { return actualUserName; } - public static void setActualUserName(String actualUserName) { + private static void setActualUserName(String actualUserName) { cgBase.actualUserName = actualUserName; } @@ -3130,7 +3135,7 @@ public class cgBase { return actualMemberStatus; } - public static void setActualMemberStatus(String actualMemberStatus) { + private static void setActualMemberStatus(String actualMemberStatus) { cgBase.actualMemberStatus = actualMemberStatus; } @@ -3138,7 +3143,7 @@ public class cgBase { return actualCachesFound; } - public static void setActualCachesFound(int actualCachesFound) { + private static void setActualCachesFound(int actualCachesFound) { cgBase.actualCachesFound = actualCachesFound; } @@ -3146,5 +3151,9 @@ public class cgBase { return actualStatus; } + private static void setActualStatus(String actualStatus) { + cgBase.actualStatus = actualStatus; + } + } |
