Files
rr3-apk/decompiled-community/sources/androidx/versionedparcelable/ParcelUtils.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

96 lines
3.7 KiB
Java

package androidx.versionedparcelable;
import android.os.Bundle;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/* loaded from: classes.dex */
public class ParcelUtils {
private static final String INNER_BUNDLE_KEY = "a";
private ParcelUtils() {
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static Parcelable toParcelable(VersionedParcelable versionedParcelable) {
return new ParcelImpl(versionedParcelable);
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static <T extends VersionedParcelable> T fromParcelable(Parcelable parcelable) {
if (!(parcelable instanceof ParcelImpl)) {
throw new IllegalArgumentException("Invalid parcel");
}
return (T) ((ParcelImpl) parcelable).getVersionedParcel();
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static void toOutputStream(VersionedParcelable versionedParcelable, OutputStream outputStream) {
VersionedParcelStream versionedParcelStream = new VersionedParcelStream(null, outputStream);
versionedParcelStream.writeVersionedParcelable(versionedParcelable);
versionedParcelStream.closeField();
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static <T extends VersionedParcelable> T fromInputStream(InputStream inputStream) {
return (T) new VersionedParcelStream(inputStream, null).readVersionedParcelable();
}
public static void putVersionedParcelable(@NonNull Bundle bundle, @NonNull String str, @Nullable VersionedParcelable versionedParcelable) {
if (versionedParcelable == null) {
return;
}
Bundle bundle2 = new Bundle();
bundle2.putParcelable("a", toParcelable(versionedParcelable));
bundle.putParcelable(str, bundle2);
}
@Nullable
public static <T extends VersionedParcelable> T getVersionedParcelable(@NonNull Bundle bundle, @NonNull String str) {
try {
Bundle bundle2 = (Bundle) bundle.getParcelable(str);
if (bundle2 == null) {
return null;
}
bundle2.setClassLoader(ParcelUtils.class.getClassLoader());
return (T) fromParcelable(bundle2.getParcelable("a"));
} catch (RuntimeException unused) {
return null;
}
}
public static void putVersionedParcelableList(@NonNull Bundle bundle, @NonNull String str, @NonNull List<? extends VersionedParcelable> list) {
Bundle bundle2 = new Bundle();
ArrayList<? extends Parcelable> arrayList = new ArrayList<>();
Iterator<? extends VersionedParcelable> it = list.iterator();
while (it.hasNext()) {
arrayList.add(toParcelable(it.next()));
}
bundle2.putParcelableArrayList("a", arrayList);
bundle.putParcelable(str, bundle2);
}
@Nullable
public static <T extends VersionedParcelable> List<T> getVersionedParcelableList(Bundle bundle, String str) {
ArrayList arrayList = new ArrayList();
try {
Bundle bundle2 = (Bundle) bundle.getParcelable(str);
bundle2.setClassLoader(ParcelUtils.class.getClassLoader());
Iterator it = bundle2.getParcelableArrayList("a").iterator();
while (it.hasNext()) {
arrayList.add(fromParcelable((Parcelable) it.next()));
}
return arrayList;
} catch (RuntimeException unused) {
return null;
}
}
}