Parcelable: Allow custom describeContents() implementation

This commit is contained in:
Yan Zhulanow
2017-06-29 18:57:11 +03:00
parent 4197380621
commit 96c9bcd820
6 changed files with 69 additions and 3 deletions
@@ -0,0 +1,9 @@
// CURIOUS_ABOUT describeContents
import kotlinx.android.parcel.*
import android.os.Parcelable
@MagicParcel
class User(val firstName: String, val lastName: String, val age: Int, val isProUser: Boolean) : Parcelable {
override fun describeContents() = 100
}
@@ -0,0 +1,41 @@
public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
public void <init>()
public final User createFromParcel(android.os.Parcel p0)
public final User[] newArray(int p0)
}
public final class User : java/lang/Object, android/os/Parcelable {
public final static User$CREATOR CREATOR
private final int age
private final java.lang.String firstName
private final boolean isProUser
private final java.lang.String lastName
static void <clinit>()
public void <init>(java.lang.String p0, java.lang.String p1, int p2, boolean p3)
public int describeContents() {
LABEL (L0)
LINENUMBER (8)
BIPUSH (100)
IRETURN
LABEL (L1)
}
public final int getAge()
public final java.lang.String getFirstName()
public final java.lang.String getLastName()
public final boolean isProUser()
public final void writeToParcel(android.os.Parcel p0, int p1)
}
@@ -1,4 +1,4 @@
// CURIOUS_ABOUT writeToParcel, createFromParcel, <clinit>
// CURIOUS_ABOUT writeToParcel, createFromParcel, <clinit>, describeContents
import kotlinx.android.parcel.*
import android.os.Parcelable
@@ -45,7 +45,12 @@ public final class User : java/lang/Object, android/os/Parcelable {
public void <init>(java.lang.String p0, java.lang.String p1, int p2, boolean p3)
public final int describeContents()
public final int describeContents() {
LABEL (L0)
LDC (0)
IRETURN
LABEL (L1)
}
public final int getAge()