和通讯录 v3.9.6版本的 MD5 值为:669178e2ee1b2311daf378bd20c6bbe1

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


package com.chinamobile.contacts.im.mobilecard.controller;

import android.text.TextUtils;
import android.util.Log;
import com.chinamobile.contacts.im.App;
import com.chinamobile.contacts.im.config.LoginInfoSP;
import com.chinamobile.contacts.im.mobilecard.HttpsClientManager;
import com.chinamobile.contacts.im.mobilecard.OneCardLoginController;
import com.chinamobile.contacts.im.mobilecard.SignatureUtil;
import com.chinamobile.contacts.im.mobilecard.dao.OneCardDao;
import com.chinamobile.contacts.im.mobilecard.dao.SubPhone;
import com.chinamobile.contacts.im.utils.ApplicationUtils;
import com.huawei.mcs.cloud.msg.base.mms.Telephony;
import java.util.HashMap;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class QueryUserInfoController {
    public static boolean getQueryUserInfo() {
        boolean z = true;
        try {
            HashMap hashMap = new HashMap();
            String randomString = OneCardLoginController.getRandomString(12);
            HashMap hashMap2 = new HashMap();
            hashMap2.put("app_key", OneCardLoginController.APP_KEY);
            hashMap2.put("access_token", LoginInfoSP.getAccessToken(App.b()));
            hashMap2.put("once", randomString);
            hashMap2.put("version", OneCardLoginController.API_VERSION);
            hashMap2.put("sdk_from", "java");
            hashMap2.put("authcode", LoginInfoSP.getAuthcode(App.b()));
            hashMap2.put("client_version", ApplicationUtils.getVersionName(App.b()));
            hashMap2.put("device_id", ApplicationUtils.getUUID(App.b()));
            hashMap2.put("clientType", "4");
            String nornmalSignature = SignatureUtil.getNornmalSignature(hashMap2);
            hashMap.put("app_key", OneCardLoginController.APP_KEY);
            hashMap.put("access_token", LoginInfoSP.getAccessToken(App.b()));
            hashMap.put("once", randomString);
            hashMap.put("version", OneCardLoginController.API_VERSION);
            hashMap.put("sdk_from", "java");
            hashMap.put("authcode", LoginInfoSP.getAuthcode(App.b()));
            hashMap.put("signature", nornmalSignature);
            hashMap.put("client_version", ApplicationUtils.getVersionName(App.b()));
            hashMap.put("device_id", ApplicationUtils.getUUID(App.b()));
            hashMap.put("clientType", "4");
            String doHttpsPost = HttpsClientManager.doHttpsPost("https://api.cytxl.com.cn/mobilecard/userInfo.json", hashMap);
            if (TextUtils.isEmpty(doHttpsPost)) {
                z = false;
            } else {
                JSONObject jSONObject = new JSONObject(doHttpsPost);
                int optInt = jSONObject.optInt(Telephony.TextBasedSmsColumns.ERROR_CODE, -1);
                if (optInt == 0) {
                    LoginInfoSP.saveOneCardLogin(App.b(), true);
                } else {
                    String optString = jSONObject.optString("error_msg", "");
                    new AccessTokenController(App.b()).ProblemToGetAccessToken(optInt);
                    if (!TextUtils.isEmpty(optString)) {
                        Log.e("UserLoginController", optString);
                    }
                    z = false;
                }
                String optString2 = jSONObject.optString("subPhoneList", "");
                OneCardDao oneCardDao = new OneCardDao(App.b());
                oneCardDao.deleteAll();
                if (!TextUtils.isEmpty(optString2)) {
                    JSONArray jSONArray = new JSONArray(optString2);
                    if (jSONArray != null) {
                        for (int i = 0; i < jSONArray.length(); i++) {
                            JSONObject jSONObject2 = jSONArray.getJSONObject(i);
                            SubPhone subPhone = new SubPhone();
                            String optString3 = jSONObject2.optString("subphone", "");
                            String optString4 = jSONObject2.optString("type", "");
                            String optString5 = jSONObject2.optString("order", "");
                            String optString6 = jSONObject2.optString("Alis", "");
                            String optString7 = jSONObject2.optString("business", "");
                            String optString8 = jSONObject2.optString("state", "");
                            subPhone.setSubphone(optString3);
                            subPhone.setType(optString4);
                            subPhone.setOrder(optString5);
                            subPhone.setAlias(optString6);
                            subPhone.setBusiness(optString7);
                            subPhone.setState(optString8);
                            oneCardDao.save(subPhone);
                        }
                        LoginInfoSP.saveLoadSubPhoneResult(App.b(), 1);
                    }
                    Log.e("OneCardLoginController", "queryUserInfo---" + optString2);
                } else {
                    LoginInfoSP.saveLoadSubPhoneResult(App.b(), 0);
                    Log.e("OneCardLoginController", "无副号");
                }
            }
            return z;
        } catch (JSONException e) {
            e.printStackTrace();
            LoginInfoSP.saveLoadSubPhoneResult(App.b(), -1);
            return false;
        } catch (Exception e2) {
            e2.printStackTrace();
            LoginInfoSP.saveLoadSubPhoneResult(App.b(), -1);
            return false;
        }
    }
}