和通讯录 v4.2.0版本的 MD5 值为:f213fa766dccbfebde0dd8add5534518

以下内容为反编译后的 j.java 源代码,内容仅作参考


package com.chinamobile.icloud.im.sync.c;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import com.google.android.mms.pdu.EncodedStringValue;
import com.huawei.mcs.base.constant.Constant;
import com.huawei.tep.component.net.http.HttpConstant;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.HashMap;
import java.util.Random;
import java.util.zip.GZIPInputStream;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;

public final class j {

    public static String f4027a = "https://a.cytxl.com.cn/";

    public static String f4028b = String.valueOf(f4027a) + "mcloud/jsonrpc_api.php";
    public static String c = String.valueOf(f4027a) + "pim/jsonrpc_api.php";
    private static String e = String.valueOf(f4027a) + "mcloud/jsonrpc_api.php";
    private static String f = e;
    public static final String d = c;
    private static String g = String.valueOf(f4027a) + "c/jsonrpc_api.php?%s";

    public static void a(String str) {
        f = str;
        Log.e("ContactManager:", "setSyncUrl url: " + f);
        b(str);
    }

    public static void b(String str) {
        if (str != null) {
            int indexOf = str.indexOf(Constant.FilePath.IDND_PATH, 9);
            if (indexOf != -1) {
                f4027a = str.substring(0, indexOf + 1);
            } else {
                f4027a = str;
            }
            f4028b = String.valueOf(f4027a) + "mcloud/jsonrpc_api.php";
            c = String.valueOf(f4027a) + "pim/jsonrpc_api.php";
            g = String.valueOf(f4027a) + "c/jsonrpc_api.php?%s";
            e = String.valueOf(f4027a) + "mcloud/jsonrpc_api.php";
            Log.e("ContactManager:", "setSyncUrl BASE_URL_MCLOUD: " + f4028b);
            Log.e("ContactManager:", "setSyncUrl LOGIN_URI: " + g);
            Log.e("ContactManager:", "setSyncUrl BASE_URL_PIM: " + c);
            Log.e("ContactManager:", "setSyncUrl SYNC_URL_1: " + e);
        }
    }

    public static String a() {
        return f;
    }

    public static String b() {
        return c;
    }

    public static String c() {
        return "https://a.cytxl.com.cn/mcloud/jsonrpc_api.php";
    }

    public static String a(Context context, String str, f fVar, com.chinamobile.icloud.im.sync.c.a.a.a aVar, boolean z) {
        try {
            byte[] b2 = b(context, str, fVar, aVar, z);
            if (b2 != null) {
                return new String(b2, EncodedStringValue.StringEncoding.UTF_8);
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        }
        return null;
    }

    public static String a(Context context, String str, String str2) {
        try {
            byte[] b2 = b(context, str, new f(), new k(str2), false);
            if (b2 != null) {
                return new String(b2, EncodedStringValue.StringEncoding.UTF_8);
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        }
        return null;
    }

    public static String a(Context context, String str, f fVar, com.chinamobile.icloud.im.sync.c.a.a.a aVar) {
        boolean z = false;
        if (aVar instanceof com.chinamobile.icloud.im.sync.b.o) {
            z = ((com.chinamobile.icloud.im.sync.b.o) aVar).a();
        }
        byte[] b2 = b(context, str, fVar, aVar, z);
        if (b2 == null) {
            return null;
        }
        return new String(b2, EncodedStringValue.StringEncoding.UTF_8);
    }

    public static byte[] b(Context context, String str, f fVar, com.chinamobile.icloud.im.sync.c.a.a.a aVar, boolean z) {
        return a(context, str, fVar, aVar, z, null);
    }

    public static byte[] a(Context context, String str, f fVar, com.chinamobile.icloud.im.sync.c.a.a.a aVar, boolean z, HashMap<String, String> hashMap) {
        HttpURLConnection httpURLConnection;
        boolean z2;
        byte[] byteArray;
        if (str.startsWith("https")) {
            HttpsURLConnection httpsURLConnection = (HttpsURLConnection) new URL(str).openConnection();
            SSLContext sSLContext = SSLContext.getInstance("TLS");
            sSLContext.init(null, new TrustManager[]{new o()}, new SecureRandom());
            httpsURLConnection.setSSLSocketFactory(sSLContext.getSocketFactory());
            httpsURLConnection.setHostnameVerifier(new n());
            httpURLConnection = httpsURLConnection;
        } else {
            httpURLConnection = (HttpURLConnection) a(context, str);
        }
        l lVar = new l(httpURLConnection);
        try {
            httpURLConnection.setDoInput(true);
            httpURLConnection.setDoOutput(true);
            httpURLConnection.setRequestMethod(HttpConstant.Method.POST);
            httpURLConnection.setRequestProperty(HttpConstant.Header.CONNECTION, "Keep-Alive");
            httpURLConnection.setRequestProperty("Charset", "GB2312");
            httpURLConnection.setRequestProperty("content-type", "text/html");
            if (hashMap != null) {
                for (String str2 : hashMap.keySet()) {
                    httpURLConnection.setRequestProperty(str2, hashMap.get(str2));
                }
            }
            httpURLConnection.setConnectTimeout(60000);
            httpURLConnection.setReadTimeout(60000);
            if (z) {
                httpURLConnection.setRequestProperty("Compress", "gzip");
            }
            httpURLConnection.connect();
            fVar.a(lVar);
            OutputStream outputStream = httpURLConnection.getOutputStream();
            if (aVar != null) {
                aVar.a(outputStream);
                if (aVar instanceof com.chinamobile.icloud.im.sync.b.o) {
                    ((com.chinamobile.icloud.im.sync.b.o) aVar).b();
                }
            }
            InputStream inputStream = httpURLConnection.getInputStream();
            httpURLConnection.getResponseCode();
            String headerField = httpURLConnection.getHeaderField("Compresss");
            if (headerField == null || !headerField.equals("gzip")) {
                z2 = false;
            } else {
                Log.e("ContactManager", "Compress:" + headerField);
                z2 = true;
            }
            if (z2 && inputStream != null) {
                GZIPInputStream gZIPInputStream = new GZIPInputStream(new BufferedInputStream(inputStream));
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(byteArrayOutputStream, 4096);
                a(gZIPInputStream, bufferedOutputStream);
                bufferedOutputStream.flush();
                byteArray = byteArrayOutputStream.toByteArray();
                gZIPInputStream.close();
            } else {
                ByteArrayOutputStream byteArrayOutputStream2 = new ByteArrayOutputStream();
                BufferedOutputStream bufferedOutputStream2 = new BufferedOutputStream(byteArrayOutputStream2, 4096);
                a(inputStream, bufferedOutputStream2);
                bufferedOutputStream2.flush();
                byteArray = byteArrayOutputStream2.toByteArray();
                bufferedOutputStream2.close();
            }
            outputStream.close();
            return byteArray;
        } finally {
            if (lVar != null) {
                fVar.b(lVar);
            }
            if (httpURLConnection != null) {
                httpURLConnection.disconnect();
            }
        }
    }

    public static void a(InputStream inputStream, OutputStream outputStream) {
        byte[] bArr = new byte[4096];
        while (true) {
            int read = inputStream.read(bArr);
            if (read != -1) {
                outputStream.write(bArr, 0, read);
            } else {
                return;
            }
        }
    }

    public static byte[] c(String str) {
        try {
            HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(str).openConnection();
            httpURLConnection.connect();
            try {
                Bitmap decodeStream = BitmapFactory.decodeStream(httpURLConnection.getInputStream(), null, new BitmapFactory.Options());
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(decodeStream.getWidth() * decodeStream.getHeight() * 4);
                decodeStream.compress(Bitmap.CompressFormat.JPEG, 95, byteArrayOutputStream);
                byteArrayOutputStream.flush();
                byteArrayOutputStream.close();
                decodeStream.recycle();
                return byteArrayOutputStream.toByteArray();
            } finally {
                httpURLConnection.disconnect();
            }
        } catch (Exception e2) {
            com.chinamobile.icloud.im.sync.b.f.c().a(e2);
            e2.printStackTrace();
            return null;
        }
    }

    public static String a(int i) {
        StringBuffer stringBuffer = new StringBuffer();
        Random random = new Random();
        for (int i2 = 0; i2 < i; i2++) {
            stringBuffer.append(random.nextInt());
        }
        return stringBuffer.toString();
    }

    public static String d(String str) {
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("MD5");
            char[] charArray = str.toCharArray();
            byte[] bArr = new byte[charArray.length];
            for (int i = 0; i < charArray.length; i++) {
                bArr[i] = (byte) charArray[i];
            }
            byte[] digest = messageDigest.digest(bArr);
            StringBuffer stringBuffer = new StringBuffer();
            for (byte b2 : digest) {
                int i2 = b2 & 255;
                if (i2 < 16) {
                    stringBuffer.append("0");
                }
                stringBuffer.append(Integer.toHexString(i2));
            }
            return stringBuffer.toString();
        } catch (Exception e2) {
            e2.printStackTrace();
            return "";
        }
    }

    public static String e(String str) {
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");
            messageDigest.update(str.getBytes());
            byte[] digest = messageDigest.digest();
            StringBuffer stringBuffer = new StringBuffer();
            for (byte b2 : digest) {
                int i = b2 & 255;
                if (i < 16) {
                    stringBuffer.append("0");
                }
                stringBuffer.append(Integer.toHexString(i));
            }
            return stringBuffer.toString();
        } catch (Exception e2) {
            e2.printStackTrace();
            return "";
        }
    }

    public static URLConnection a(Context context, String str) {
        try {
            return new URL(str).openConnection();
        } catch (Exception e2) {
            e2.printStackTrace();
            return null;
        }
    }
}