Ultra-SDP v1.0.0版本的 MD5 值为:5418115cd4b552c4cd79d6d68815af17

以下内容为反编译后的 AuthnHelper.java 源代码,内容仅作参考


package com.cmic.sso.sdk.auth;

import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.text.TextUtils;
import com.cmic.sso.sdk.d.aa;
import com.cmic.sso.sdk.d.ab;
import com.cmic.sso.sdk.d.ac;
import com.cmic.sso.sdk.d.m;
import com.cmic.sso.sdk.d.o;
import com.cmic.sso.sdk.d.p;
import com.cmic.sso.sdk.d.q;
import com.cmic.sso.sdk.d.t;
import com.cmic.sso.sdk.d.u;
import com.cmic.sso.sdk.d.w;
import com.cmic.sso.sdk.d.z;
import com.yanzhenjie.permission.Permission;
import java.util.Iterator;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class AuthnHelper {
    private static final String AUTH_TYPE_DYNAMIC_SMS = "2";
    public static final String AUTH_TYPE_SIMANDSMS = "6";
    public static final String AUTH_TYPE_SIMQUICK = "5";
    public static final String AUTH_TYPE_WAP = "3";
    public static final int LOGIN_TYPE_DEFAULT = 0;
    public static final int LOGIN_TYPE_SIMQUICK = 5;
    public static final int LOGIN_TYPE_WAP = 4;
    public static final String SDK_VERSION = "quick_login_android_5.4.9.1";
    private static final String TAG = "AuthnHelper";
    private static AuthnHelper mInstance;
    private com.cmic.sso.sdk.auth.a authnBusiness;
    private String mAuthType;
    private Context mContext;
    private final Handler mHandler;
    public TokenListener mListener;
    private int timeOut = 8000;
    private long mRequestTime = 0;
    private String mInterfaceType = "";
    private String mInterfaceElasped = "";
    private String mInterfaceCode = "";

    public String getCoreSdkVersion() {
        return SDK_VERSION;
    }

    private AuthnHelper(Context context) {
        this.mHandler = new Handler(context.getMainLooper());
        this.mContext = context.getApplicationContext();
        com.cmic.sso.sdk.a.a = context.getApplicationContext();
    }

    public static AuthnHelper getInstance(Context context) {
        if (mInstance == null) {
            synchronized (AuthnHelper.class) {
                if (mInstance == null) {
                    mInstance = new AuthnHelper(context);
                }
            }
        }
        return mInstance;
    }

    public void init(String str, String str2) {
        init(str, str2, true);
    }

    public void init(String str, String str2, boolean z) {
        Bundle bundle = new Bundle();
        if (TextUtils.isEmpty(str == null ? "" : str.trim())) {
            m.a(TAG, "init failed :appID is null");
            return;
        }
        if (TextUtils.isEmpty(str2 != null ? str2.trim() : "")) {
            m.a(TAG, "init failed :appKey is null");
            return;
        }
        com.cmic.sso.sdk.a.b = str;
        com.cmic.sso.sdk.a.c = str2;
        com.cmic.sso.sdk.a.e = true;
        com.cmic.sso.sdk.a.d = z;
        this.authnBusiness = com.cmic.sso.sdk.auth.a.a(this.mContext);
        aa.a(new aa.a(this.mContext, bundle) {
            @Override
            protected void a() {
                if (TextUtils.isEmpty(u.b(AuthnHelper.this.mContext, "configproperty", "sp_aid", ""))) {
                    u.a(AuthnHelper.this.mContext, "configproperty", "sp_aid", "%" + ac.b());
                }
            }
        });
    }

    private class a implements Runnable {
        private Bundle b;

        a(Bundle bundle) {
            this.b = bundle;
        }

        @Override
        public void run() {
            JSONObject jSONObject = new JSONObject();
            try {
                jSONObject.put("resultCode", "200023");
                jSONObject.put("resultString", "请求超时");
            } catch (JSONException e) {
                e.printStackTrace();
            }
            if (AuthnHelper.this.mRequestTime != 0) {
                String string = this.b.getString("interfaceCode", "");
                Bundle bundle = this.b;
                bundle.putString("interfaceCode", string + AuthnHelper.this.mInterfaceCode + "200023;");
                StringBuilder sb = new StringBuilder();
                sb.append(System.currentTimeMillis() - AuthnHelper.this.mRequestTime);
                sb.append("");
                String sb2 = sb.toString();
                String string2 = this.b.getString("interfaceElasped", "");
                Bundle bundle2 = this.b;
                bundle2.putString("interfaceElasped", string2 + AuthnHelper.this.mInterfaceElasped + sb2);
                m.b(AuthnHelper.TAG, "oldInterfaceElasped--" + string2 + "--interfaceElasped--" + sb2 + "--mInterfaceElasped--" + AuthnHelper.this.mInterfaceElasped, this.b);
            }
            String string3 = this.b.getString("interfaceType", "");
            Bundle bundle3 = this.b;
            bundle3.putString("interfaceType", string3 + AuthnHelper.this.mInterfaceType);
            m.b(AuthnHelper.TAG, "interfaceType--" + string3 + "--mInterfaceType--" + AuthnHelper.this.mInterfaceType, this.b);
            AuthnHelper.this.callBackResult("200023", "请求超时", this.b, jSONObject, null);
        }
    }

    public void getSimInfo(final TokenListener tokenListener) {
        final Bundle bundle = new Bundle();
        aa.a(new aa.a(this.mContext, bundle) {
            @Override
            protected void a() {
                m.b(AuthnHelper.TAG, "getSimInfo start.", bundle);
                if (AuthnHelper.this.doCommonInit(tokenListener, "getSimInfo", "getSimInfo", 0, bundle)) {
                    final a aVar = new a(bundle);
                    AuthnHelper.this.mHandler.postDelayed(aVar, AuthnHelper.this.timeOut);
                    AuthnHelper.this.authnBusiness.a(bundle, new b() {
                        @Override
                        public void a(String str, String str2, Bundle bundle2, JSONObject jSONObject) {
                            AuthnHelper.this.mHandler.removeCallbacks(aVar);
                            AuthnHelper.this.callBackResult(str, str2, bundle2, jSONObject, null);
                        }
                    });
                }
            }
        });
    }

    public void getTokenImp(final String str, final TokenListener tokenListener, final boolean z) {
        final Bundle bundle = new Bundle();
        m.b(TAG, "getTokenImp => authType : " + str + " | MiddleWareFirst : " + z);
        StringBuilder sb = new StringBuilder();
        sb.append("authType : ");
        sb.append(str);
        m.b(TAG, sb.toString(), bundle);
        aa.a(new aa.a(this.mContext, bundle) {
            @Override
            protected void a() {
                AuthnHelper.this.mAuthType = str;
                if (TextUtils.isEmpty(AuthnHelper.this.mAuthType)) {
                    AuthnHelper.this.mAuthType = "3";
                } else if (!AuthnHelper.this.mAuthType.contains("3")) {
                    AuthnHelper authnHelper = AuthnHelper.this;
                    authnHelper.mAuthType = AuthnHelper.this.mAuthType + "3";
                }
                bundle.putBoolean("MiddleWareFirst", z);
                AuthnHelper authnHelper2 = AuthnHelper.this;
                if (authnHelper2.doCommonInit(tokenListener, authnHelper2.mAuthType, "loginAuthInV2", 4, bundle)) {
                    bundle.putInt("getTokenType", 0);
                    final a aVar = new a(bundle);
                    AuthnHelper.this.mHandler.postDelayed(aVar, AuthnHelper.this.timeOut);
                    AuthnHelper.this.authnBusiness.a(AuthnHelper.this.mAuthType, bundle, new b() {
                        @Override
                        public void a(String str2, String str3, Bundle bundle2, JSONObject jSONObject) {
                            AuthnHelper.this.mHandler.removeCallbacks(aVar);
                            AuthnHelper.this.callBackResult(str2, str3, bundle2, jSONObject, null);
                        }
                    });
                }
            }
        });
    }

    public void umcLoginPre(final TokenListener tokenListener, final boolean z) {
        m.b(TAG, "umcLoginPre => MiddleWareFirst : " + z);
        final Bundle bundle = new Bundle();
        aa.a(new aa.a(this.mContext, bundle) {
            @Override
            protected void a() {
                bundle.putBoolean("MiddleWareFirst", z);
                if (AuthnHelper.this.doCommonInit(tokenListener, "3", "preGetMobileV2", 4, bundle)) {
                    bundle.putInt("getTokenType", 0);
                    final a aVar = new a(bundle);
                    AuthnHelper.this.mHandler.postDelayed(aVar, AuthnHelper.this.timeOut);
                    AuthnHelper.this.authnBusiness.a("3", bundle, new b() {
                        @Override
                        public void a(String str, String str2, Bundle bundle2, JSONObject jSONObject) {
                            AuthnHelper.this.mHandler.removeCallbacks(aVar);
                            AuthnHelper.this.callBackResult(str, str2, bundle2, jSONObject, null);
                        }
                    });
                }
            }
        });
    }

    public void sendSMS(final String str, final TokenListener tokenListener) {
        final Bundle bundle = new Bundle();
        m.b(TAG, "start sendSMS", bundle);
        aa.a(new aa.a(this.mContext, bundle) {
            @Override
            protected void a() {
                if (AuthnHelper.this.doCommonInit(tokenListener, "2", "sendSMSV2", 4, bundle)) {
                    if (TextUtils.isEmpty(str)) {
                        m.a(AuthnHelper.TAG, "Phone number is unlawful", bundle);
                        AuthnHelper authnHelper = AuthnHelper.this;
                        authnHelper.callBackResult("200014", "手机号码格式错误", bundle, authnHelper.makeJson("200014", "手机号码格式错误"), null);
                        return;
                    }
                    bundle.putString("phonenumber", str);
                    com.cmic.sso.sdk.a.g = bundle.getString("traceId");
                    final a aVar = new a(bundle);
                    AuthnHelper.this.mHandler.postDelayed(aVar, AuthnHelper.this.timeOut);
                    AuthnHelper.this.authnBusiness.a("2", bundle, new b() {
                        @Override
                        public void a(String str2, String str3, Bundle bundle2, JSONObject jSONObject) {
                            AuthnHelper.this.mHandler.removeCallbacks(aVar);
                            AuthnHelper.this.callBackResult(str2, str3, bundle2, jSONObject, null);
                        }
                    });
                }
            }
        });
    }

    public void getTokenSms(final String str, final String str2, final TokenListener tokenListener) {
        final Bundle bundle = new Bundle();
        m.b(TAG, "start getTokenSms", bundle);
        aa.a(new aa.a(this.mContext, bundle) {
            @Override
            protected void a() {
                if (AuthnHelper.this.doCommonInit(tokenListener, "2", "veriSMSV2", 4, bundle)) {
                    bundle.putString("account", str);
                    bundle.putString("passwd", str2);
                    bundle.putString("sourceid", u.b(AuthnHelper.this.mContext, "sourceid", "-1"));
                    if (TextUtils.isEmpty(str)) {
                        m.a(AuthnHelper.TAG, "Phone number is error", bundle);
                        AuthnHelper authnHelper = AuthnHelper.this;
                        authnHelper.callBackResult("200014", "手机号码格式错误", bundle, authnHelper.makeJson("200014", "手机号码格式错误"), null);
                    } else if (TextUtils.isEmpty(str2)) {
                        m.a(AuthnHelper.TAG, "Auth code is error", bundle);
                        AuthnHelper authnHelper2 = AuthnHelper.this;
                        authnHelper2.callBackResult("200015", "短信验证码格式错误", bundle, authnHelper2.makeJson("200015", "短信验证码格式错误"), null);
                    } else {
                        final a aVar = new a(bundle);
                        AuthnHelper.this.mHandler.postDelayed(aVar, AuthnHelper.this.timeOut);
                        AuthnHelper.this.authnBusiness.e(bundle, new b() {
                            @Override
                            public void a(String str3, String str4, Bundle bundle2, JSONObject jSONObject) {
                                AuthnHelper.this.mHandler.removeCallbacks(aVar);
                                AuthnHelper.this.callBackResult(str3, str4, bundle2, jSONObject, null);
                            }
                        });
                    }
                }
            }
        });
    }

    public void getTokenSimfast(final int i, final String str, final String str2, final TokenListener tokenListener) {
        m.b(TAG, "simQuickLogin");
        final Bundle bundle = new Bundle();
        this.mAuthType = AUTH_TYPE_SIMQUICK;
        aa.a(new aa.a(this.mContext, bundle) {
            @Override
            protected void a() {
                AuthnHelper authnHelper = AuthnHelper.this;
                if (authnHelper.doCommonInit(tokenListener, authnHelper.mAuthType, "getTokenSim", 5, bundle)) {
                    if (TextUtils.isEmpty(str)) {
                        m.a(AuthnHelper.TAG, "Phone number is unlawful");
                        AuthnHelper authnHelper2 = AuthnHelper.this;
                        authnHelper2.callBackResult("200026", "输入参数错误", bundle, authnHelper2.makeJson("200026", "输入参数错误"), null);
                    } else if (i > 60000) {
                        m.a(AuthnHelper.TAG, "Param:OutTime >60 s");
                        AuthnHelper authnHelper3 = AuthnHelper.this;
                        authnHelper3.callBackResult("200026", "输入参数错误", bundle, authnHelper3.makeJson("200026", "输入参数错误"), null);
                    } else {
                        bundle.putString("phonenumber", str);
                        bundle.putString("account", str);
                        if (TextUtils.isEmpty(str2)) {
                            bundle.putString("SIMPIN", "00");
                        } else {
                            bundle.putString("SIMPIN", str2);
                        }
                        int b = z.b(AuthnHelper.this.mContext);
                        bundle.putInt("networktype", b);
                        bundle.putString("authtype", AuthnHelper.this.mAuthType);
                        if (b == 0) {
                            JSONObject jSONObject = new JSONObject();
                            try {
                                jSONObject.put("resultCode", "200022");
                                jSONObject.put("resultDesc", "网络未连接");
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                            m.a(AuthnHelper.TAG, "request failed >>>>>errorMsg : " + jSONObject.toString());
                            AuthnHelper.this.callBackResult("200022", "网络未连接", bundle, jSONObject, null);
                            return;
                        }
                        final a aVar = new a(bundle);
                        AuthnHelper.this.mHandler.postDelayed(aVar, i);
                        AuthnHelper.this.authnBusiness.a(AuthnHelper.this.mAuthType, bundle, new b() {
                            @Override
                            public void a(String str3, String str4, Bundle bundle2, JSONObject jSONObject2) {
                                AuthnHelper.this.mHandler.removeCallbacks(aVar);
                                AuthnHelper.this.callBackResult(str3, str4, bundle2, jSONObject2, null);
                            }
                        });
                    }
                }
            }
        });
    }

    public void setDebugMode(boolean z) {
        m.a(z);
    }

    public void clearChache() {
        try {
            u.a(this.mContext, "ksinfo", "");
            u.a(this.mContext);
            q.a(this.mContext, true);
        } catch (Throwable th) {
            th.printStackTrace();
        }
    }

    public JSONObject makeJson(String str, String str2) {
        JSONObject jSONObject = new JSONObject();
        try {
            jSONObject.put("resultCode", str);
            jSONObject.put("resultString", str2);
        } catch (JSONException e) {
            e.printStackTrace();
            com.cmic.sso.sdk.a.h.add(e);
        }
        return jSONObject;
    }

    public void callBackResult(String str, String str2, Bundle bundle, JSONObject jSONObject, Throwable th) {
        final JSONObject a2;
        try {
            String string = bundle.getString("traceId");
            if (o.a(string)) {
                return;
            }
            synchronized (this) {
                final TokenListener c = o.c(string);
                o.b(string);
                if (c == null) {
                    return;
                }
                if ("preGetMobileV2".equals(bundle.getString("requestType"))) {
                    m.a(TAG, "resultcode: " + str);
                    if ("103000".equals(str)) {
                        a2 = c.a(str, "预取号成功", bundle, jSONObject);
                    } else if ("200002".equals(str)) {
                        a2 = c.a(str, str2, bundle, jSONObject);
                    } else {
                        if (!"200083".equals(str) && !"200084".equals(str) && !"200085".equals(str)) {
                            if (bundle.getInt("networktype") == 2) {
                                a2 = c.a("200027", "Wifi下预取号失败", bundle, jSONObject);
                            } else if (bundle.getInt("networktype") == 0) {
                                a2 = c.a("200022", "网络未连接", bundle, jSONObject);
                            } else {
                                a2 = c.a("200036", "预取号失败", bundle, jSONObject);
                            }
                        }
                        a2 = c.a(str, str2, bundle, jSONObject);
                    }
                } else {
                    a2 = c.a(str, str2, bundle, jSONObject);
                }
                this.mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        c.onGetTokenComplete(a2);
                    }
                });
                this.authnBusiness.a(bundle);
                if (this.mContext != null && !com.cmic.sso.sdk.d.c.a(this.mContext).c()) {
                    initLog(str, bundle, th, new b() {
                        @Override
                        public void a(String str3, String str4, Bundle bundle2, JSONObject jSONObject2) {
                            new com.cmic.sso.sdk.c.b().a(AuthnHelper.this.mContext, jSONObject2, bundle2);
                        }
                    });
                }
            }
        } catch (Throwable th2) {
            com.cmic.sso.sdk.a.h.add(th2);
            th2.printStackTrace();
        }
    }

    public void setRequestTime4TimeOut(long j, String str, String str2, String str3) {
        this.mRequestTime = j;
        this.mInterfaceType = str;
        this.mInterfaceElasped = str2;
        this.mInterfaceCode = str3;
    }

    public int getTimeOut() {
        return this.timeOut;
    }

    public void setTimeOut(int i) {
        this.timeOut = i;
    }

    public boolean doCommonInit(TokenListener tokenListener, String str, String str2, int i, Bundle bundle) {
        if (tokenListener == null) {
            m.a(TAG, "TokenListener is null", bundle);
            return false;
        } else if (!com.cmic.sso.sdk.a.e) {
            m.a(TAG, "not init successful, pls correctly call method init(Context context, String appId, String appKey) first", bundle);
            return false;
        } else {
            String b = ac.b();
            if (!TextUtils.isEmpty(com.cmic.sso.sdk.a.g) && "veriSMSV2".equals(str2)) {
                b = com.cmic.sso.sdk.a.g;
            }
            bundle.putString("traceId", b);
            o.a(b, tokenListener);
            bundle.putString("authtype", str);
            bundle.putString("requestType", str2);
            bundle.putString("appkey", com.cmic.sso.sdk.a.c);
            bundle.putString("appid", com.cmic.sso.sdk.a.b);
            bundle.putString("starttime", ab.a());
            boolean a2 = p.a(this.mContext, Permission.READ_PHONE_STATE);
            m.a(TAG, "有READ_PHONE_STATE权限?" + a2, bundle);
            bundle.putBoolean("hsaReadPhoneStatePermission", a2);
            com.cmic.sso.sdk.a.b.a().a(this.mContext, a2);
            bundle.putString("networkClass", com.cmic.sso.sdk.a.b.a().a(this.mContext));
            bundle.putInt("simCount", com.cmic.sso.sdk.a.b.a().b().k());
            String a3 = t.a(this.mContext).a();
            if (!TextUtils.isEmpty(a3) && (!a3.startsWith("460") || !a3.startsWith("8986"))) {
                a3 = "";
            }
            int c = t.a(this.mContext).c();
            bundle.putString("imsi", a3);
            bundle.putString("operatortype", c + "");
            bundle.putInt("loginType", i);
            String e = t.e();
            com.cmic.sso.sdk.a.k = false;
            com.cmic.sso.sdk.a.l = false;
            m.b(TAG, "iccid=" + e, bundle);
            if (TextUtils.isEmpty(a3)) {
                if (TextUtils.isEmpty(e)) {
                    if (c == 0 && z.c(this.mContext) && !z.d()) {
                        c = 1;
                    }
                    if (c != 0) {
                        String a4 = t.a(c);
                        com.cmic.sso.sdk.a.l = true;
                        e = a4;
                    }
                }
                m.b(TAG, "Useiccid=true", bundle);
                bundle.putBoolean("keyIsSimKeyICCID", true);
                com.cmic.sso.sdk.a.k = true;
            }
            bundle.putString("iccid", e);
            int b2 = z.b(this.mContext);
            bundle.putInt("networktype", b2);
            if ("getSimInfo".equals(str)) {
                return true;
            }
            if (c == 0 && !"2".equals(str) && !AUTH_TYPE_SIMQUICK.equals(str)) {
                callBackResult("200002", "手机未安装SIM卡", bundle, null, null);
                return false;
            } else if (b2 == 0) {
                callBackResult("200022", "网络未连接", bundle, null, null);
                return false;
            } else {
                return true;
            }
        }
    }

    private void initLog(String str, Bundle bundle, Throwable th, b bVar) {
        com.cmic.sso.sdk.c.a aVar = new com.cmic.sso.sdk.c.a();
        try {
            aVar.d(com.cmic.sso.sdk.a.b);
            aVar.h(bundle.getString("traceId"));
            aVar.k(SDK_VERSION);
            aVar.l("Android");
            aVar.m(this.timeOut + "");
            aVar.n(bundle.getString("starttime"));
            aVar.o(ab.a());
            long parseLong = Long.parseLong(ab.a());
            long parseLong2 = Long.parseLong(bundle.getString("starttime"));
            aVar.p((parseLong - parseLong2) + "");
            aVar.q(bundle.getString("requestType", ""));
            aVar.D(str);
            aVar.r(bundle.getString("interfaceType", ""));
            aVar.s(bundle.getString("interfaceCode", ""));
            aVar.t(bundle.getString("interfaceElasped"));
            int i = bundle.getInt("ksexist", 0);
            String string = bundle.getString("authtype", "");
            if (i == 1) {
                aVar.u("middleware");
            } else if ("2".equals(string)) {
                aVar.u("sms");
            } else if (AUTH_TYPE_SIMQUICK.equals(string)) {
                aVar.u("sim");
            } else {
                aVar.u("pgw");
            }
            aVar.a(getThrowables(th));
            aVar.v(bundle.getString("operatortype"));
            aVar.w(bundle.getInt("networktype") + "");
            aVar.B(bundle.getInt("simCount") + "");
            aVar.C(bundle.getString("imsiState"));
            aVar.i(w.a(this.mContext));
            aVar.j(w.b(this.mContext));
            aVar.x(bundle.getString("networkClass"));
            aVar.y(com.cmic.sso.sdk.a.a.b());
            aVar.z(z.b());
            aVar.A(z.c());
            aVar.e(bundle.getInt("isHook") + "");
            if (!str.equals("103000")) {
                aVar.g(bundle.getString("operation_log"));
            }
            if (!u.b(this.mContext, "cache_operation_log", "").equals("")) {
                aVar.f(u.b(this.mContext, "cache_operation_log", ""));
            }
            aVar.c(bundle.getBoolean("hsaReadPhoneStatePermission") ? "1" : "0");
            aVar.a(u.b(this.mContext, "configproperty", "sp_aid", ""));
            aVar.b(t.a(this.mContext).b() + "");
        } catch (Exception e) {
            e.printStackTrace();
        }
        m.a(TAG, "登录日志", bundle);
        m.a(TAG, "登录日志" + aVar.a());
        if (bVar != null) {
            bVar.a(str, "", bundle, aVar.a());
        }
    }

    private JSONArray getThrowables(Throwable th) {
        StackTraceElement[] stackTrace;
        StackTraceElement[] stackTrace2;
        JSONArray jSONArray = new JSONArray();
        if (th != null) {
            try {
                JSONObject jSONObject = new JSONObject();
                StringBuffer stringBuffer = new StringBuffer();
                for (StackTraceElement stackTraceElement : th.getStackTrace()) {
                    stringBuffer.append("\n");
                    stringBuffer.append(stackTraceElement.toString());
                }
                jSONObject.put("message", th.toString());
                jSONObject.put("stack", stringBuffer.toString());
                jSONArray.put(jSONObject);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        if (com.cmic.sso.sdk.a.h.size() > 0) {
            Iterator<Throwable> it = com.cmic.sso.sdk.a.h.iterator();
            while (it.hasNext()) {
                Throwable next = it.next();
                StringBuffer stringBuffer2 = new StringBuffer();
                JSONObject jSONObject2 = new JSONObject();
                for (StackTraceElement stackTraceElement2 : next.getStackTrace()) {
                    stringBuffer2.append("\n");
                    stringBuffer2.append(stackTraceElement2.toString());
                }
                jSONObject2.put("message", next.toString());
                jSONObject2.put("stack", stringBuffer2.toString());
                jSONArray.put(jSONObject2);
            }
            com.cmic.sso.sdk.a.h.clear();
        }
        return jSONArray;
    }
}