琉璃水城 v2.1.5版本的 MD5 值为:000028611e9de8a8b372a1eb9e3a384d
以下内容为反编译后的 a.java 源代码,内容仅作参考
package com.baidu.frontia.a.c;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Proxy;
import android.util.Log;
import com.baidu.android.pushservice.ab;
import java.io.IOException;
import java.net.SocketTimeoutException;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
public class a {
private static final String a = a.class.getSimpleName();
private String b;
private String c;
private String d;
private boolean e;
private String f;
public a(Context context) {
c(context);
}
private void a(Context context, NetworkInfo networkInfo) {
String lowerCase;
if (networkInfo.getExtraInfo() != null && (lowerCase = networkInfo.getExtraInfo().toLowerCase()) != null) {
if (lowerCase.startsWith("cmwap") || lowerCase.startsWith("uniwap") || lowerCase.startsWith("3gwap")) {
this.e = true;
this.b = lowerCase;
this.c = "10.0.0.172";
this.d = "80";
return;
}
if (lowerCase.startsWith("ctwap")) {
this.e = true;
this.b = lowerCase;
this.c = "10.0.0.200";
this.d = "80";
return;
}
if (lowerCase.startsWith("cmnet") || lowerCase.startsWith("uninet") || lowerCase.startsWith("ctnet") || lowerCase.startsWith("3gnet")) {
this.e = false;
this.b = lowerCase;
return;
}
}
String defaultHost = Proxy.getDefaultHost();
int defaultPort = Proxy.getDefaultPort();
if (defaultHost == null || defaultHost.length() <= 0) {
this.e = false;
return;
}
this.c = defaultHost;
if ("10.0.0.172".equals(this.c.trim())) {
this.e = true;
this.d = "80";
} else if ("10.0.0.200".equals(this.c.trim())) {
this.e = true;
this.d = "80";
} else {
this.e = false;
this.d = Integer.toString(defaultPort);
}
}
public static boolean a(Context context) {
NetworkInfo activeNetworkInfo = ((ConnectivityManager) context.getApplicationContext().getSystemService("connectivity")).getActiveNetworkInfo();
if (activeNetworkInfo != null) {
return activeNetworkInfo.isConnectedOrConnecting();
}
return false;
}
public static boolean b(Context context) {
boolean a2 = a(context);
if (a2) {
return a2;
}
try {
HttpGet httpGet = new HttpGet(ab.a());
BasicHttpParams basicHttpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(basicHttpParams, 100);
HttpResponse execute = new DefaultHttpClient(basicHttpParams).execute(httpGet);
if (execute == null) {
return a2;
}
if (execute.getStatusLine() != null) {
return true;
}
return a2;
} catch (SocketTimeoutException e) {
Log.e(a, "e " + e.getMessage());
return a2;
} catch (ClientProtocolException e2) {
Log.e(a, "e " + e2.getMessage());
return a2;
} catch (IOException e3) {
Log.e(a, "e " + e3.getMessage());
return a2;
}
}
private void c(Context context) {
NetworkInfo activeNetworkInfo = ((ConnectivityManager) context.getApplicationContext().getSystemService("connectivity")).getActiveNetworkInfo();
if (activeNetworkInfo != null) {
if ("wifi".equals(activeNetworkInfo.getTypeName().toLowerCase())) {
this.f = "wifi";
this.e = false;
} else {
a(context, activeNetworkInfo);
this.f = this.b;
}
}
}
public boolean a() {
return this.e;
}
public String b() {
return this.c;
}
public String c() {
return this.d;
}
}