Brion VIBBER has submitted this change and it was merged. Change subject: Re-login if session cookies have expired ......................................................................
Re-login if session cookies have expired Change-Id: I45649e5a0af172d4aa9f7187044d92b3f706a9cb --- M wikipedia/src/main/java/org/wikipedia/editing/EditSectionActivity.java 1 file changed, 20 insertions(+), 0 deletions(-) Approvals: Brion VIBBER: Verified; Looks good to me, approved diff --git a/wikipedia/src/main/java/org/wikipedia/editing/EditSectionActivity.java b/wikipedia/src/main/java/org/wikipedia/editing/EditSectionActivity.java index aaa42c3..a1779fb 100644 --- a/wikipedia/src/main/java/org/wikipedia/editing/EditSectionActivity.java +++ b/wikipedia/src/main/java/org/wikipedia/editing/EditSectionActivity.java @@ -23,6 +23,9 @@ import org.mediawiki.api.json.Api; import org.mediawiki.api.json.RequestBuilder; import org.wikipedia.*; +import org.wikipedia.login.LoginTask; +import org.wikipedia.login.LogoutTask; +import org.wikipedia.login.User; import org.wikipedia.page.Section; public class EditSectionActivity extends ActionBarActivity { @@ -172,6 +175,23 @@ @Override public void onCatch(Throwable caught) { + if (caught instanceof EditingException) { + EditingException ee = (EditingException) caught; + if (app.getUserInfoStorage().isLoggedIn() && ee.getCode() == "badtoken") { + // looks like our session expired. + app.getEditTokenStorage().clearAllTokens(); + app.getCookieManager().clearAllCookies(); + + User user = app.getUserInfoStorage().getUser(); + new LoginTask(app, app.getPrimarySite(), user.getUsername(), user.getPassword()) { + @Override + public void onFinish(String result) { + doSave(); + } + }.execute(); + return; + } + } if (!(caught instanceof HttpRequest.HttpRequestException)) { throw new RuntimeException(caught); } -- To view, visit https://gerrit.wikimedia.org/r/113368 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I45649e5a0af172d4aa9f7187044d92b3f706a9cb Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits