summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/os/Parcel.java233
1 files changed, 0 insertions, 233 deletions
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java
index 6855d95d718f..bf7116d6a05b 100644
--- a/core/java/android/os/Parcel.java
+++ b/core/java/android/os/Parcel.java
@@ -50,7 +50,6 @@ import com.android.internal.util.ArrayUtils;
import dalvik.annotation.optimization.CriticalNative;
import dalvik.annotation.optimization.FastNative;
-import dalvik.annotation.optimization.NeverInline;
import libcore.util.SneakyThrow;
@@ -588,17 +587,6 @@ public final class Parcel {
return parcel;
}
- @NeverInline
- private void errorUsedWhileRecycling() {
- Log.wtf(TAG, "Parcel used while recycled. "
- + Log.getStackTraceString(new Throwable())
- + " Original recycle call (if DEBUG_RECYCLE): ", mStack);
- }
-
- private void assertNotRecycled() {
- if (mRecycled) errorUsedWhileRecycling();
- }
-
/**
* Put a Parcel object back into the pool. You must not touch
* the object after this call.
@@ -647,7 +635,6 @@ public final class Parcel {
* @hide
*/
public void setReadWriteHelper(@Nullable ReadWriteHelper helper) {
- assertNotRecycled();
mReadWriteHelper = helper != null ? helper : ReadWriteHelper.DEFAULT;
}
@@ -657,7 +644,6 @@ public final class Parcel {
* @hide
*/
public boolean hasReadWriteHelper() {
- assertNotRecycled();
return (mReadWriteHelper != null) && (mReadWriteHelper != ReadWriteHelper.DEFAULT);
}
@@ -684,7 +670,6 @@ public final class Parcel {
* @hide
*/
public final void markSensitive() {
- assertNotRecycled();
nativeMarkSensitive(mNativePtr);
}
@@ -701,7 +686,6 @@ public final class Parcel {
* @hide
*/
public final boolean isForRpc() {
- assertNotRecycled();
return nativeIsForRpc(mNativePtr);
}
@@ -709,25 +693,21 @@ public final class Parcel {
@ParcelFlags
@TestApi
public int getFlags() {
- assertNotRecycled();
return mFlags;
}
/** @hide */
public void setFlags(@ParcelFlags int flags) {
- assertNotRecycled();
mFlags = flags;
}
/** @hide */
public void addFlags(@ParcelFlags int flags) {
- assertNotRecycled();
mFlags |= flags;
}
/** @hide */
private boolean hasFlags(@ParcelFlags int flags) {
- assertNotRecycled();
return (mFlags & flags) == flags;
}
@@ -740,7 +720,6 @@ public final class Parcel {
// We don't really need to protect it; even if 3p / non-system apps, nothing would happen.
// This would only work when used on a reply parcel by a binder object that's allowed-blocking.
public void setPropagateAllowBlocking() {
- assertNotRecycled();
addFlags(FLAG_PROPAGATE_ALLOW_BLOCKING);
}
@@ -748,7 +727,6 @@ public final class Parcel {
* Returns the total amount of data contained in the parcel.
*/
public int dataSize() {
- assertNotRecycled();
return nativeDataSize(mNativePtr);
}
@@ -757,7 +735,6 @@ public final class Parcel {
* parcel. That is, {@link #dataSize}-{@link #dataPosition}.
*/
public final int dataAvail() {
- assertNotRecycled();
return nativeDataAvail(mNativePtr);
}
@@ -766,7 +743,6 @@ public final class Parcel {
* more than {@link #dataSize}.
*/
public final int dataPosition() {
- assertNotRecycled();
return nativeDataPosition(mNativePtr);
}
@@ -777,7 +753,6 @@ public final class Parcel {
* data buffer.
*/
public final int dataCapacity() {
- assertNotRecycled();
return nativeDataCapacity(mNativePtr);
}
@@ -789,7 +764,6 @@ public final class Parcel {
* @param size The new number of bytes in the Parcel.
*/
public final void setDataSize(int size) {
- assertNotRecycled();
nativeSetDataSize(mNativePtr, size);
}
@@ -799,7 +773,6 @@ public final class Parcel {
* {@link #dataSize}.
*/
public final void setDataPosition(int pos) {
- assertNotRecycled();
nativeSetDataPosition(mNativePtr, pos);
}
@@ -811,13 +784,11 @@ public final class Parcel {
* with this method.
*/
public final void setDataCapacity(int size) {
- assertNotRecycled();
nativeSetDataCapacity(mNativePtr, size);
}
/** @hide */
public final boolean pushAllowFds(boolean allowFds) {
- assertNotRecycled();
return nativePushAllowFds(mNativePtr, allowFds);
}
@@ -838,7 +809,6 @@ public final class Parcel {
* in different versions of the platform.
*/
public final byte[] marshall() {
- assertNotRecycled();
return nativeMarshall(mNativePtr);
}
@@ -846,18 +816,15 @@ public final class Parcel {
* Fills the raw bytes of this Parcel with the supplied data.
*/
public final void unmarshall(@NonNull byte[] data, int offset, int length) {
- assertNotRecycled();
nativeUnmarshall(mNativePtr, data, offset, length);
}
public final void appendFrom(Parcel parcel, int offset, int length) {
- assertNotRecycled();
nativeAppendFrom(mNativePtr, parcel.mNativePtr, offset, length);
}
/** @hide */
public int compareData(Parcel other) {
- assertNotRecycled();
return nativeCompareData(mNativePtr, other.mNativePtr);
}
@@ -868,7 +835,6 @@ public final class Parcel {
/** @hide */
public final void setClassCookie(Class clz, Object cookie) {
- assertNotRecycled();
if (mClassCookies == null) {
mClassCookies = new ArrayMap<>();
}
@@ -878,13 +844,11 @@ public final class Parcel {
/** @hide */
@Nullable
public final Object getClassCookie(Class clz) {
- assertNotRecycled();
return mClassCookies != null ? mClassCookies.get(clz) : null;
}
/** @hide */
public void removeClassCookie(Class clz, Object expectedCookie) {
- assertNotRecycled();
if (mClassCookies != null) {
Object removedCookie = mClassCookies.remove(clz);
if (removedCookie != expectedCookie) {
@@ -902,25 +866,21 @@ public final class Parcel {
* @hide
*/
public boolean hasClassCookie(Class clz) {
- assertNotRecycled();
return mClassCookies != null && mClassCookies.containsKey(clz);
}
/** @hide */
public final void adoptClassCookies(Parcel from) {
- assertNotRecycled();
mClassCookies = from.mClassCookies;
}
/** @hide */
public Map<Class, Object> copyClassCookies() {
- assertNotRecycled();
return new ArrayMap<>(mClassCookies);
}
/** @hide */
public void putClassCookies(Map<Class, Object> cookies) {
- assertNotRecycled();
if (cookies == null) {
return;
}
@@ -934,7 +894,6 @@ public final class Parcel {
* Report whether the parcel contains any marshalled file descriptors.
*/
public boolean hasFileDescriptors() {
- assertNotRecycled();
return nativeHasFileDescriptors(mNativePtr);
}
@@ -950,7 +909,6 @@ public final class Parcel {
* @throws IllegalArgumentException if the parameters are out of the permitted ranges.
*/
public boolean hasFileDescriptors(int offset, int length) {
- assertNotRecycled();
return nativeHasFileDescriptorsInRange(mNativePtr, offset, length);
}
@@ -1035,7 +993,6 @@ public final class Parcel {
* @hide
*/
public boolean hasBinders() {
- assertNotRecycled();
return nativeHasBinders(mNativePtr);
}
@@ -1053,7 +1010,6 @@ public final class Parcel {
* @hide
*/
public boolean hasBinders(int offset, int length) {
- assertNotRecycled();
return nativeHasBindersInRange(mNativePtr, offset, length);
}
@@ -1064,7 +1020,6 @@ public final class Parcel {
* at the beginning of transactions as a header.
*/
public final void writeInterfaceToken(@NonNull String interfaceName) {
- assertNotRecycled();
nativeWriteInterfaceToken(mNativePtr, interfaceName);
}
@@ -1075,7 +1030,6 @@ public final class Parcel {
* should propagate to the caller.
*/
public final void enforceInterface(@NonNull String interfaceName) {
- assertNotRecycled();
nativeEnforceInterface(mNativePtr, interfaceName);
}
@@ -1086,7 +1040,6 @@ public final class Parcel {
* When used over binder, this exception should propagate to the caller.
*/
public void enforceNoDataAvail() {
- assertNotRecycled();
final int n = dataAvail();
if (n > 0) {
throw new BadParcelableException("Parcel data not fully consumed, unread size: " + n);
@@ -1103,7 +1056,6 @@ public final class Parcel {
* @hide
*/
public boolean replaceCallingWorkSourceUid(int workSourceUid) {
- assertNotRecycled();
return nativeReplaceCallingWorkSourceUid(mNativePtr, workSourceUid);
}
@@ -1120,7 +1072,6 @@ public final class Parcel {
* @hide
*/
public int readCallingWorkSourceUid() {
- assertNotRecycled();
return nativeReadCallingWorkSourceUid(mNativePtr);
}
@@ -1130,7 +1081,6 @@ public final class Parcel {
* @param b Bytes to place into the parcel.
*/
public final void writeByteArray(@Nullable byte[] b) {
- assertNotRecycled();
writeByteArray(b, 0, (b != null) ? b.length : 0);
}
@@ -1142,7 +1092,6 @@ public final class Parcel {
* @param len Number of bytes to write.
*/
public final void writeByteArray(@Nullable byte[] b, int offset, int len) {
- assertNotRecycled();
if (b == null) {
writeInt(-1);
return;
@@ -1164,7 +1113,6 @@ public final class Parcel {
* @see #readBlob()
*/
public final void writeBlob(@Nullable byte[] b) {
- assertNotRecycled();
writeBlob(b, 0, (b != null) ? b.length : 0);
}
@@ -1183,7 +1131,6 @@ public final class Parcel {
* @see #readBlob()
*/
public final void writeBlob(@Nullable byte[] b, int offset, int len) {
- assertNotRecycled();
if (b == null) {
writeInt(-1);
return;
@@ -1202,7 +1149,6 @@ public final class Parcel {
* growing dataCapacity() if needed.
*/
public final void writeInt(int val) {
- assertNotRecycled();
int err = nativeWriteInt(mNativePtr, val);
if (err != OK) {
nativeSignalExceptionForError(err);
@@ -1214,7 +1160,6 @@ public final class Parcel {
* growing dataCapacity() if needed.
*/
public final void writeLong(long val) {
- assertNotRecycled();
int err = nativeWriteLong(mNativePtr, val);
if (err != OK) {
nativeSignalExceptionForError(err);
@@ -1226,7 +1171,6 @@ public final class Parcel {
* dataPosition(), growing dataCapacity() if needed.
*/
public final void writeFloat(float val) {
- assertNotRecycled();
int err = nativeWriteFloat(mNativePtr, val);
if (err != OK) {
nativeSignalExceptionForError(err);
@@ -1238,7 +1182,6 @@ public final class Parcel {
* current dataPosition(), growing dataCapacity() if needed.
*/
public final void writeDouble(double val) {
- assertNotRecycled();
int err = nativeWriteDouble(mNativePtr, val);
if (err != OK) {
nativeSignalExceptionForError(err);
@@ -1250,19 +1193,16 @@ public final class Parcel {
* growing dataCapacity() if needed.
*/
public final void writeString(@Nullable String val) {
- assertNotRecycled();
writeString16(val);
}
/** {@hide} */
public final void writeString8(@Nullable String val) {
- assertNotRecycled();
mReadWriteHelper.writeString8(this, val);
}
/** {@hide} */
public final void writeString16(@Nullable String val) {
- assertNotRecycled();
mReadWriteHelper.writeString16(this, val);
}
@@ -1274,19 +1214,16 @@ public final class Parcel {
* @hide
*/
public void writeStringNoHelper(@Nullable String val) {
- assertNotRecycled();
writeString16NoHelper(val);
}
/** {@hide} */
public void writeString8NoHelper(@Nullable String val) {
- assertNotRecycled();
nativeWriteString8(mNativePtr, val);
}
/** {@hide} */
public void writeString16NoHelper(@Nullable String val) {
- assertNotRecycled();
nativeWriteString16(mNativePtr, val);
}
@@ -1298,7 +1235,6 @@ public final class Parcel {
* for true or false, respectively, but may change in the future.
*/
public final void writeBoolean(boolean val) {
- assertNotRecycled();
writeInt(val ? 1 : 0);
}
@@ -1310,7 +1246,6 @@ public final class Parcel {
@UnsupportedAppUsage
@RavenwoodThrow(blockedBy = android.text.Spanned.class)
public final void writeCharSequence(@Nullable CharSequence val) {
- assertNotRecycled();
TextUtils.writeToParcel(val, this, 0);
}
@@ -1319,7 +1254,6 @@ public final class Parcel {
* growing dataCapacity() if needed.
*/
public final void writeStrongBinder(IBinder val) {
- assertNotRecycled();
nativeWriteStrongBinder(mNativePtr, val);
}
@@ -1328,7 +1262,6 @@ public final class Parcel {
* growing dataCapacity() if needed.
*/
public final void writeStrongInterface(IInterface val) {
- assertNotRecycled();
writeStrongBinder(val == null ? null : val.asBinder());
}
@@ -1343,7 +1276,6 @@ public final class Parcel {
* if {@link Parcelable#PARCELABLE_WRITE_RETURN_VALUE} is set.</p>
*/
public final void writeFileDescriptor(@NonNull FileDescriptor val) {
- assertNotRecycled();
nativeWriteFileDescriptor(mNativePtr, val);
}
@@ -1352,7 +1284,6 @@ public final class Parcel {
* This will be the new name for writeFileDescriptor, for consistency.
**/
public final void writeRawFileDescriptor(@NonNull FileDescriptor val) {
- assertNotRecycled();
nativeWriteFileDescriptor(mNativePtr, val);
}
@@ -1363,7 +1294,6 @@ public final class Parcel {
* @param value The array of objects to be written.
*/
public final void writeRawFileDescriptorArray(@Nullable FileDescriptor[] value) {
- assertNotRecycled();
if (value != null) {
int N = value.length;
writeInt(N);
@@ -1383,7 +1313,6 @@ public final class Parcel {
* the future.
*/
public final void writeByte(byte val) {
- assertNotRecycled();
writeInt(val);
}
@@ -1399,7 +1328,6 @@ public final class Parcel {
* allows you to avoid mysterious type errors at the point of marshalling.
*/
public final void writeMap(@Nullable Map val) {
- assertNotRecycled();
writeMapInternal((Map<String, Object>) val);
}
@@ -1408,7 +1336,6 @@ public final class Parcel {
* growing dataCapacity() if needed. The Map keys must be String objects.
*/
/* package */ void writeMapInternal(@Nullable Map<String,Object> val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1434,7 +1361,6 @@ public final class Parcel {
* growing dataCapacity() if needed. The Map keys must be String objects.
*/
/* package */ void writeArrayMapInternal(@Nullable ArrayMap<String, Object> val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1464,7 +1390,6 @@ public final class Parcel {
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void writeArrayMap(@Nullable ArrayMap<String, Object> val) {
- assertNotRecycled();
writeArrayMapInternal(val);
}
@@ -1483,7 +1408,6 @@ public final class Parcel {
*/
public <T extends Parcelable> void writeTypedArrayMap(@Nullable ArrayMap<String, T> val,
int parcelableFlags) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1505,7 +1429,6 @@ public final class Parcel {
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void writeArraySet(@Nullable ArraySet<? extends Object> val) {
- assertNotRecycled();
final int size = (val != null) ? val.size() : -1;
writeInt(size);
for (int i = 0; i < size; i++) {
@@ -1518,7 +1441,6 @@ public final class Parcel {
* growing dataCapacity() if needed.
*/
public final void writeBundle(@Nullable Bundle val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1532,7 +1454,6 @@ public final class Parcel {
* growing dataCapacity() if needed.
*/
public final void writePersistableBundle(@Nullable PersistableBundle val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1546,7 +1467,6 @@ public final class Parcel {
* growing dataCapacity() if needed.
*/
public final void writeSize(@NonNull Size val) {
- assertNotRecycled();
writeInt(val.getWidth());
writeInt(val.getHeight());
}
@@ -1556,7 +1476,6 @@ public final class Parcel {
* growing dataCapacity() if needed.
*/
public final void writeSizeF(@NonNull SizeF val) {
- assertNotRecycled();
writeFloat(val.getWidth());
writeFloat(val.getHeight());
}
@@ -1567,7 +1486,6 @@ public final class Parcel {
* {@link #writeValue} and must follow the specification there.
*/
public final void writeList(@Nullable List val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1587,7 +1505,6 @@ public final class Parcel {
* {@link #writeValue} and must follow the specification there.
*/
public final void writeArray(@Nullable Object[] val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1608,7 +1525,6 @@ public final class Parcel {
* specification there.
*/
public final <T> void writeSparseArray(@Nullable SparseArray<T> val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1624,7 +1540,6 @@ public final class Parcel {
}
public final void writeSparseBooleanArray(@Nullable SparseBooleanArray val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1643,7 +1558,6 @@ public final class Parcel {
* @hide
*/
public final void writeSparseIntArray(@Nullable SparseIntArray val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -1659,7 +1573,6 @@ public final class Parcel {
}
public final void writeBooleanArray(@Nullable boolean[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -1694,7 +1607,6 @@ public final class Parcel {
}
private void ensureWithinMemoryLimit(int typeSize, @NonNull int... dimensions) {
- assertNotRecycled();
// For Multidimensional arrays, Calculate total object
// which will be allocated.
int totalObjects = 1;
@@ -1712,7 +1624,6 @@ public final class Parcel {
}
private void ensureWithinMemoryLimit(int typeSize, int length) {
- assertNotRecycled();
int estimatedAllocationSize = 0;
try {
estimatedAllocationSize = Math.multiplyExact(typeSize, length);
@@ -1736,7 +1647,6 @@ public final class Parcel {
@Nullable
public final boolean[] createBooleanArray() {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_BOOLEAN, N);
// >>2 as a fast divide-by-4 works in the create*Array() functions
@@ -1754,7 +1664,6 @@ public final class Parcel {
}
public final void readBooleanArray(@NonNull boolean[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -1767,7 +1676,6 @@ public final class Parcel {
/** @hide */
public void writeShortArray(@Nullable short[] val) {
- assertNotRecycled();
if (val != null) {
int n = val.length;
writeInt(n);
@@ -1782,7 +1690,6 @@ public final class Parcel {
/** @hide */
@Nullable
public short[] createShortArray() {
- assertNotRecycled();
int n = readInt();
ensureWithinMemoryLimit(SIZE_SHORT, n);
if (n >= 0 && n <= (dataAvail() >> 2)) {
@@ -1798,7 +1705,6 @@ public final class Parcel {
/** @hide */
public void readShortArray(@NonNull short[] val) {
- assertNotRecycled();
int n = readInt();
if (n == val.length) {
for (int i = 0; i < n; i++) {
@@ -1810,7 +1716,6 @@ public final class Parcel {
}
public final void writeCharArray(@Nullable char[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -1824,7 +1729,6 @@ public final class Parcel {
@Nullable
public final char[] createCharArray() {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_CHAR, N);
if (N >= 0 && N <= (dataAvail() >> 2)) {
@@ -1839,7 +1743,6 @@ public final class Parcel {
}
public final void readCharArray(@NonNull char[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -1851,7 +1754,6 @@ public final class Parcel {
}
public final void writeIntArray(@Nullable int[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -1865,7 +1767,6 @@ public final class Parcel {
@Nullable
public final int[] createIntArray() {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_INT, N);
if (N >= 0 && N <= (dataAvail() >> 2)) {
@@ -1880,7 +1781,6 @@ public final class Parcel {
}
public final void readIntArray(@NonNull int[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -1892,7 +1792,6 @@ public final class Parcel {
}
public final void writeLongArray(@Nullable long[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -1906,7 +1805,6 @@ public final class Parcel {
@Nullable
public final long[] createLongArray() {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_LONG, N);
// >>3 because stored longs are 64 bits
@@ -1922,7 +1820,6 @@ public final class Parcel {
}
public final void readLongArray(@NonNull long[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -1934,7 +1831,6 @@ public final class Parcel {
}
public final void writeFloatArray(@Nullable float[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -1948,7 +1844,6 @@ public final class Parcel {
@Nullable
public final float[] createFloatArray() {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_FLOAT, N);
// >>2 because stored floats are 4 bytes
@@ -1964,7 +1859,6 @@ public final class Parcel {
}
public final void readFloatArray(@NonNull float[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -1976,7 +1870,6 @@ public final class Parcel {
}
public final void writeDoubleArray(@Nullable double[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -1990,7 +1883,6 @@ public final class Parcel {
@Nullable
public final double[] createDoubleArray() {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_DOUBLE, N);
// >>3 because stored doubles are 8 bytes
@@ -2006,7 +1898,6 @@ public final class Parcel {
}
public final void readDoubleArray(@NonNull double[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -2018,24 +1909,20 @@ public final class Parcel {
}
public final void writeStringArray(@Nullable String[] val) {
- assertNotRecycled();
writeString16Array(val);
}
@Nullable
public final String[] createStringArray() {
- assertNotRecycled();
return createString16Array();
}
public final void readStringArray(@NonNull String[] val) {
- assertNotRecycled();
readString16Array(val);
}
/** {@hide} */
public final void writeString8Array(@Nullable String[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -2050,7 +1937,6 @@ public final class Parcel {
/** {@hide} */
@Nullable
public final String[] createString8Array() {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_COMPLEX_TYPE, N);
if (N >= 0) {
@@ -2066,7 +1952,6 @@ public final class Parcel {
/** {@hide} */
public final void readString8Array(@NonNull String[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -2079,7 +1964,6 @@ public final class Parcel {
/** {@hide} */
public final void writeString16Array(@Nullable String[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -2094,7 +1978,6 @@ public final class Parcel {
/** {@hide} */
@Nullable
public final String[] createString16Array() {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_COMPLEX_TYPE, N);
if (N >= 0) {
@@ -2110,7 +1993,6 @@ public final class Parcel {
/** {@hide} */
public final void readString16Array(@NonNull String[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -2122,7 +2004,6 @@ public final class Parcel {
}
public final void writeBinderArray(@Nullable IBinder[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -2147,7 +2028,6 @@ public final class Parcel {
*/
public final <T extends IInterface> void writeInterfaceArray(
@SuppressLint("ArrayReturn") @Nullable T[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -2163,7 +2043,6 @@ public final class Parcel {
* @hide
*/
public final void writeCharSequenceArray(@Nullable CharSequence[] val) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -2179,7 +2058,6 @@ public final class Parcel {
* @hide
*/
public final void writeCharSequenceList(@Nullable ArrayList<CharSequence> val) {
- assertNotRecycled();
if (val != null) {
int N = val.size();
writeInt(N);
@@ -2193,7 +2071,6 @@ public final class Parcel {
@Nullable
public final IBinder[] createBinderArray() {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_COMPLEX_TYPE, N);
if (N >= 0) {
@@ -2208,7 +2085,6 @@ public final class Parcel {
}
public final void readBinderArray(@NonNull IBinder[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -2230,7 +2106,6 @@ public final class Parcel {
@Nullable
public final <T extends IInterface> T[] createInterfaceArray(
@NonNull IntFunction<T[]> newArray, @NonNull Function<IBinder, T> asInterface) {
- assertNotRecycled();
int N = readInt();
ensureWithinMemoryLimit(SIZE_COMPLEX_TYPE, N);
if (N >= 0) {
@@ -2255,7 +2130,6 @@ public final class Parcel {
public final <T extends IInterface> void readInterfaceArray(
@SuppressLint("ArrayReturn") @NonNull T[] val,
@NonNull Function<IBinder, T> asInterface) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -2281,7 +2155,6 @@ public final class Parcel {
* @see Parcelable
*/
public final <T extends Parcelable> void writeTypedList(@Nullable List<T> val) {
- assertNotRecycled();
writeTypedList(val, 0);
}
@@ -2301,7 +2174,6 @@ public final class Parcel {
*/
public final <T extends Parcelable> void writeTypedSparseArray(@Nullable SparseArray<T> val,
int parcelableFlags) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -2331,7 +2203,6 @@ public final class Parcel {
* @see Parcelable
*/
public <T extends Parcelable> void writeTypedList(@Nullable List<T> val, int parcelableFlags) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -2357,7 +2228,6 @@ public final class Parcel {
* @see #readStringList
*/
public final void writeStringList(@Nullable List<String> val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -2383,7 +2253,6 @@ public final class Parcel {
* @see #readBinderList
*/
public final void writeBinderList(@Nullable List<IBinder> val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -2406,7 +2275,6 @@ public final class Parcel {
* @see #readInterfaceList
*/
public final <T extends IInterface> void writeInterfaceList(@Nullable List<T> val) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -2428,7 +2296,6 @@ public final class Parcel {
* @see #readParcelableList(List, ClassLoader)
*/
public final <T extends Parcelable> void writeParcelableList(@Nullable List<T> val, int flags) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -2463,7 +2330,6 @@ public final class Parcel {
*/
public final <T extends Parcelable> void writeTypedArray(@Nullable T[] val,
int parcelableFlags) {
- assertNotRecycled();
if (val != null) {
int N = val.length;
writeInt(N);
@@ -2486,7 +2352,6 @@ public final class Parcel {
*/
public final <T extends Parcelable> void writeTypedObject(@Nullable T val,
int parcelableFlags) {
- assertNotRecycled();
if (val != null) {
writeInt(1);
val.writeToParcel(this, parcelableFlags);
@@ -2524,7 +2389,6 @@ public final class Parcel {
*/
public <T> void writeFixedArray(@Nullable T val, int parcelableFlags,
@NonNull int... dimensions) {
- assertNotRecycled();
if (val == null) {
writeInt(-1);
return;
@@ -2636,7 +2500,6 @@ public final class Parcel {
* should be used).</p>
*/
public final void writeValue(@Nullable Object v) {
- assertNotRecycled();
if (v instanceof LazyValue) {
LazyValue value = (LazyValue) v;
value.writeToParcel(this);
@@ -2754,7 +2617,6 @@ public final class Parcel {
* @hide
*/
public void writeValue(int type, @Nullable Object v) {
- assertNotRecycled();
switch (type) {
case VAL_NULL:
break;
@@ -2868,7 +2730,6 @@ public final class Parcel {
* {@link Parcelable#writeToParcel(Parcel, int) Parcelable.writeToParcel()}.
*/
public final void writeParcelable(@Nullable Parcelable p, int parcelableFlags) {
- assertNotRecycled();
if (p == null) {
writeString(null);
return;
@@ -2884,7 +2745,6 @@ public final class Parcel {
* @see #readParcelableCreator
*/
public final void writeParcelableCreator(@NonNull Parcelable p) {
- assertNotRecycled();
String name = p.getClass().getName();
writeString(name);
}
@@ -2923,7 +2783,6 @@ public final class Parcel {
*/
@TestApi
public boolean allowSquashing() {
- assertNotRecycled();
boolean previous = mAllowSquashing;
mAllowSquashing = true;
return previous;
@@ -2935,7 +2794,6 @@ public final class Parcel {
*/
@TestApi
public void restoreAllowSquashing(boolean previous) {
- assertNotRecycled();
mAllowSquashing = previous;
if (!mAllowSquashing) {
mWrittenSquashableParcelables = null;
@@ -2992,7 +2850,6 @@ public final class Parcel {
* @hide
*/
public boolean maybeWriteSquashed(@NonNull Parcelable p) {
- assertNotRecycled();
if (!mAllowSquashing) {
// Don't squash, and don't put it in the map either.
writeInt(0);
@@ -3043,7 +2900,6 @@ public final class Parcel {
@SuppressWarnings("unchecked")
@Nullable
public <T extends Parcelable> T readSquashed(SquashReadHelper<T> reader) {
- assertNotRecycled();
final int offset = readInt();
final int pos = dataPosition();
@@ -3077,7 +2933,6 @@ public final class Parcel {
* using the other approaches to writing data in to a Parcel.
*/
public final void writeSerializable(@Nullable Serializable s) {
- assertNotRecycled();
if (s == null) {
writeString(null);
return;
@@ -3130,7 +2985,6 @@ public final class Parcel {
*/
@RavenwoodReplace(blockedBy = AppOpsManager.class)
public final void writeException(@NonNull Exception e) {
- assertNotRecycled();
AppOpsManager.prefixParcelWithAppOpsIfNeeded(this);
int code = getExceptionCode(e);
@@ -3211,7 +3065,6 @@ public final class Parcel {
/** @hide */
public void writeStackTrace(@NonNull Throwable e) {
- assertNotRecycled();
final int sizePosition = dataPosition();
writeInt(0); // Header size will be filled in later
StackTraceElement[] stackTrace = e.getStackTrace();
@@ -3237,7 +3090,6 @@ public final class Parcel {
*/
@RavenwoodReplace(blockedBy = AppOpsManager.class)
public final void writeNoException() {
- assertNotRecycled();
AppOpsManager.prefixParcelWithAppOpsIfNeeded(this);
// Despite the name of this function ("write no exception"),
@@ -3281,7 +3133,6 @@ public final class Parcel {
* @see #writeNoException
*/
public final void readException() {
- assertNotRecycled();
int code = readExceptionCode();
if (code != 0) {
String msg = readString();
@@ -3305,7 +3156,6 @@ public final class Parcel {
@UnsupportedAppUsage
@TestApi
public final int readExceptionCode() {
- assertNotRecycled();
int code = readInt();
if (code == EX_HAS_NOTED_APPOPS_REPLY_HEADER) {
AppOpsManager.readAndLogNotedAppops(this);
@@ -3339,7 +3189,6 @@ public final class Parcel {
* @param msg The exception message.
*/
public final void readException(int code, String msg) {
- assertNotRecycled();
String remoteStackTrace = null;
final int remoteStackPayloadSize = readInt();
if (remoteStackPayloadSize > 0) {
@@ -3370,7 +3219,6 @@ public final class Parcel {
/** @hide */
public Exception createExceptionOrNull(int code, String msg) {
- assertNotRecycled();
switch (code) {
case EX_PARCELABLE:
if (readInt() > 0) {
@@ -3403,7 +3251,6 @@ public final class Parcel {
* Read an integer value from the parcel at the current dataPosition().
*/
public final int readInt() {
- assertNotRecycled();
return nativeReadInt(mNativePtr);
}
@@ -3411,7 +3258,6 @@ public final class Parcel {
* Read a long integer value from the parcel at the current dataPosition().
*/
public final long readLong() {
- assertNotRecycled();
return nativeReadLong(mNativePtr);
}
@@ -3420,7 +3266,6 @@ public final class Parcel {
* dataPosition().
*/
public final float readFloat() {
- assertNotRecycled();
return nativeReadFloat(mNativePtr);
}
@@ -3429,7 +3274,6 @@ public final class Parcel {
* current dataPosition().
*/
public final double readDouble() {
- assertNotRecycled();
return nativeReadDouble(mNativePtr);
}
@@ -3438,19 +3282,16 @@ public final class Parcel {
*/
@Nullable
public final String readString() {
- assertNotRecycled();
return readString16();
}
/** {@hide} */
public final @Nullable String readString8() {
- assertNotRecycled();
return mReadWriteHelper.readString8(this);
}
/** {@hide} */
public final @Nullable String readString16() {
- assertNotRecycled();
return mReadWriteHelper.readString16(this);
}
@@ -3462,19 +3303,16 @@ public final class Parcel {
* @hide
*/
public @Nullable String readStringNoHelper() {
- assertNotRecycled();
return readString16NoHelper();
}
/** {@hide} */
public @Nullable String readString8NoHelper() {
- assertNotRecycled();
return nativeReadString8(mNativePtr);
}
/** {@hide} */
public @Nullable String readString16NoHelper() {
- assertNotRecycled();
return nativeReadString16(mNativePtr);
}
@@ -3482,7 +3320,6 @@ public final class Parcel {
* Read a boolean value from the parcel at the current dataPosition().
*/
public final boolean readBoolean() {
- assertNotRecycled();
return readInt() != 0;
}
@@ -3493,7 +3330,6 @@ public final class Parcel {
@UnsupportedAppUsage
@Nullable
public final CharSequence readCharSequence() {
- assertNotRecycled();
return TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(this);
}
@@ -3501,7 +3337,6 @@ public final class Parcel {
* Read an object from the parcel at the current dataPosition().
*/
public final IBinder readStrongBinder() {
- assertNotRecycled();
final IBinder result = nativeReadStrongBinder(mNativePtr);
// If it's a reply from a method with @PropagateAllowBlocking, then inherit allow-blocking
@@ -3517,7 +3352,6 @@ public final class Parcel {
* Read a FileDescriptor from the parcel at the current dataPosition().
*/
public final ParcelFileDescriptor readFileDescriptor() {
- assertNotRecycled();
FileDescriptor fd = nativeReadFileDescriptor(mNativePtr);
return fd != null ? new ParcelFileDescriptor(fd) : null;
}
@@ -3525,7 +3359,6 @@ public final class Parcel {
/** {@hide} */
@UnsupportedAppUsage
public final FileDescriptor readRawFileDescriptor() {
- assertNotRecycled();
return nativeReadFileDescriptor(mNativePtr);
}
@@ -3536,7 +3369,6 @@ public final class Parcel {
**/
@Nullable
public final FileDescriptor[] createRawFileDescriptorArray() {
- assertNotRecycled();
int N = readInt();
if (N < 0) {
return null;
@@ -3556,7 +3388,6 @@ public final class Parcel {
* @return the FileDescriptor array, or null if the array is null.
**/
public final void readRawFileDescriptorArray(FileDescriptor[] val) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -3571,7 +3402,6 @@ public final class Parcel {
* Read a byte value from the parcel at the current dataPosition().
*/
public final byte readByte() {
- assertNotRecycled();
return (byte)(readInt() & 0xff);
}
@@ -3586,7 +3416,6 @@ public final class Parcel {
*/
@Deprecated
public final void readMap(@NonNull Map outVal, @Nullable ClassLoader loader) {
- assertNotRecycled();
readMapInternal(outVal, loader, /* clazzKey */ null, /* clazzValue */ null);
}
@@ -3600,7 +3429,6 @@ public final class Parcel {
public <K, V> void readMap(@NonNull Map<? super K, ? super V> outVal,
@Nullable ClassLoader loader, @NonNull Class<K> clazzKey,
@NonNull Class<V> clazzValue) {
- assertNotRecycled();
Objects.requireNonNull(clazzKey);
Objects.requireNonNull(clazzValue);
readMapInternal(outVal, loader, clazzKey, clazzValue);
@@ -3619,7 +3447,6 @@ public final class Parcel {
*/
@Deprecated
public final void readList(@NonNull List outVal, @Nullable ClassLoader loader) {
- assertNotRecycled();
int N = readInt();
readListInternal(outVal, N, loader, /* clazz */ null);
}
@@ -3641,7 +3468,6 @@ public final class Parcel {
*/
public <T> void readList(@NonNull List<? super T> outVal,
@Nullable ClassLoader loader, @NonNull Class<T> clazz) {
- assertNotRecycled();
Objects.requireNonNull(clazz);
int n = readInt();
readListInternal(outVal, n, loader, clazz);
@@ -3661,7 +3487,6 @@ public final class Parcel {
@Deprecated
@Nullable
public HashMap readHashMap(@Nullable ClassLoader loader) {
- assertNotRecycled();
return readHashMapInternal(loader, /* clazzKey */ null, /* clazzValue */ null);
}
@@ -3676,7 +3501,6 @@ public final class Parcel {
@Nullable
public <K, V> HashMap<K, V> readHashMap(@Nullable ClassLoader loader,
@NonNull Class<? extends K> clazzKey, @NonNull Class<? extends V> clazzValue) {
- assertNotRecycled();
Objects.requireNonNull(clazzKey);
Objects.requireNonNull(clazzValue);
return readHashMapInternal(loader, clazzKey, clazzValue);
@@ -3689,7 +3513,6 @@ public final class Parcel {
*/
@Nullable
public final Bundle readBundle() {
- assertNotRecycled();
return readBundle(null);
}
@@ -3701,7 +3524,6 @@ public final class Parcel {
*/
@Nullable
public final Bundle readBundle(@Nullable ClassLoader loader) {
- assertNotRecycled();
int length = readInt();
if (length < 0) {
if (Bundle.DEBUG) Log.d(TAG, "null bundle: length=" + length);
@@ -3722,7 +3544,6 @@ public final class Parcel {
*/
@Nullable
public final PersistableBundle readPersistableBundle() {
- assertNotRecycled();
return readPersistableBundle(null);
}
@@ -3734,7 +3555,6 @@ public final class Parcel {
*/
@Nullable
public final PersistableBundle readPersistableBundle(@Nullable ClassLoader loader) {
- assertNotRecycled();
int length = readInt();
if (length < 0) {
if (Bundle.DEBUG) Log.d(TAG, "null bundle: length=" + length);
@@ -3753,7 +3573,6 @@ public final class Parcel {
*/
@NonNull
public final Size readSize() {
- assertNotRecycled();
final int width = readInt();
final int height = readInt();
return new Size(width, height);
@@ -3764,7 +3583,6 @@ public final class Parcel {
*/
@NonNull
public final SizeF readSizeF() {
- assertNotRecycled();
final float width = readFloat();
final float height = readFloat();
return new SizeF(width, height);
@@ -3775,7 +3593,6 @@ public final class Parcel {
*/
@Nullable
public final byte[] createByteArray() {
- assertNotRecycled();
return nativeCreateByteArray(mNativePtr);
}
@@ -3784,7 +3601,6 @@ public final class Parcel {
* given byte array.
*/
public final void readByteArray(@NonNull byte[] val) {
- assertNotRecycled();
boolean valid = nativeReadByteArray(mNativePtr, val, (val != null) ? val.length : 0);
if (!valid) {
throw new RuntimeException("bad array lengths");
@@ -3797,7 +3613,6 @@ public final class Parcel {
*/
@Nullable
public final byte[] readBlob() {
- assertNotRecycled();
return nativeReadBlob(mNativePtr);
}
@@ -3808,7 +3623,6 @@ public final class Parcel {
@UnsupportedAppUsage
@Nullable
public final String[] readStringArray() {
- assertNotRecycled();
return createString16Array();
}
@@ -3818,7 +3632,6 @@ public final class Parcel {
*/
@Nullable
public final CharSequence[] readCharSequenceArray() {
- assertNotRecycled();
CharSequence[] array = null;
int length = readInt();
@@ -3841,7 +3654,6 @@ public final class Parcel {
*/
@Nullable
public final ArrayList<CharSequence> readCharSequenceList() {
- assertNotRecycled();
ArrayList<CharSequence> array = null;
int length = readInt();
@@ -3871,7 +3683,6 @@ public final class Parcel {
@Deprecated
@Nullable
public ArrayList readArrayList(@Nullable ClassLoader loader) {
- assertNotRecycled();
return readArrayListInternal(loader, /* clazz */ null);
}
@@ -3894,7 +3705,6 @@ public final class Parcel {
@Nullable
public <T> ArrayList<T> readArrayList(@Nullable ClassLoader loader,
@NonNull Class<? extends T> clazz) {
- assertNotRecycled();
Objects.requireNonNull(clazz);
return readArrayListInternal(loader, clazz);
}
@@ -3914,7 +3724,6 @@ public final class Parcel {
@Deprecated
@Nullable
public Object[] readArray(@Nullable ClassLoader loader) {
- assertNotRecycled();
return readArrayInternal(loader, /* clazz */ null);
}
@@ -3936,7 +3745,6 @@ public final class Parcel {
@SuppressLint({"ArrayReturn", "NullableCollection"})
@Nullable
public <T> T[] readArray(@Nullable ClassLoader loader, @NonNull Class<T> clazz) {
- assertNotRecycled();
Objects.requireNonNull(clazz);
return readArrayInternal(loader, clazz);
}
@@ -3956,7 +3764,6 @@ public final class Parcel {
@Deprecated
@Nullable
public <T> SparseArray<T> readSparseArray(@Nullable ClassLoader loader) {
- assertNotRecycled();
return readSparseArrayInternal(loader, /* clazz */ null);
}
@@ -3978,7 +3785,6 @@ public final class Parcel {
@Nullable
public <T> SparseArray<T> readSparseArray(@Nullable ClassLoader loader,
@NonNull Class<? extends T> clazz) {
- assertNotRecycled();
Objects.requireNonNull(clazz);
return readSparseArrayInternal(loader, clazz);
}
@@ -3990,7 +3796,6 @@ public final class Parcel {
*/
@Nullable
public final SparseBooleanArray readSparseBooleanArray() {
- assertNotRecycled();
int N = readInt();
if (N < 0) {
return null;
@@ -4007,7 +3812,6 @@ public final class Parcel {
*/
@Nullable
public final SparseIntArray readSparseIntArray() {
- assertNotRecycled();
int N = readInt();
if (N < 0) {
return null;
@@ -4032,7 +3836,6 @@ public final class Parcel {
*/
@Nullable
public final <T> ArrayList<T> createTypedArrayList(@NonNull Parcelable.Creator<T> c) {
- assertNotRecycled();
int N = readInt();
if (N < 0) {
return null;
@@ -4056,7 +3859,6 @@ public final class Parcel {
* @see #writeTypedList
*/
public final <T> void readTypedList(@NonNull List<T> list, @NonNull Parcelable.Creator<T> c) {
- assertNotRecycled();
int M = list.size();
int N = readInt();
int i = 0;
@@ -4086,7 +3888,6 @@ public final class Parcel {
*/
public final @Nullable <T extends Parcelable> SparseArray<T> createTypedSparseArray(
@NonNull Parcelable.Creator<T> creator) {
- assertNotRecycled();
final int count = readInt();
if (count < 0) {
return null;
@@ -4116,7 +3917,6 @@ public final class Parcel {
*/
public final @Nullable <T extends Parcelable> ArrayMap<String, T> createTypedArrayMap(
@NonNull Parcelable.Creator<T> creator) {
- assertNotRecycled();
final int count = readInt();
if (count < 0) {
return null;
@@ -4144,7 +3944,6 @@ public final class Parcel {
*/
@Nullable
public final ArrayList<String> createStringArrayList() {
- assertNotRecycled();
int N = readInt();
if (N < 0) {
return null;
@@ -4171,7 +3970,6 @@ public final class Parcel {
*/
@Nullable
public final ArrayList<IBinder> createBinderArrayList() {
- assertNotRecycled();
int N = readInt();
if (N < 0) {
return null;
@@ -4199,7 +3997,6 @@ public final class Parcel {
@Nullable
public final <T extends IInterface> ArrayList<T> createInterfaceArrayList(
@NonNull Function<IBinder, T> asInterface) {
- assertNotRecycled();
int N = readInt();
if (N < 0) {
return null;
@@ -4220,7 +4017,6 @@ public final class Parcel {
* @see #writeStringList
*/
public final void readStringList(@NonNull List<String> list) {
- assertNotRecycled();
int M = list.size();
int N = readInt();
int i = 0;
@@ -4242,7 +4038,6 @@ public final class Parcel {
* @see #writeBinderList
*/
public final void readBinderList(@NonNull List<IBinder> list) {
- assertNotRecycled();
int M = list.size();
int N = readInt();
int i = 0;
@@ -4265,7 +4060,6 @@ public final class Parcel {
*/
public final <T extends IInterface> void readInterfaceList(@NonNull List<T> list,
@NonNull Function<IBinder, T> asInterface) {
- assertNotRecycled();
int M = list.size();
int N = readInt();
int i = 0;
@@ -4297,7 +4091,6 @@ public final class Parcel {
@NonNull
public final <T extends Parcelable> List<T> readParcelableList(@NonNull List<T> list,
@Nullable ClassLoader cl) {
- assertNotRecycled();
return readParcelableListInternal(list, cl, /*clazz*/ null);
}
@@ -4319,7 +4112,6 @@ public final class Parcel {
@NonNull
public <T> List<T> readParcelableList(@NonNull List<T> list,
@Nullable ClassLoader cl, @NonNull Class<? extends T> clazz) {
- assertNotRecycled();
Objects.requireNonNull(list);
Objects.requireNonNull(clazz);
return readParcelableListInternal(list, cl, clazz);
@@ -4365,7 +4157,6 @@ public final class Parcel {
*/
@Nullable
public final <T> T[] createTypedArray(@NonNull Parcelable.Creator<T> c) {
- assertNotRecycled();
int N = readInt();
if (N < 0) {
return null;
@@ -4379,7 +4170,6 @@ public final class Parcel {
}
public final <T> void readTypedArray(@NonNull T[] val, @NonNull Parcelable.Creator<T> c) {
- assertNotRecycled();
int N = readInt();
if (N == val.length) {
for (int i=0; i<N; i++) {
@@ -4396,7 +4186,6 @@ public final class Parcel {
*/
@Deprecated
public final <T> T[] readTypedArray(Parcelable.Creator<T> c) {
- assertNotRecycled();
return createTypedArray(c);
}
@@ -4413,7 +4202,6 @@ public final class Parcel {
*/
@Nullable
public final <T> T readTypedObject(@NonNull Parcelable.Creator<T> c) {
- assertNotRecycled();
if (readInt() != 0) {
return c.createFromParcel(this);
} else {
@@ -4440,7 +4228,6 @@ public final class Parcel {
* @see #readTypedArray
*/
public <T> void readFixedArray(@NonNull T val) {
- assertNotRecycled();
Class<?> componentType = val.getClass().getComponentType();
if (componentType == boolean.class) {
readBooleanArray((boolean[]) val);
@@ -4481,7 +4268,6 @@ public final class Parcel {
*/
public <T, S extends IInterface> void readFixedArray(@NonNull T val,
@NonNull Function<IBinder, S> asInterface) {
- assertNotRecycled();
Class<?> componentType = val.getClass().getComponentType();
if (IInterface.class.isAssignableFrom(componentType)) {
readInterfaceArray((S[]) val, asInterface);
@@ -4508,7 +4294,6 @@ public final class Parcel {
*/
public <T, S extends Parcelable> void readFixedArray(@NonNull T val,
@NonNull Parcelable.Creator<S> c) {
- assertNotRecycled();
Class<?> componentType = val.getClass().getComponentType();
if (Parcelable.class.isAssignableFrom(componentType)) {
readTypedArray((S[]) val, c);
@@ -4566,7 +4351,6 @@ public final class Parcel {
*/
@Nullable
public <T> T createFixedArray(@NonNull Class<T> cls, @NonNull int... dimensions) {
- assertNotRecycled();
// Check if type matches with dimensions
// If type is one-dimensional array, delegate to other creators
// Otherwise, create an multi-dimensional array at once and then fill it with readFixedArray
@@ -4640,7 +4424,6 @@ public final class Parcel {
@Nullable
public <T, S extends IInterface> T createFixedArray(@NonNull Class<T> cls,
@NonNull Function<IBinder, S> asInterface, @NonNull int... dimensions) {
- assertNotRecycled();
// Check if type matches with dimensions
// If type is one-dimensional array, delegate to other creators
// Otherwise, create an multi-dimensional array at once and then fill it with readFixedArray
@@ -4701,7 +4484,6 @@ public final class Parcel {
@Nullable
public <T, S extends Parcelable> T createFixedArray(@NonNull Class<T> cls,
@NonNull Parcelable.Creator<S> c, @NonNull int... dimensions) {
- assertNotRecycled();
// Check if type matches with dimensions
// If type is one-dimensional array, delegate to other creators
// Otherwise, create an multi-dimensional array at once and then fill it with readFixedArray
@@ -4765,7 +4547,6 @@ public final class Parcel {
*/
public final <T extends Parcelable> void writeParcelableArray(@Nullable T[] value,
int parcelableFlags) {
- assertNotRecycled();
if (value != null) {
int N = value.length;
writeInt(N);
@@ -4784,7 +4565,6 @@ public final class Parcel {
*/
@Nullable
public final Object readValue(@Nullable ClassLoader loader) {
- assertNotRecycled();
return readValue(loader, /* clazz */ null);
}
@@ -4840,7 +4620,6 @@ public final class Parcel {
*/
@Nullable
public Object readLazyValue(@Nullable ClassLoader loader) {
- assertNotRecycled();
int start = dataPosition();
int type = readInt();
if (isLengthPrefixed(type)) {
@@ -5243,7 +5022,6 @@ public final class Parcel {
@Deprecated
@Nullable
public final <T extends Parcelable> T readParcelable(@Nullable ClassLoader loader) {
- assertNotRecycled();
return readParcelableInternal(loader, /* clazz */ null);
}
@@ -5263,7 +5041,6 @@ public final class Parcel {
*/
@Nullable
public <T> T readParcelable(@Nullable ClassLoader loader, @NonNull Class<T> clazz) {
- assertNotRecycled();
Objects.requireNonNull(clazz);
return readParcelableInternal(loader, clazz);
}
@@ -5292,7 +5069,6 @@ public final class Parcel {
@Nullable
public final <T extends Parcelable> T readCreator(@NonNull Parcelable.Creator<?> creator,
@Nullable ClassLoader loader) {
- assertNotRecycled();
if (creator instanceof Parcelable.ClassLoaderCreator<?>) {
Parcelable.ClassLoaderCreator<?> classLoaderCreator =
(Parcelable.ClassLoaderCreator<?>) creator;
@@ -5320,7 +5096,6 @@ public final class Parcel {
@Deprecated
@Nullable
public final Parcelable.Creator<?> readParcelableCreator(@Nullable ClassLoader loader) {
- assertNotRecycled();
return readParcelableCreatorInternal(loader, /* clazz */ null);
}
@@ -5341,7 +5116,6 @@ public final class Parcel {
@Nullable
public <T> Parcelable.Creator<T> readParcelableCreator(
@Nullable ClassLoader loader, @NonNull Class<T> clazz) {
- assertNotRecycled();
Objects.requireNonNull(clazz);
return readParcelableCreatorInternal(loader, clazz);
}
@@ -5464,7 +5238,6 @@ public final class Parcel {
@Deprecated
@Nullable
public Parcelable[] readParcelableArray(@Nullable ClassLoader loader) {
- assertNotRecycled();
return readParcelableArrayInternal(loader, /* clazz */ null);
}
@@ -5485,7 +5258,6 @@ public final class Parcel {
@SuppressLint({"ArrayReturn", "NullableCollection"})
@Nullable
public <T> T[] readParcelableArray(@Nullable ClassLoader loader, @NonNull Class<T> clazz) {
- assertNotRecycled();
return readParcelableArrayInternal(loader, requireNonNull(clazz));
}
@@ -5519,7 +5291,6 @@ public final class Parcel {
@Deprecated
@Nullable
public Serializable readSerializable() {
- assertNotRecycled();
return readSerializableInternal(/* loader */ null, /* clazz */ null);
}
@@ -5536,7 +5307,6 @@ public final class Parcel {
*/
@Nullable
public <T> T readSerializable(@Nullable ClassLoader loader, @NonNull Class<T> clazz) {
- assertNotRecycled();
Objects.requireNonNull(clazz);
return readSerializableInternal(
loader == null ? getClass().getClassLoader() : loader, clazz);
@@ -5778,7 +5548,6 @@ public final class Parcel {
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void readArrayMap(@NonNull ArrayMap<? super String, Object> outVal,
@Nullable ClassLoader loader) {
- assertNotRecycled();
final int N = readInt();
if (N < 0) {
return;
@@ -5795,7 +5564,6 @@ public final class Parcel {
*/
@UnsupportedAppUsage
public @Nullable ArraySet<? extends Object> readArraySet(@Nullable ClassLoader loader) {
- assertNotRecycled();
final int size = readInt();
if (size < 0) {
return null;
@@ -5935,7 +5703,6 @@ public final class Parcel {
* @hide For testing
*/
public long getOpenAshmemSize() {
- assertNotRecycled();
return nativeGetOpenAshmemSize(mNativePtr);
}