Brion VIBBER has submitted this change and it was merged. Change subject: Persist Account creation status info across rotates ......................................................................
Persist Account creation status info across rotates Change-Id: If15154ea22f1c27f8a2866d0ffa174f0a46e5cd0 --- M wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java M wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountResult.java M wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTokenResult.java 3 files changed, 68 insertions(+), 1 deletion(-) 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 4ec1c6d..c053ac5 100644 --- a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java +++ b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java @@ -82,6 +82,19 @@ supportInvalidateOptionsMenu(); } }, usernameEdit, passwordEdit, passwordRepeatEdit); + + if (savedInstanceState != null && savedInstanceState.containsKey("result")) { + createAccountResult = savedInstanceState.getParcelable("result"); + if (createAccountResult instanceof CreateAccountTokenResult) { + captchaHandler.handleCaptcha(((CreateAccountTokenResult) createAccountResult).getCaptchaResult()); + } + } + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putParcelable("result", createAccountResult); } @Override diff --git a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountResult.java b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountResult.java index f9bed7d..8411ef8 100644 --- a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountResult.java +++ b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountResult.java @@ -1,6 +1,8 @@ package org.wikipedia.createaccount; -public class CreateAccountResult { +import android.os.*; + +public class CreateAccountResult implements Parcelable { private final String result; public CreateAccountResult(String result) { @@ -10,4 +12,30 @@ public String getResult() { return result; } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel parcel, int i) { + parcel.writeString(result); + } + + protected CreateAccountResult(Parcel in) { + result = in.readString(); + } + + public static final Parcelable.Creator<CreateAccountResult> CREATOR + = new Parcelable.Creator<CreateAccountResult>() { + public CreateAccountResult createFromParcel(Parcel in) { + return new CreateAccountResult(in); + } + + public CreateAccountResult[] newArray(int size) { + return new CreateAccountResult[size]; + } + }; + } diff --git a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTokenResult.java b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTokenResult.java index 6f0062e..d4ffac9 100644 --- a/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTokenResult.java +++ b/wikipedia/src/main/java/org/wikipedia/createaccount/CreateAccountTokenResult.java @@ -1,5 +1,6 @@ package org.wikipedia.createaccount; +import android.os.*; import org.wikipedia.editing.*; public class CreateAccountTokenResult extends CreateAccountResult { @@ -19,4 +20,29 @@ public String getToken() { return token; } + + @Override + public void writeToParcel(Parcel parcel, int flags) { + super.writeToParcel(parcel, flags); + parcel.writeString(token); + parcel.writeParcelable(captchaResult, flags); + } + + private CreateAccountTokenResult(Parcel in) { + super(in); + token = in.readString(); + captchaResult = in.readParcelable(CaptchaResult.class.getClassLoader()); + } + + public static final Parcelable.Creator<CreateAccountTokenResult> CREATOR + = new Parcelable.Creator<CreateAccountTokenResult>() { + public CreateAccountTokenResult createFromParcel(Parcel in) { + return new CreateAccountTokenResult(in); + } + + public CreateAccountTokenResult[] newArray(int size) { + return new CreateAccountTokenResult[size]; + } + }; + } -- To view, visit https://gerrit.wikimedia.org/r/114783 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: If15154ea22f1c27f8a2866d0ffa174f0a46e5cd0 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