翰林优商.apk(点击下载) / RequestParamsHelper.java


package sjm.xuitls.http;

import android.os.Parcelable;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import sjm.xuitls.common.util.LogUtil;

/* access modifiers changed from: package-private */
public final class RequestParamsHelper {
    private static final ClassLoader BOOT_CL = String.class.getClassLoader();

    /* access modifiers changed from: package-private */
    public interface ParseKVListener {
        void onParseKV(String str, Object obj);
    }

    private RequestParamsHelper() {
    }

    static void parseKV(Object obj, Class<?> cls, ParseKVListener parseKVListener) {
        ClassLoader classLoader;
        if (!(obj == null || cls == null || cls == RequestParams.class || cls == Object.class || (classLoader = cls.getClassLoader()) == null || classLoader == BOOT_CL)) {
            Field[] declaredFields = cls.getDeclaredFields();
            if (declaredFields != null && declaredFields.length > 0) {
                for (Field field : declaredFields) {
                    String name = field.getName();
                    if (!Modifier.isTransient(field.getModifiers()) && !"serialVersionUID".equals(name) && field.getType() != Parcelable.Creator.class) {
                        try {
                            field.setAccessible(true);
                            Object obj2 = field.get(obj);
                            if (obj2 != null) {
                                parseKVListener.onParseKV(name, obj2);
                            }
                        } catch (Throwable th) {
                            LogUtil.e(th.getMessage(), th);
                        }
                    }
                }
            }
            parseKV(obj, cls.getSuperclass(), parseKVListener);
        }
    }

    /* JADX DEBUG: Failed to insert an additional move for type inference into block B:31:0x0028 */
    /* JADX DEBUG: Multi-variable search result rejected for r0v3, resolved type: java.lang.Object */
    /* JADX WARN: Multi-variable type inference failed */
    /* JADX WARN: Type inference failed for: r0v1, types: [org.json.JSONObject] */
    /* JADX WARN: Type inference failed for: r0v2, types: [org.json.JSONArray] */
    /* JADX WARN: Type inference failed for: r0v4, types: [org.json.JSONArray] */
    static Object parseJSONObject(Object obj) throws JSONException {
        Object jSONObject;
        if (obj == null) {
            return null;
        }
        Class<?> cls = obj.getClass();
        if (cls.isArray()) {
            jSONObject = new JSONArray();
            int length = Array.getLength(obj);
            for (int i = 0; i < length; i++) {
                jSONObject.put(parseJSONObject(Array.get(obj, i)));
            }
        } else if (obj instanceof Iterable) {
            jSONObject = new JSONArray();
            for (Object obj2 : (Iterable) obj) {
                jSONObject.put(parseJSONObject(obj2));
            }
        } else if (obj instanceof Map) {
            jSONObject = new JSONObject();
            for (Map.Entry entry : ((Map) obj).entrySet()) {
                Object key = entry.getKey();
                Object value = entry.getValue();
                if (!(key == null || value == null)) {
                    jSONObject.put(String.valueOf(key), parseJSONObject(value));
                }
            }
        } else {
            ClassLoader classLoader = cls.getClassLoader();
            if (classLoader == null || classLoader == BOOT_CL) {
                return obj;
            }
            final JSONObject jSONObject2 = new JSONObject();
            parseKV(obj, cls, new ParseKVListener() {
                /* class sjm.xuitls.http.RequestParamsHelper.AnonymousClass1 */

                @Override // sjm.xuitls.http.RequestParamsHelper.ParseKVListener
                public void onParseKV(String str, Object obj) {
                    try {
                        jSONObject2.put(str, RequestParamsHelper.parseJSONObject(obj));
                    } catch (JSONException e) {
                        throw new IllegalArgumentException("parse RequestParams to json failed", e);
                    }
                }
            });
            return jSONObject2;
        }
        return jSONObject;
    }
}