package test import android.os.Parcel fun parcelTest(block: (Parcel) -> Unit): String { val parcel = Parcel.obtain() try { block(parcel) return "OK" } finally { parcel.recycle() } } inline fun readFromParcel(parcel: Parcel): T { val creator = T::class.java.getDeclaredField("CREATOR").get(null) return creator::class.java.getDeclaredMethod("createFromParcel", Parcel::class.java).invoke(creator, parcel) as T }