360手机助手 v5.2.50版本的 MD5 值为:087c008db9e518cd556c792742e6830c
以下内容为反编译后的 d.java 源代码,内容仅作参考
package com.qihoo.appstore.volley.a;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import com.qihoo.appstore.utils.AppstoreSharePref;
import com.qihoo.utils.ad;
import com.qihoo.utils.bn;
import com.qihoo.utils.ck;
import com.qihoo.utils.cn;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class d implements com.qihoo.utils.net.l {
private static final Map b = new HashMap();
private static final List c = new ArrayList();
private static d d = null;
private final String a = "ConnectInterceptor";
public static d a() {
if (d == null) {
synchronized (d.class) {
if (d == null) {
d = new d();
}
}
}
return d;
}
private d() {
b();
}
public void b() {
f();
i.b();
e();
com.qihoo.utils.net.i.a().a(this);
}
private void e() {
AppstoreSharePref.removeKey("ipPreferredList");
AppstoreSharePref.removeKey("ipBackUpList");
}
private void f() {
String b2 = b("{\"openbox.mobilem.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"update.mobilem.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"fake.api.mobilem.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"update.api.sj.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"wallpaper.api.sj.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"ebook.api.sj.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"ring.api.sj.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"topic.api.sj.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"free.api.sj.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"recommend.api.sj.360.cn\":{\"125.88.193.234\":3,\"221.130.199.88\":1,\"218.30.118.222\":3,\"123.125.82.206\":2},\"zonghe.m.so.com\":{\"111.13.66.125\":2,\"106.38.184.107\":2,\"125.88.193.217\":2,\"182.118.31.51\":2,\"221.130.199.208\":2},\"helper.m.so.com\":{\"111.13.65.243\":2,\"106.120.160.203\":2,\"182.118.31.99\":2},\"sug.m.so.com\":{\"106.120.160.207\":2,\"182.118.31.142\":2}}");
if (!TextUtils.isEmpty(b2)) {
try {
a(new JSONObject(b2));
} catch (JSONException e) {
bn.e("ConnectInterceptor", e.toString());
}
}
bn.b("NetMeter_Config", "initBackupIpList backupIpList = " + b2);
}
public void a(JSONObject jSONObject) {
synchronized (b) {
if (jSONObject != null) {
if (!b.isEmpty()) {
b.clear();
}
Iterator<String> keys = jSONObject.keys();
while (keys.hasNext()) {
String next = keys.next();
try {
Map map = (Map) b.get(next);
Map hashMap = map == null ? new HashMap() : map;
JSONArray optJSONArray = jSONObject.optJSONArray(next);
if (optJSONArray != null) {
for (int i = 0; i < optJSONArray.length(); i++) {
hashMap.put(optJSONArray.optString(i), "0");
if (bn.c()) {
bn.b("ConnectInterceptor", String.format("backup: host:%s,ip:%s", next, optJSONArray.optString(i)));
}
}
} else {
JSONObject optJSONObject = jSONObject.optJSONObject(next);
if (optJSONObject != null) {
Iterator<String> keys2 = optJSONObject.keys();
while (keys2.hasNext()) {
String next2 = keys2.next();
hashMap.put(next2, String.valueOf(optJSONObject.optInt(next2)));
if (bn.c()) {
bn.b("ConnectInterceptor", String.format("backup: ip:%s,type:%s", next2, optJSONObject.optString(next2)));
}
}
}
}
if (!hashMap.isEmpty()) {
b.put(next, hashMap);
}
} catch (Exception e) {
bn.c("ConnectInterceptor", e.toString(), e);
}
}
}
}
}
public String a(String str, String str2) {
String a = i.a(str);
if (TextUtils.isEmpty(a) || a.equalsIgnoreCase(str2)) {
if (b.size() > 0) {
ArrayList arrayList = new ArrayList(((Map) b.get(str)).keySet());
arrayList.remove(str2);
if (arrayList == null || arrayList.size() == 0) {
return "";
}
return (String) arrayList.get(ck.a(r0.size() - 1));
}
return "";
}
return a;
}
public void b(JSONObject jSONObject) {
bn.b("NetMeter_Config", "updateTargetIp = " + jSONObject.toString());
a(jSONObject);
i.a();
a((String) null, true);
}
public void a(String str, boolean z) {
bn.b("NetMeter_Config", "reselectTargetIp start");
i.a(str, z);
e(str);
new Handler(Looper.getMainLooper()).post(new e(this));
}
private static void e(String str) {
if (!TextUtils.isEmpty(str)) {
synchronized (c) {
if (c.contains(str)) {
c.remove(str);
}
c.add(str);
}
}
}
private static void g() {
synchronized (c) {
c.clear();
}
}
@Override
public void a(boolean z) {
bn.b("NetMeter_Config", "onNetworkStatusChanged isConnected = " + z);
if (z) {
g();
i.a(b, c, false);
} else {
i.a();
}
}
public static void a(String str) {
cn.a("connect_config", ad.a(), "ipBackUpList", (Object) str);
}
public static String b(String str) {
return cn.a("connect_config", ad.a(), "ipBackUpList", str);
}
public static void c(String str) {
cn.a("connect_config", ad.a(), "ipPreferredList", (Object) str);
}
public static String d(String str) {
return cn.a("connect_config", ad.a(), "ipPreferredList", str);
}
}