Update versionedparcelable to 1.2.0-alpha01 and pin all current usages
to 1.1.0-rc01

Bug: b/135630763
Test: ./gradlew checkApi verifyDependencyVersion && ./gradlew bOS
Change-Id: Id58166e514242f3811af1ce35bd2f0127cd326df
(cherry picked from commit ac07a667ebe822d8ce7899e653ad00d0571ebdba)
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
index 71f12d7..af94c0d 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -103,7 +103,7 @@
     val UI = Version("1.0.0-alpha01")
     val VECTORDRAWABLE = Version("1.1.0-beta02")
     val VECTORDRAWABLE_ANIMATED = Version("1.1.0-beta02")
-    val VERSIONED_PARCELABLE = Version("1.1.0-rc01")
+    val VERSIONED_PARCELABLE = Version("1.2.0-alpha01")
     val VIEWPAGER = Version("1.1.0-alpha01")
     val VIEWPAGER2 = Version("1.0.0-alpha05")
     val WEAR = Version("1.1.0-alpha01")
diff --git a/car/cluster/build.gradle b/car/cluster/build.gradle
index d0cd3dc..62b60eb 100644
--- a/car/cluster/build.gradle
+++ b/car/cluster/build.gradle
@@ -25,7 +25,7 @@
 
 dependencies {
     api(project(":car"))
-    api(project(":versionedparcelable"))
+    api("androidx.versionedparcelable:versionedparcelable:1.1.0-rc01")
     api("androidx.annotation:annotation:1.1.0-rc01")
 
     annotationProcessor(project(":versionedparcelable-annotation"))
diff --git a/core/build.gradle b/core/build.gradle
index 7d30f89..b344445 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -13,7 +13,7 @@
     api("androidx.annotation:annotation:1.1.0-rc01")
     implementation("androidx.collection:collection:1.0.0")
     api(ARCH_LIFECYCLE_RUNTIME, libs.exclude_annotations_transitive)
-    api(project(":versionedparcelable"))
+    api("androidx.versionedparcelable:versionedparcelable:1.1.0-rc01")
 
     androidTestImplementation(KOTLIN_STDLIB)
     androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
diff --git a/versionedparcelable/api/1.2.0-alpha01.txt b/versionedparcelable/api/1.2.0-alpha01.txt
new file mode 100644
index 0000000..86198e7
--- /dev/null
+++ b/versionedparcelable/api/1.2.0-alpha01.txt
@@ -0,0 +1,15 @@
+// Signature format: 3.0
+package androidx.versionedparcelable {
+
+  public class ParcelUtils {
+    method public static <T extends androidx.versionedparcelable.VersionedParcelable> T? getVersionedParcelable(android.os.Bundle, String);
+    method public static <T extends androidx.versionedparcelable.VersionedParcelable> java.util.List<T!>? getVersionedParcelableList(android.os.Bundle!, String!);
+    method public static void putVersionedParcelable(android.os.Bundle, String, androidx.versionedparcelable.VersionedParcelable?);
+    method public static void putVersionedParcelableList(android.os.Bundle, String, java.util.List<? extends androidx.versionedparcelable.VersionedParcelable>);
+  }
+
+  public interface VersionedParcelable {
+  }
+
+}
+
diff --git a/versionedparcelable/api/res-1.2.0-alpha01.txt b/versionedparcelable/api/res-1.2.0-alpha01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/versionedparcelable/api/res-1.2.0-alpha01.txt
diff --git a/versionedparcelable/api/restricted_1.2.0-alpha01.txt b/versionedparcelable/api/restricted_1.2.0-alpha01.txt
new file mode 100644
index 0000000..c864dda
--- /dev/null
+++ b/versionedparcelable/api/restricted_1.2.0-alpha01.txt
@@ -0,0 +1,153 @@
+// Signature format: 3.0
+package androidx.versionedparcelable {
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class CustomVersionedParcelable implements androidx.versionedparcelable.VersionedParcelable {
+    ctor public CustomVersionedParcelable();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void onPostParceling();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void onPreParceling(boolean);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.FIELD) public @interface NonParcelField {
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.FIELD) public @interface ParcelField {
+    method public abstract String defaultValue() default "";
+    method public abstract int value();
+  }
+
+
+  public class ParcelUtils {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static <T extends androidx.versionedparcelable.VersionedParcelable> T! fromInputStream(java.io.InputStream!);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static <T extends androidx.versionedparcelable.VersionedParcelable> T! fromParcelable(android.os.Parcelable!);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static void toOutputStream(androidx.versionedparcelable.VersionedParcelable!, java.io.OutputStream!);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.os.Parcelable! toParcelable(androidx.versionedparcelable.VersionedParcelable!);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class VersionedParcel {
+    ctor public VersionedParcel(androidx.collection.ArrayMap<java.lang.String!,java.lang.reflect.Method!>!, androidx.collection.ArrayMap<java.lang.String!,java.lang.reflect.Method!>!, androidx.collection.ArrayMap<java.lang.String!,java.lang.Class!>!);
+    method protected abstract void closeField();
+    method protected abstract androidx.versionedparcelable.VersionedParcel! createSubParcel();
+    method protected static Throwable getRootCause(Throwable);
+    method public boolean isStream();
+    method public <T> T![]! readArray(T![]!, int);
+    method protected <T> T![]! readArray(T![]!);
+    method protected abstract boolean readBoolean();
+    method public boolean readBoolean(boolean, int);
+    method public boolean[]! readBooleanArray(boolean[]!, int);
+    method protected boolean[]! readBooleanArray();
+    method protected abstract android.os.Bundle! readBundle();
+    method public android.os.Bundle! readBundle(android.os.Bundle!, int);
+    method public byte readByte(byte, int);
+    method protected abstract byte[]! readByteArray();
+    method public byte[]! readByteArray(byte[]!, int);
+    method public char[]! readCharArray(char[]!, int);
+    method protected abstract CharSequence! readCharSequence();
+    method public CharSequence! readCharSequence(CharSequence!, int);
+    method protected abstract double readDouble();
+    method public double readDouble(double, int);
+    method public double[]! readDoubleArray(double[]!, int);
+    method protected double[]! readDoubleArray();
+    method public Exception! readException(Exception!, int);
+    method protected abstract boolean readField(int);
+    method protected abstract float readFloat();
+    method public float readFloat(float, int);
+    method public float[]! readFloatArray(float[]!, int);
+    method protected float[]! readFloatArray();
+    method protected <T extends androidx.versionedparcelable.VersionedParcelable> T! readFromParcel(String!, androidx.versionedparcelable.VersionedParcel!);
+    method protected abstract int readInt();
+    method public int readInt(int, int);
+    method public int[]! readIntArray(int[]!, int);
+    method protected int[]! readIntArray();
+    method public <T> java.util.List<T!>! readList(java.util.List<T!>!, int);
+    method protected abstract long readLong();
+    method public long readLong(long, int);
+    method public long[]! readLongArray(long[]!, int);
+    method protected long[]! readLongArray();
+    method public <K, V> java.util.Map<K!,V!>! readMap(java.util.Map<K!,V!>!, int);
+    method protected abstract <T extends android.os.Parcelable> T! readParcelable();
+    method public <T extends android.os.Parcelable> T! readParcelable(T!, int);
+    method protected java.io.Serializable! readSerializable();
+    method public <T> java.util.Set<T!>! readSet(java.util.Set<T!>!, int);
+    method @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public android.util.Size! readSize(android.util.Size!, int);
+    method @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public android.util.SizeF! readSizeF(android.util.SizeF!, int);
+    method public android.util.SparseBooleanArray! readSparseBooleanArray(android.util.SparseBooleanArray!, int);
+    method protected abstract String! readString();
+    method public String! readString(String!, int);
+    method protected abstract android.os.IBinder! readStrongBinder();
+    method public android.os.IBinder! readStrongBinder(android.os.IBinder!, int);
+    method public <T extends androidx.versionedparcelable.VersionedParcelable> T! readVersionedParcelable(T!, int);
+    method protected <T extends androidx.versionedparcelable.VersionedParcelable> T! readVersionedParcelable();
+    method protected abstract void setOutputField(int);
+    method public void setSerializationFlags(boolean, boolean);
+    method public <T> void writeArray(T![]!, int);
+    method protected <T> void writeArray(T![]!);
+    method protected abstract void writeBoolean(boolean);
+    method public void writeBoolean(boolean, int);
+    method public void writeBooleanArray(boolean[]!, int);
+    method protected void writeBooleanArray(boolean[]!);
+    method protected abstract void writeBundle(android.os.Bundle!);
+    method public void writeBundle(android.os.Bundle!, int);
+    method public void writeByte(byte, int);
+    method protected abstract void writeByteArray(byte[]!);
+    method protected abstract void writeByteArray(byte[]!, int, int);
+    method public void writeByteArray(byte[]!, int);
+    method public void writeByteArray(byte[]!, int, int, int);
+    method public void writeCharArray(char[]!, int);
+    method protected abstract void writeCharSequence(CharSequence!);
+    method public void writeCharSequence(CharSequence!, int);
+    method protected abstract void writeDouble(double);
+    method public void writeDouble(double, int);
+    method public void writeDoubleArray(double[]!, int);
+    method protected void writeDoubleArray(double[]!);
+    method public void writeException(Exception!, int);
+    method protected abstract void writeFloat(float);
+    method public void writeFloat(float, int);
+    method public void writeFloatArray(float[]!, int);
+    method protected void writeFloatArray(float[]!);
+    method protected abstract void writeInt(int);
+    method public void writeInt(int, int);
+    method public void writeIntArray(int[]!, int);
+    method protected void writeIntArray(int[]!);
+    method public <T> void writeList(java.util.List<T!>!, int);
+    method protected abstract void writeLong(long);
+    method public void writeLong(long, int);
+    method public void writeLongArray(long[]!, int);
+    method protected void writeLongArray(long[]!);
+    method public <K, V> void writeMap(java.util.Map<K!,V!>!, int);
+    method protected void writeNoException();
+    method protected abstract void writeParcelable(android.os.Parcelable!);
+    method public void writeParcelable(android.os.Parcelable!, int);
+    method public void writeSerializable(java.io.Serializable!, int);
+    method public <T> void writeSet(java.util.Set<T!>!, int);
+    method @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public void writeSize(android.util.Size!, int);
+    method @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public void writeSizeF(android.util.SizeF!, int);
+    method public void writeSparseBooleanArray(android.util.SparseBooleanArray!, int);
+    method protected abstract void writeString(String!);
+    method public void writeString(String!, int);
+    method protected abstract void writeStrongBinder(android.os.IBinder!);
+    method public void writeStrongBinder(android.os.IBinder!, int);
+    method protected abstract void writeStrongInterface(android.os.IInterface!);
+    method public void writeStrongInterface(android.os.IInterface!, int);
+    method protected <T extends androidx.versionedparcelable.VersionedParcelable> void writeToParcel(T!, androidx.versionedparcelable.VersionedParcel!);
+    method public void writeVersionedParcelable(androidx.versionedparcelable.VersionedParcelable!, int);
+    method protected void writeVersionedParcelable(androidx.versionedparcelable.VersionedParcelable!);
+    field protected final androidx.collection.ArrayMap<java.lang.String!,java.lang.Class!>! mParcelizerCache;
+    field protected final androidx.collection.ArrayMap<java.lang.String!,java.lang.reflect.Method!>! mReadCache;
+    field protected final androidx.collection.ArrayMap<java.lang.String!,java.lang.reflect.Method!>! mWriteCache;
+  }
+
+  public static class VersionedParcel.ParcelException extends java.lang.RuntimeException {
+    ctor public VersionedParcel.ParcelException(Throwable!);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface VersionedParcelize {
+    method public abstract boolean allowSerialization() default false;
+    method public abstract int[] deprecatedIds() default {};
+    method public abstract Class factory() default void.class;
+    method public abstract boolean ignoreParcelables() default false;
+    method public abstract boolean isCustom() default false;
+    method public abstract String jetifyAs() default "";
+  }
+
+}
+