Brion VIBBER has submitted this change and it was merged. Change subject: Don't crash if captcha is wrong in CreateAccount ......................................................................
Don't crash if captcha is wrong in CreateAccount Change-Id: I233372cc13676460603a73c67fc521cacef7dc88 --- M wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java M wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTask.java 2 files changed, 8 insertions(+), 3 deletions(-) Approvals: Brion VIBBER: Verified; Looks good to me, approved diff --git a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java index 639c6e7..257cf22 100644 --- a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java +++ b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java @@ -83,18 +83,23 @@ @Override public void onFinish(final CreateAccountResult result) { + createAccountResult = result; if (result instanceof CreateAccountTokenResult) { captchaHandler.handleCaptcha(((CreateAccountTokenResult)result).getCaptchaResult()); } else { // Returns lowercase 'success', unlike every other API. GRR man, GRR // Replace wen https://bugzilla.wikimedia.org/show_bug.cgi?id=61663 is fixed? - if (result.getResult().equals("success")) { + if (result.getResult().toLowerCase().equals("success")) { finish(); + } else if (result.getResult().equals("captcha-createaccount-fail")) { + // So for now we just need to do the entire set of requests again. sigh + // Eventually this should be fixed to have the new captcha info come back. + createAccountResult = null; + doCreateAccount(); } else { throw new RuntimeException("Errored with " + result.getResult()); } } - createAccountResult = result; } }.execute(); } diff --git a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTask.java b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTask.java index e786f0f..0023d4c 100644 --- a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTask.java +++ b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTask.java @@ -55,7 +55,7 @@ } JSONObject ca = response.asObject().optJSONObject("createaccount"); String result = ca.optString("result"); - if (result.equals("needtoken")) { + if (result.toLowerCase().equals("needtoken")) { String token = ca.optString("token"); CaptchaResult captchaResult = new CaptchaResult(ca.optJSONObject("captcha").optString("id")); return new CreateAccountTokenResult(captchaResult, token); -- To view, visit https://gerrit.wikimedia.org/r/114636 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I233372cc13676460603a73c67fc521cacef7dc88 Gerrit-PatchSet: 2 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Yuvipanda <yuvipa...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits