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

Reply via email to