package com.parse;

import com.parse.http.ParseHttpRequest;
import com.parse.http.ParseHttpResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import p137.C2739;
import p137.C2742;
import p137.C2754;
import p137.InterfaceC2741;
import p138.p139.p143.p144.C2803;
import p138.p176.p177.p242.p246.p251.C4303;

/* JADX INFO: loaded from: classes.dex */
public class ParseRESTObjectBatchCommand extends ParseRESTCommand {
    public ParseRESTObjectBatchCommand(String str, ParseHttpRequest.Method method, JSONObject jSONObject, String str2) {
        super(str, method, jSONObject, str2);
    }

    /* JADX WARN: Type inference failed for: r0v1, types: [com.parse.Lists$Partition] */
    public static List<C2742<JSONObject>> executeBatch(ParseHttpClient parseHttpClient, final List<ParseRESTObjectCommand> list, String str) {
        final int size = list.size();
        ArrayList arrayList = new ArrayList(size);
        int i = 0;
        if (size == 1) {
            arrayList.add(list.get(0).executeAsync(parseHttpClient, null, null, null));
            return arrayList;
        }
        final int i2 = 50;
        if (size > 50) {
            ?? r0 = new AbstractList<List<T>>(list, i2) { // from class: com.parse.Lists$Partition
                public final List<T> list;
                public final int size;

                {
                    this.list = list;
                    this.size = i2;
                }

                @Override // java.util.AbstractList, java.util.List
                public Object get(int i3) {
                    int i4 = this.size;
                    int i5 = i3 * i4;
                    return this.list.subList(i5, Math.min(i4 + i5, this.list.size()));
                }

                @Override // java.util.AbstractCollection, java.util.Collection, java.util.List
                public int size() {
                    return (int) Math.ceil(((double) this.list.size()) / ((double) this.size));
                }
            };
            int size2 = r0.size();
            while (i < size2) {
                arrayList.addAll(executeBatch(parseHttpClient, (List) r0.get(i), str));
                i++;
            }
            return arrayList;
        }
        final ArrayList arrayList2 = new ArrayList(size);
        while (i < size) {
            C2754 c2754 = new C2754();
            arrayList2.add(c2754);
            arrayList.add(c2754.f8503);
            i++;
        }
        JSONObject jSONObject = new JSONObject();
        JSONArray jSONArray = new JSONArray();
        try {
            for (ParseRESTObjectCommand parseRESTObjectCommand : list) {
                JSONObject jSONObject2 = new JSONObject();
                jSONObject2.put("method", parseRESTObjectCommand.method.toString());
                jSONObject2.put("path", new URL(ParseRESTCommand.server, parseRESTObjectCommand.httpPath).getPath());
                JSONObject jSONObject3 = parseRESTObjectCommand.jsonParameters;
                if (jSONObject3 != null) {
                    jSONObject2.put("body", jSONObject3);
                }
                jSONArray.put(jSONObject2);
            }
            jSONObject.put("requests", jSONArray);
            new ParseRESTObjectBatchCommand("batch", ParseHttpRequest.Method.POST, jSONObject, str).executeAsync(parseHttpClient, null, null, null).m4809((InterfaceC2741<JSONObject, TContinuationResult>) new InterfaceC2741<JSONObject, Void>() { // from class: com.parse.ParseRESTObjectBatchCommand.1
                @Override // p137.InterfaceC2741
                public Void then(C2742<JSONObject> c2742) throws JSONException {
                    if (c2742.m4820() || c2742.m4818()) {
                        for (int i3 = 0; i3 < size; i3++) {
                            C2754 c27542 = (C2754) arrayList2.get(i3);
                            if (c2742.m4820()) {
                                c27542.m4826(c2742.m4806());
                            } else {
                                c27542.m4825();
                            }
                        }
                    }
                    JSONArray jSONArray2 = c2742.m4812().getJSONArray("results");
                    int length = jSONArray2.length();
                    if (length != size) {
                        for (int i4 = 0; i4 < size; i4++) {
                            C2754 c27543 = (C2754) arrayList2.get(i4);
                            StringBuilder sbM4889 = C2803.m4889("Batch command result count expected: ");
                            sbM4889.append(size);
                            sbM4889.append(" but was: ");
                            sbM4889.append(length);
                            c27543.m4826((Exception) new IllegalStateException(sbM4889.toString()));
                        }
                    }
                    for (int i5 = 0; i5 < size; i5++) {
                        JSONObject jSONObject4 = jSONArray2.getJSONObject(i5);
                        C2754 c27544 = (C2754) arrayList2.get(i5);
                        if (jSONObject4.has("success")) {
                            c27544.m4827(jSONObject4.getJSONObject("success"));
                        } else if (jSONObject4.has("error")) {
                            JSONObject jSONObject5 = jSONObject4.getJSONObject("error");
                            c27544.m4826((Exception) new ParseException(jSONObject5.getInt("code"), jSONObject5.getString("error")));
                        }
                    }
                    return null;
                }
            }, C2742.f8455, (C2739) null);
            return arrayList;
        } catch (MalformedURLException | JSONException e) {
            throw new RuntimeException(e);
        }
    }

    @Override // com.parse.ParseRESTCommand, com.parse.ParseRequest
    public C2742<JSONObject> onResponseAsync(ParseHttpResponse parseHttpResponse, ProgressCallback progressCallback) {
        InputStream inputStream = null;
        try {
            try {
                inputStream = parseHttpResponse.content;
                String str = new String(C4303.toByteArray(inputStream));
                if (inputStream != null) {
                    try {
                        inputStream.close();
                    } catch (IOException unused) {
                    }
                }
                try {
                    JSONArray jSONArray = new JSONArray(str);
                    JSONObject jSONObject = new JSONObject();
                    jSONObject.put("results", jSONArray);
                    return C2742.m4805(jSONObject);
                } catch (JSONException e) {
                    return C2742.m4804((Exception) newTemporaryException("bad json response", e));
                }
            } catch (Throwable th) {
                if (inputStream != null) {
                    try {
                        inputStream.close();
                    } catch (IOException unused2) {
                    }
                }
                throw th;
            }
        } catch (IOException e2) {
            C2742<JSONObject> c2742M4804 = C2742.m4804((Exception) e2);
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException unused3) {
                }
            }
            return c2742M4804;
        }
    }
}
