Skip to content

Error in generated code on Parcelable with generics #16

Description

@fabioCollini

Using ParcelablePlease on a class with a Parcelable field with a generic parameter there is an error in generated code. For example using ObservableParcelable class of data binding framework:

ObservableParcelable<App> app = new ObservableParcelable<>();

the generated code has a compilation error:

target.app = parcel.readParcelable(android.databinding.ObservableParcelable<App>.class.getClassLoader());

It can be fixed easily using a custom bagger:

public class ObservableParcelableBagger implements ParcelBagger<ObservableParcelable> {
    @Override public void write(ObservableParcelable value, Parcel out, int flags) {
        out.writeParcelable(value, flags);
    }

    @Override public ObservableParcelable read(Parcel in) {
        return in.readParcelable(ObservableParcelable.class.getClassLoader());
    }
}

Thanks for this great framework!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions