Skip to content

Instantly share code, notes, and snippets.

@cmelchior
Last active August 29, 2019 09:46

Revisions

  1. cmelchior revised this gist Jul 27, 2015. 3 changed files with 0 additions and 0 deletions.
    File renamed without changes.
    File renamed without changes.
  2. cmelchior renamed this gist Jul 27, 2015. 1 changed file with 0 additions and 0 deletions.
  3. cmelchior renamed this gist Jul 27, 2015. 1 changed file with 0 additions and 0 deletions.
  4. cmelchior renamed this gist Jul 27, 2015. 1 changed file with 0 additions and 0 deletions.
  5. cmelchior created this gist Jul 27, 2015.
    12 changes: 12 additions & 0 deletions Bar.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,12 @@
    @Parcel(implementations = { BarRealmProxy.class }, value = Parcel.Serialization.BEAN, analyze = { Bar.class })
    public class Bar extends RealmObject {
    private String baz;

    public void setBaz(String baz) {
    this.baz = baz;
    }

    public String getBaz() {
    return baz;
    }
    }
    13 changes: 13 additions & 0 deletions BarListParcelConverter.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    // Specific class for a RealmList<Bar> field
    public class BarListParcelConverter extends RealmListParcelConverter<Bar> {

    @Override
    public void itemToParcel(Bar input, Parcel parcel) {
    parcel.writeParcelable(Parcels.wrap(input), 0);
    }

    @Override
    public Bar itemFromParcel(Parcel parcel) {
    return Parcels.unwrap(parcel.readParcelable(Bar.class.getClassLoader()));
    }
    }
    13 changes: 13 additions & 0 deletions Foo.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    @Parcel(implementations = { FooRealmProxy.class }, value = Parcel.Serialization.BEAN, analyze = { Foo.class })
    public class Foo extends RealmObject {
    private RealmList<Bar> bars;

    @ParcelPropertyConverter(BarListParcelConverter.class)
    public void setBars(RealmList<Bar> bars) {
    this.bars = bars;
    }

    public RealmList<Bar> getBars() {
    return bars;
    }
    }
    7 changes: 7 additions & 0 deletions RealmListParcelConverter.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    // Abstract class for working with RealmLists
    public abstract class RealmListParcelConverter<T extends RealmObject> extends CollectionParcelConverter<T, RealmList<T>> {
    @Override
    public RealmList<T> createCollection() {
    return new RealmList<T>();
    }
    }