package com.parse;

import com.parse.ParseQuery;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import p137.C2742;
import p137.InterfaceC2741;

/* JADX INFO: loaded from: classes.dex */
public class NetworkQueryController extends AbstractQueryController {
    public final ParseHttpClient restClient;

    public NetworkQueryController(ParseHttpClient parseHttpClient) {
        this.restClient = parseHttpClient;
    }

    public <T extends ParseObject> List<T> convertFindResponse(ParseQuery.State<T> state, JSONObject jSONObject) throws JSONException {
        ArrayList arrayList = new ArrayList();
        JSONArray jSONArray = jSONObject.getJSONArray("results");
        if (jSONArray == null) {
            PLog.log(3, "NetworkQueryController", "null results in find response", null);
        } else {
            String strOptString = jSONObject.optString("className", null);
            if (strOptString == null) {
                strOptString = state.className;
            }
            for (int i = 0; i < jSONArray.length(); i++) {
                arrayList.add(ParseObject.fromJSON(jSONArray.getJSONObject(i), strOptString, ParseDecoder.INSTANCE, state.selectedKeys));
                if (((ParseQuery.RelationConstraint) state.where.get("$relatedTo")) != null) {
                    throw null;
                }
            }
        }
        return arrayList;
    }

    @Override // com.parse.ParseQueryController
    public <T extends ParseObject> C2742<List<T>> findAsync(ParseQuery.State<T> state, ParseUser parseUser, C2742<Void> c2742) {
        return findAsync(state, parseUser != null ? parseUser.getSessionToken() : null, c2742);
    }

    public <T extends ParseObject> C2742<List<T>> findAsync(final ParseQuery.State<T> state, String str, C2742<Void> c2742) {
        final long jNanoTime = System.nanoTime();
        final ParseRESTQueryCommand parseRESTQueryCommandFindCommand = ParseRESTQueryCommand.findCommand(state, str);
        final long jNanoTime2 = System.nanoTime();
        return (C2742<List<T>>) parseRESTQueryCommandFindCommand.executeAsync(this.restClient, null, null, c2742).m4814(new InterfaceC2741<JSONObject, List<T>>() { // from class: com.parse.NetworkQueryController.1
            @Override // p137.InterfaceC2741
            public Object then(C2742<JSONObject> c27422) throws JSONException {
                JSONObject jSONObjectM4812 = c27422.m4812();
                ParseQuery.CachePolicy cachePolicy = state.cachePolicy;
                if (cachePolicy != null && cachePolicy != ParseQuery.CachePolicy.IGNORE_CACHE) {
                    ParseKeyValueCache.saveToKeyValueCache(parseRESTQueryCommandFindCommand.getCacheKey(), jSONObjectM4812.toString());
                }
                long jNanoTime3 = System.nanoTime();
                List listConvertFindResponse = NetworkQueryController.this.convertFindResponse(state, c27422.m4812());
                long jNanoTime4 = System.nanoTime();
                if (jSONObjectM4812.has("trace")) {
                    PLog.log(3, "ParseQuery", String.format("Query pre-processing took %f seconds\n%s\nClient side parsing took %f seconds\n", Float.valueOf((jNanoTime2 - jNanoTime) / 1000000.0f), jSONObjectM4812.get("trace"), Float.valueOf((jNanoTime4 - jNanoTime3) / 1000000.0f)), null);
                }
                return listConvertFindResponse;
            }
        }, C2742.f8454);
    }
}
