diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2012-09-21 10:44:30 +0400 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2012-09-21 10:44:30 +0400 |
| commit | b9bd5e89b1746026762404d23076879bf00fdcfd (patch) | |
| tree | 15b7207ad602185e3c8e0b0aaf6429c1f870e9d6 /src/org/fox/ttrss/OnlineActivity.java | |
| parent | a82aeb29e42ceb8b0f1b5ccf7e7ff2cb22b81ce7 (diff) | |
improve logging in again if session is lost
Diffstat (limited to 'src/org/fox/ttrss/OnlineActivity.java')
| -rw-r--r-- | src/org/fox/ttrss/OnlineActivity.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/org/fox/ttrss/OnlineActivity.java b/src/org/fox/ttrss/OnlineActivity.java index 212c4510..8d43f678 100644 --- a/src/org/fox/ttrss/OnlineActivity.java +++ b/src/org/fox/ttrss/OnlineActivity.java @@ -377,6 +377,10 @@ public class OnlineActivity extends CommonActivity { }
public void login() {
+ login(false);
+ }
+
+ public void login(boolean refresh) {
if (m_prefs.getString("ttrss_url", "").trim().length() == 0) {
setLoadingStatus(R.string.login_need_configure, false);
@@ -403,7 +407,7 @@ public class OnlineActivity extends CommonActivity { } else {
- LoginRequest ar = new LoginRequest(getApplicationContext());
+ LoginRequest ar = new LoginRequest(getApplicationContext(), refresh);
HashMap<String, String> map = new HashMap<String, String>() {
{
@@ -419,7 +423,7 @@ public class OnlineActivity extends CommonActivity { }
}
- protected void loginSuccess() {
+ protected void loginSuccess(boolean refresh) {
setLoadingStatus(R.string.blank, false);
findViewById(R.id.loading_container).setVisibility(View.GONE);
@@ -697,7 +701,9 @@ public class OnlineActivity extends CommonActivity { }
return true;
case R.id.update_headlines:
- refresh();
+ if (hf != null) {
+ hf.refresh(false);
+ }
return true;
default:
Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId());
@@ -865,7 +871,7 @@ public class OnlineActivity extends CommonActivity { if (getSessionId() == null) {
login();
} else {
- loginSuccess();
+ loginSuccess(false);
}
}
@@ -1206,6 +1212,12 @@ public class OnlineActivity extends CommonActivity { if (hf != null) {
hf.refresh(false);
}
+
+ ArticlePager af = (ArticlePager) getSupportFragmentManager().findFragmentByTag(FRAG_ARTICLE);
+
+ if (af != null) {
+ af.refresh(false);
+ }
}
}
@@ -1214,8 +1226,11 @@ public class OnlineActivity extends CommonActivity { }
private class LoginRequest extends ApiRequest {
- public LoginRequest(Context context) {
+ boolean m_refreshAfterLogin = false;
+
+ public LoginRequest(Context context, boolean refresh) {
super(context);
+ m_refreshAfterLogin = refresh;
}
@SuppressWarnings("unchecked")
@@ -1248,7 +1263,8 @@ public class OnlineActivity extends CommonActivity { Log.d(TAG, "Received API level: " + getApiLevel());
- loginSuccess();
+ loginSuccess(m_refreshAfterLogin);
+
return;
}
};
|