// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc 

package com.tencent.utils;

import android.app.AlertDialog;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import android.util.Log;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.InputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.URL;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Set;
import java.util.zip.GZIPInputStream;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.json.JSONException;
import org.json.JSONObject;

// Referenced classes of package com.tencent.utils:
//            SystemUtils, e, HttpUtils

public class Util
{

    private static final String a = com/tencent/utils/Util.getName();
    private static boolean b = true;
    private static String c = "0123456789ABCDEF";

    public Util()
    {
    }

    private static char a(int i)
    {
        int j = i & 0xf;
        if (j < 10)
        {
            return (char)(j + 48);
        } else
        {
            return (char)(97 + (j - 10));
        }
    }

    private static String a(HttpResponse httpresponse)
    {
        InputStream inputstream = httpresponse.getEntity().getContent();
        ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
        Header header = httpresponse.getFirstHeader("Content-Encoding");
        Object obj;
        byte abyte0[];
        if (header != null && header.getValue().toLowerCase().indexOf("gzip") > -1)
        {
            obj = new GZIPInputStream(inputstream);
        } else
        {
            obj = inputstream;
        }
        abyte0 = new byte[512];
        do
        {
            int i = ((InputStream) (obj)).read(abyte0);
            if (i != -1)
            {
                bytearrayoutputstream.write(abyte0, 0, i);
            } else
            {
                return new String(bytearrayoutputstream.toByteArray());
            }
        } while (true);
    }

    private static void a(Context context, String s, String s1, String s2)
    {
        Intent intent = new Intent();
        intent.setComponent(new ComponentName(s, s1));
        intent.setAction("android.intent.action.VIEW");
        intent.addFlags(0x40000000);
        intent.addFlags(0x10000000);
        intent.setData(Uri.parse(s2));
        context.startActivity(intent);
    }

    private static boolean a(Context context)
    {
        PackageInfo packageinfo;
        String s;
        int i;
        boolean flag;
        boolean flag1;
        Signature asignature[];
        NoSuchAlgorithmException nosuchalgorithmexception;
        MessageDigest messagedigest;
        String s1;
        boolean flag2;
        try
        {
            packageinfo = context.getPackageManager().getPackageInfo("com.tencent.mtt", 64);
            s = packageinfo.versionName;
            i = SystemUtils.compareVersion(s, "4.3");
        }
        catch (android.content.pm.PackageManager.NameNotFoundException namenotfoundexception)
        {
            return false;
        }
        flag = false;
        if (i < 0)
        {
            break MISSING_BLOCK_LABEL_117;
        }
        flag1 = s.startsWith("4.4");
        flag = false;
        if (flag1)
        {
            break MISSING_BLOCK_LABEL_117;
        }
        asignature = packageinfo.signatures;
        flag = false;
        if (asignature == null)
        {
            break MISSING_BLOCK_LABEL_117;
        }
        messagedigest = MessageDigest.getInstance("MD5");
        messagedigest.update(asignature[0].toByteArray());
        s1 = toHexString(messagedigest.digest());
        messagedigest.reset();
        flag2 = s1.equals("d8391a394d4a179e6fe7bdb8a301258b");
        flag = false;
        if (flag2)
        {
            flag = true;
        }
        return flag;
        nosuchalgorithmexception;
        nosuchalgorithmexception.printStackTrace();
        return false;
    }

    public static Bundle decodeUrl(String s)
    {
        Bundle bundle = new Bundle();
        if (s != null)
        {
            String as[] = s.split("&");
            int i = as.length;
            for (int j = 0; j < i; j++)
            {
                String as1[] = as[j].split("=");
                if (as1.length == 2)
                {
                    bundle.putString(URLDecoder.decode(as1[0]), URLDecoder.decode(as1[1]));
                }
            }

        }
        return bundle;
    }

    public static JSONObject decodeUrlToJson(JSONObject jsonobject, String s)
    {
        if (jsonobject == null)
        {
            jsonobject = new JSONObject();
        }
        if (s != null)
        {
            String as[] = s.split("&");
            int i = as.length;
            int j = 0;
            while (j < i) 
            {
                String as1[] = as[j].split("=");
                if (as1.length == 2)
                {
                    try
                    {
                        jsonobject.put(URLDecoder.decode(as1[0]), URLDecoder.decode(as1[1]));
                    }
                    catch (JSONException jsonexception)
                    {
                        jsonexception.printStackTrace();
                    }
                }
                j++;
            }
        }
        return jsonobject;
    }

    public static String encodePostBody(Bundle bundle, String s)
    {
        if (bundle == null)
        {
            return "";
        }
        StringBuilder stringbuilder = new StringBuilder();
        int i = bundle.size();
        Iterator iterator = bundle.keySet().iterator();
        int j = -1;
        while (iterator.hasNext()) 
        {
            String s1 = (String)iterator.next();
            int k = j + 1;
            Object obj = bundle.get(s1);
            if (!(obj instanceof String))
            {
                j = k;
            } else
            {
                stringbuilder.append((new StringBuilder()).append("Content-Disposition: form-data; name=\"").append(s1).append("\"").append("\r\n").append("\r\n").append((String)obj).toString());
                if (k < i - 1)
                {
                    stringbuilder.append((new StringBuilder()).append("\r\n--").append(s).append("\r\n").toString());
                }
                j = k;
            }
        }
        return stringbuilder.toString();
    }

    public static String encodeUrl(Bundle bundle)
    {
        if (bundle == null)
        {
            return "";
        }
        StringBuilder stringbuilder = new StringBuilder();
        Iterator iterator = bundle.keySet().iterator();
        boolean flag = true;
        do
        {
            if (!iterator.hasNext())
            {
                break;
            }
            String s = (String)iterator.next();
            Object obj = bundle.get(s);
            if ((obj instanceof String) || (obj instanceof String[]))
            {
                boolean flag1;
                if (obj instanceof String[])
                {
                    String as[];
                    if (flag)
                    {
                        flag = false;
                    } else
                    {
                        stringbuilder.append("&");
                    }
                    stringbuilder.append((new StringBuilder()).append(URLEncoder.encode(s)).append("=").toString());
                    as = (String[])bundle.getStringArray(s);
                    if (as != null)
                    {
                        int i = 0;
                        while (i < as.length) 
                        {
                            if (i == 0)
                            {
                                stringbuilder.append(URLEncoder.encode(as[i]));
                            } else
                            {
                                stringbuilder.append(URLEncoder.encode((new StringBuilder()).append(",").append(as[i]).toString()));
                            }
                            i++;
                        }
                    }
                    flag1 = flag;
                } else
                {
                    if (flag)
                    {
                        flag = false;
                    } else
                    {
                        stringbuilder.append("&");
                    }
                    stringbuilder.append((new StringBuilder()).append(URLEncoder.encode(s)).append("=").append(URLEncoder.encode(bundle.getString(s))).toString());
                    flag1 = flag;
                }
                flag = flag1;
            }
        } while (true);
        return stringbuilder.toString();
    }

    public static String encrypt(String s)
    {
        byte abyte0[];
        StringBuilder stringbuilder;
        int i;
        int j;
        byte byte0;
        String s1;
        try
        {
            MessageDigest messagedigest = MessageDigest.getInstance("MD5");
            messagedigest.update(s.getBytes());
            abyte0 = messagedigest.digest();
        }
        catch (NoSuchAlgorithmException nosuchalgorithmexception)
        {
            nosuchalgorithmexception.printStackTrace();
            return s;
        }
        if (abyte0 == null)
        {
            break MISSING_BLOCK_LABEL_92;
        }
        stringbuilder = new StringBuilder();
        i = abyte0.length;
        j = 0;
_L2:
        if (j >= i)
        {
            break; /* Loop/switch isn't completed */
        }
        byte0 = abyte0[j];
        stringbuilder.append(a(byte0 >>> 4));
        stringbuilder.append(a(byte0));
        j++;
        if (true) goto _L2; else goto _L1
_L1:
        s1 = stringbuilder.toString();
        s = s1;
        return s;
    }

    public static boolean fileExists(String s)
    {
        File file;
        if (s != null)
        {
            if ((file = new File(s)) != null && file.exists())
            {
                return true;
            }
        }
        return false;
    }

    public static String getAppVersion(Context context)
    {
        PackageManager packagemanager = context.getPackageManager();
        String s;
        try
        {
            s = packagemanager.getPackageInfo(context.getPackageName(), 0).versionName;
        }
        catch (android.content.pm.PackageManager.NameNotFoundException namenotfoundexception)
        {
            Log.e(a, (new StringBuilder()).append("getAppVersion error").append(namenotfoundexception.getMessage()).toString());
            namenotfoundexception.printStackTrace();
            return "";
        }
        return s;
    }

    public static final String getApplicationLable(Context context)
    {
        if (context != null)
        {
            CharSequence charsequence = context.getPackageManager().getApplicationLabel(context.getApplicationInfo());
            if (charsequence != null)
            {
                return charsequence.toString();
            }
        }
        return null;
    }

    public static String getUserIp()
    {
        Enumeration enumeration = NetworkInterface.getNetworkInterfaces();
_L2:
        if (enumeration == null)
        {
            break MISSING_BLOCK_LABEL_79;
        }
        Enumeration enumeration1;
        if (!enumeration.hasMoreElements())
        {
            break MISSING_BLOCK_LABEL_79;
        }
        enumeration1 = ((NetworkInterface)enumeration.nextElement()).getInetAddresses();
_L4:
        if (!enumeration1.hasMoreElements()) goto _L2; else goto _L1
_L1:
        InetAddress inetaddress = (InetAddress)enumeration1.nextElement();
        if (inetaddress.isLoopbackAddress()) goto _L4; else goto _L3
_L3:
        String s = inetaddress.getHostAddress().toString();
        return s;
        SocketException socketexception;
        socketexception;
        logd("Tencent-Util", socketexception.toString());
        return "";
    }

    public static boolean hasSDCard()
    {
        boolean flag = Environment.getExternalStorageState().equals("mounted");
        File file = null;
        if (flag)
        {
            file = Environment.getExternalStorageDirectory();
        }
        return file != null;
    }

    public static String hexToString(String s)
    {
        int i = 0;
        if ("0x".equals(s.substring(0, 2)))
        {
            s = s.substring(2);
        }
        byte abyte0[] = new byte[s.length() / 2];
        while (i < abyte0.length) 
        {
            int j = i * 2;
            int k = 2 + i * 2;
            try
            {
                abyte0[i] = (byte)(0xff & Integer.parseInt(s.substring(j, k), 16));
            }
            catch (Exception exception1)
            {
                exception1.printStackTrace();
            }
            i++;
        }
        String s1;
        try
        {
            s1 = new String(abyte0, "utf-8");
        }
        catch (Exception exception)
        {
            exception.printStackTrace();
            return s;
        }
        return s1;
    }

    public static boolean isEmpty(String s)
    {
        return s == null || s.length() == 0;
    }

    public static boolean isMobileQQSupportShare(Context context)
    {
        PackageManager packagemanager = context.getPackageManager();
        int i;
        boolean flag;
        try
        {
            i = SystemUtils.compareVersion(packagemanager.getPackageInfo("com.tencent.mobileqq", 0).versionName, "4.1");
        }
        catch (android.content.pm.PackageManager.NameNotFoundException namenotfoundexception)
        {
            Log.d("checkMobileQQ", "error");
            return false;
        }
        flag = false;
        if (i >= 0)
        {
            flag = true;
        }
        return flag;
    }

    public static final boolean isValidPath(String s)
    {
        File file;
        if (s != null)
        {
            if ((file = new File(s)) != null && file.exists())
            {
                return true;
            }
        }
        return false;
    }

    public static final boolean isValidUrl(String s)
    {
        while (s == null || !s.startsWith("http://") && !s.startsWith("https://")) 
        {
            return false;
        }
        return true;
    }

    public static void logd(String s, String s1)
    {
        if (b)
        {
            Log.d(s, s1);
        }
    }

    public static boolean openBrowser(Context context, String s)
    {
        boolean flag1 = a(context);
        boolean flag = flag1;
        if (!flag) goto _L2; else goto _L1
_L1:
        a(context, "com.tencent.mtt", "com.tencent.mtt.MainActivity", s);
          goto _L3
_L2:
        a(context, "com.android.browser", "com.android.browser.BrowserActivity", s);
          goto _L3
        Exception exception6;
        exception6;
_L4:
        if (flag)
        {
            try
            {
                a(context, "com.android.browser", "com.android.browser.BrowserActivity", s);
            }
            catch (Exception exception3)
            {
                try
                {
                    a(context, "com.google.android.browser", "com.android.browser.BrowserActivity", s);
                }
                catch (Exception exception4)
                {
                    try
                    {
                        a(context, "com.android.chrome", "com.google.android.apps.chrome.Main", s);
                    }
                    catch (Exception exception5)
                    {
                        return false;
                    }
                }
            }
        } else
        {
            try
            {
                a(context, "com.google.android.browser", "com.android.browser.BrowserActivity", s);
            }
            catch (Exception exception1)
            {
                try
                {
                    a(context, "com.android.chrome", "com.google.android.apps.chrome.Main", s);
                }
                catch (Exception exception2)
                {
                    return false;
                }
            }
        }
        break; /* Loop/switch isn't completed */
        Exception exception;
        exception;
        flag = false;
        if (true) goto _L4; else goto _L3
_L3:
        return true;
    }

    public static JSONObject parseJson(String s)
    {
        if (s.equals("false"))
        {
            s = "{value : false}";
        }
        if (s.equals("true"))
        {
            s = "{value : true}";
        }
        if (s.contains("allback("))
        {
            s = s.replaceFirst("[\\s\\S]*allback\\(([\\s\\S]*)\\);[^\\)]*\\z", "$1").trim();
        }
        if (s.contains("online"))
        {
            s = (new StringBuilder()).append("{online:").append(s.charAt(-2 + s.length())).append("}").toString();
        }
        return new JSONObject(s);
    }

    public static Bundle parseUrl(String s)
    {
        String s1 = s.replace("auth://", "http://");
        Bundle bundle;
        try
        {
            URL url = new URL(s1);
            bundle = decodeUrl(url.getQuery());
            bundle.putAll(decodeUrl(url.getRef()));
        }
        catch (MalformedURLException malformedurlexception)
        {
            return new Bundle();
        }
        return bundle;
    }

    public static JSONObject parseUrlToJson(String s)
    {
        String s1 = s.replace("auth://", "http://");
        JSONObject jsonobject;
        try
        {
            URL url = new URL(s1);
            jsonobject = decodeUrlToJson(null, url.getQuery());
            decodeUrlToJson(jsonobject, url.getRef());
        }
        catch (MalformedURLException malformedurlexception)
        {
            return new JSONObject();
        }
        return jsonobject;
    }

    public static void reportBernoulli(Context context, String s, long l, String s1)
    {
        Bundle bundle = new Bundle();
        bundle.putString("appid_for_getting_config", s1);
        bundle.putString("strValue", s1);
        bundle.putString("nValue", s);
        bundle.putString("qver", "2.1");
        if (l != 0L)
        {
            bundle.putLong("elt", l);
        }
        (new e(context, bundle)).start();
    }

    public static void showAlert(Context context, String s, String s1)
    {
        android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(context);
        builder.setTitle(s);
        builder.setMessage(s1);
        builder.create().show();
    }

    public static final String subString(String s, int i, String s1, String s2)
    {
        int j = 0;
        if (!TextUtils.isEmpty(s)) goto _L2; else goto _L1
_L1:
        s = "";
_L6:
        return s;
_L2:
        Exception exception;
        int k;
        int l;
        String s3;
        String s4;
        Exception exception1;
        String s5;
        if (TextUtils.isEmpty(s1))
        {
            s1 = "UTF-8";
        }
        if (s.getBytes(s1).length <= i)
        {
            continue; /* Loop/switch isn't completed */
        }
        k = 0;
_L4:
        if (j >= s.length())
        {
            break; /* Loop/switch isn't completed */
        }
        l = s.substring(j, j + 1).getBytes(s1).length;
        if (k + l <= i)
        {
            break MISSING_BLOCK_LABEL_118;
        }
        s3 = s.substring(0, j);
        s4 = s3;
        if (TextUtils.isEmpty(s2))
        {
            break MISSING_BLOCK_LABEL_115;
        }
        s5 = (new StringBuilder()).append(s4).append(s2).toString();
        s4 = s5;
        return s4;
        k += l;
        j++;
        if (true) goto _L4; else goto _L3
_L3:
        if (true) goto _L6; else goto _L5
_L5:
        exception;
_L8:
        System.out.println((new StringBuilder()).append("StructMsg sSubString error : ").append(exception.getMessage()).toString());
        return s;
        exception1;
        s = s4;
        exception = exception1;
        if (true) goto _L8; else goto _L7
_L7:
    }

    public static String toHexString(String s)
    {
        byte abyte0[] = s.getBytes();
        StringBuilder stringbuilder = new StringBuilder(2 * abyte0.length);
        for (int i = 0; i < abyte0.length; i++)
        {
            stringbuilder.append(c.charAt((0xf0 & abyte0[i]) >> 4));
            stringbuilder.append(c.charAt((0xf & abyte0[i]) >> 0));
        }

        return stringbuilder.toString();
    }

    public static String toHexString(byte abyte0[])
    {
        if (abyte0 == null)
        {
            return null;
        }
        StringBuilder stringbuilder = new StringBuilder(2 * abyte0.length);
        for (int i = 0; i < abyte0.length; i++)
        {
            String s = Integer.toString(0xff & abyte0[i], 16);
            if (s.length() == 1)
            {
                s = (new StringBuilder()).append("0").append(s).toString();
            }
            stringbuilder.append(s);
        }

        return stringbuilder.toString();
    }

    public static Statistic upload(Context context, String s, Bundle bundle)
    {
        if (context != null)
        {
            ConnectivityManager connectivitymanager = (ConnectivityManager)context.getSystemService("connectivity");
            if (connectivitymanager != null)
            {
                NetworkInfo networkinfo = connectivitymanager.getActiveNetworkInfo();
                if (networkinfo == null || !networkinfo.isAvailable())
                {
                    throw new HttpUtils.NetworkUnavailableException("network unavailable");
                }
            }
        }
        Bundle bundle1 = new Bundle(bundle);
        String s1 = bundle1.getString("appid_for_getting_config");
        bundle1.remove("appid_for_getting_config");
        HttpClient httpclient = HttpUtils.getHttpClient(context, s1, s);
        HttpPost httppost = new HttpPost(s);
        Bundle bundle2 = new Bundle();
        Iterator iterator = bundle1.keySet().iterator();
        do
        {
            if (!iterator.hasNext())
            {
                break;
            }
            String s3 = (String)iterator.next();
            Object obj = bundle1.get(s3);
            if (obj instanceof byte[])
            {
                bundle2.putByteArray(s3, (byte[])(byte[])obj);
            }
        } while (true);
        httppost.setHeader("Content-Type", "multipart/form-data; boundary=3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f");
        httppost.setHeader("Connection", "Keep-Alive");
        ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
        bytearrayoutputstream.write("--3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f\r\n".getBytes());
        bytearrayoutputstream.write(encodePostBody(bundle1, "3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f").getBytes());
        if (!bundle2.isEmpty())
        {
            int k = bundle2.size();
            bytearrayoutputstream.write("\r\n--3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f\r\n".getBytes());
            Iterator iterator1 = bundle2.keySet().iterator();
            int l = -1;
            do
            {
                if (!iterator1.hasNext())
                {
                    break;
                }
                String s2 = (String)iterator1.next();
                l++;
                bytearrayoutputstream.write((new StringBuilder()).append("Content-Disposition: form-data; name=\"").append(s2).append("\"; filename=\"").append("value.file").append("\"").append("\r\n").toString().getBytes());
                bytearrayoutputstream.write("Content-Type: application/octet-stream\r\n\r\n".getBytes());
                byte abyte1[] = bundle2.getByteArray(s2);
                if (abyte1 != null)
                {
                    bytearrayoutputstream.write(abyte1);
                }
                if (l < k - 1)
                {
                    bytearrayoutputstream.write("\r\n--3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f\r\n".getBytes());
                }
            } while (true);
        }
        bytearrayoutputstream.write("\r\n--3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f--\r\n".getBytes());
        byte abyte0[] = bytearrayoutputstream.toByteArray();
        int i = 0 + abyte0.length;
        bytearrayoutputstream.close();
        httppost.setEntity(new ByteArrayEntity(abyte0));
        HttpResponse httpresponse = httpclient.execute(httppost);
        int j = httpresponse.getStatusLine().getStatusCode();
        if (j == 200)
        {
            return new Statistic(a(httpresponse), i);
        } else
        {
            throw new HttpUtils.HttpStatusException((new StringBuilder()).append("http status code error:").append(j).toString());
        }
    }


    private class Statistic
    {

        public long reqSize;
        public String response;
        public long rspSize;

        public Statistic(String s, int i)
        {
            response = s;
            reqSize = i;
            if (response != null)
            {
                rspSize = response.length();
            }
        }
    }

}