package com.parse;

import android.os.Parcel;
import java.util.ArrayList;
import java.util.HashMap;
import org.json.JSONObject;

/* JADX INFO: loaded from: classes.dex */
public class ParseParcelDecoder {
    public static final ParseParcelDecoder INSTANCE = new ParseParcelDecoder();

    /* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */
    /* JADX WARN: Removed duplicated region for block: B:50:0x00b0  */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public Object decode(Parcel parcel) {
        int i;
        i = 0;
        switch (parcel.readString()) {
            case "Object":
                return ParseObject.createFromParcel(parcel, this);
            case "Pointer":
                return decodePointer(parcel);
            case "Date":
                return ParseDateFormat.INSTANCE.parse(parcel.readString());
            case "Bytes":
                byte[] bArr = new byte[parcel.readInt()];
                parcel.readByteArray(bArr);
                return bArr;
            case "Operation":
                return ParseFieldOperations.decode(parcel, this);
            case "File":
                return new ParseFile(parcel, this);
            case "GeoPoint":
                return new ParseGeoPoint(parcel);
            case "Polygon":
                return new ParsePolygon(parcel);
            case "Acl":
                return new ParseACL(parcel, this);
            case "Relation":
                return new ParseRelation(parcel, this);
            case "Map":
                int i2 = parcel.readInt();
                HashMap map = new HashMap(i2);
                while (i < i2) {
                    map.put(parcel.readString(), decode(parcel));
                    i++;
                }
                return map;
            case "Collection":
                int i3 = parcel.readInt();
                ArrayList arrayList = new ArrayList(i3);
                while (i < i3) {
                    arrayList.add(i, decode(parcel));
                    i++;
                }
                return arrayList;
            case "JsonNull":
                return JSONObject.NULL;
            case "Null":
                return null;
            case "Native":
                return parcel.readValue(null);
            default:
                throw new RuntimeException("Could not unparcel objects from this Parcel.");
        }
    }

    public ParseObject decodePointer(Parcel parcel) {
        return ParseObject.createWithoutData(parcel.readString(), parcel.readString());
    }
}
