package com.parse;

import com.parse.ParseObject;
import com.parse.ParseUser;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.json.JSONException;
import org.json.JSONObject;

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

    @Override // com.parse.ParseObjectCurrentCoder, com.parse.ParseObjectCoder
    public <T extends ParseObject.State.Init<?>> T decode(T t, JSONObject jSONObject, ParseDecoder parseDecoder) {
        super.decode(t, jSONObject, parseDecoder);
        ParseUser.State.Builder builder = (ParseUser.State.Builder) t;
        builder.serverData.put("sessionToken", jSONObject.optString("session_token", null));
        builder.availableKeys.add("sessionToken");
        JSONObject jSONObjectOptJSONObject = jSONObject.optJSONObject("auth_data");
        if (jSONObjectOptJSONObject == null) {
            builder.serverData.put("authData", null);
            builder.availableKeys.add("authData");
        } else {
            try {
                Iterator<String> itKeys = jSONObjectOptJSONObject.keys();
                while (itKeys.hasNext()) {
                    String next = itKeys.next();
                    if (!jSONObjectOptJSONObject.isNull(next)) {
                        Map map = (Map) ParseDecoder.INSTANCE.decode(jSONObjectOptJSONObject.getJSONObject(next));
                        Map map2 = (Map) builder.serverData.get("authData");
                        if (map2 == null) {
                            map2 = new HashMap();
                        }
                        map2.put(next, map);
                        builder.serverData.put("authData", map2);
                    }
                }
            } catch (JSONException e) {
                throw new RuntimeException(e);
            }
        }
        return builder;
    }

    @Override // com.parse.ParseObjectCurrentCoder, com.parse.ParseObjectCoder
    public <T extends ParseObject.State> JSONObject encode(T t, ParseOperationSet parseOperationSet, ParseEncoder parseEncoder) {
        JSONObject jSONObjectEncode = super.encode(t, parseOperationSet, parseEncoder);
        ParseUser.State state = (ParseUser.State) t;
        String strSessionToken = state.sessionToken();
        if (strSessionToken != null) {
            try {
                jSONObjectEncode.put("session_token", strSessionToken);
            } catch (JSONException unused) {
                throw new RuntimeException("could not encode value for key: session_token");
            }
        }
        Map map = (Map) state.serverData.get("authData");
        if (map == null) {
            map = new HashMap();
        }
        if (map.size() > 0) {
            try {
                jSONObjectEncode.put("auth_data", parseEncoder.encode(map));
            } catch (JSONException unused2) {
                throw new RuntimeException("could not attach key: auth_data");
            }
        }
        return jSONObjectEncode;
    }
}
