class SomeData(val number: Int, val text: String, val flag: Boolean) : Parcelable { constructor(parcel: Parcel) : this( parcel.readInt(), parcel.readString(), parcel.readByte() != 0.toByte()) { } override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeInt(number) parcel.writeString(text) parcel.writeByte(if (flag) 1 else 0) } override fun describeContents(): Int { return 0 } companion object CREATOR : Parcelable.Creator { override fun createFromParcel(parcel: Parcel): SomeData { return SomeData(parcel) } override fun newArray(size: Int): Array { return arrayOfNulls(size) } } }