琉璃水城 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;
    }
}