和通讯录 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;
}
}
}