summaryrefslogtreecommitdiff
path: root/integration-tests/TestApp/app/src/main/java/android/databinding/testapp
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2015-06-18 17:24:17 -0700
committerYigit Boyar <yboyar@google.com>2015-06-22 11:35:57 -0700
commitd37b47419005587c52ca4c099432327b7f06478d (patch)
tree02474cf3864603ba20a5da4cceb13b63905c7688 /integration-tests/TestApp/app/src/main/java/android/databinding/testapp
parent2ac58b34e5200a34b0ba63884c375a68c9a84303 (diff)
downloaddata-binding-d37b47419005587c52ca4c099432327b7f06478d.tar.gz
Make observables parcelable
We got some feedback where people want to keep their View presenter classes parcelable. This CL makes observables parcelable and their lists transient to allow this. Bug: 21785040 Change-Id: I76adc7d7ca3876c83fd8749f6dbcf02a926c97c2
Diffstat (limited to 'integration-tests/TestApp/app/src/main/java/android/databinding/testapp')
-rw-r--r--integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ObservableFieldBindingObject.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ObservableFieldBindingObject.java b/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ObservableFieldBindingObject.java
index 87127fef..5f1fcb38 100644
--- a/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ObservableFieldBindingObject.java
+++ b/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/ObservableFieldBindingObject.java
@@ -23,7 +23,10 @@ import android.databinding.ObservableField;
import android.databinding.ObservableFloat;
import android.databinding.ObservableInt;
import android.databinding.ObservableLong;
+import android.databinding.ObservableParcelable;
import android.databinding.ObservableShort;
+import android.os.Parcel;
+import android.os.Parcelable;
public class ObservableFieldBindingObject {
public final ObservableBoolean bField = new ObservableBoolean();
@@ -34,9 +37,83 @@ public class ObservableFieldBindingObject {
public final ObservableLong lField = new ObservableLong();
public final ObservableFloat fField = new ObservableFloat();
public final ObservableDouble dField = new ObservableDouble();
+ public final ObservableParcelable<MyParcelable> pField;
public final ObservableField<String> oField = new ObservableField<>();
public ObservableFieldBindingObject() {
oField.set("Hello");
+ MyParcelable myParcelable = new MyParcelable(3, "abc");
+ pField = new ObservableParcelable(myParcelable);
+ }
+
+ public static class MyParcelable implements Parcelable {
+ int x;
+ String y;
+
+ public MyParcelable(int x, String y) {
+ this.x = x;
+ this.y = y;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeInt(x);
+ dest.writeString(y);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ MyParcelable that = (MyParcelable) o;
+
+ if (x != that.x) {
+ return false;
+ }
+ if (y != null ? !y.equals(that.y) : that.y != null) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public int getX() {
+ return x;
+ }
+
+ public String getY() {
+ return y;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = x;
+ result = 31 * result + (y != null ? y.hashCode() : 0);
+ return result;
+ }
+
+ public static final Parcelable.Creator<MyParcelable> CREATOR
+ = new Parcelable.Creator<MyParcelable>() {
+
+ @Override
+ public MyParcelable createFromParcel(Parcel source) {
+ return new MyParcelable(source.readInt(), source.readString());
+ }
+
+ @Override
+ public MyParcelable[] newArray(int size) {
+ return new MyParcelable[size];
+ }
+ };
}
}