智能工厂.apk(点击下载) / b.java


package cn.jiguang.dy;

import android.content.Context;
import android.text.TextUtils;
import cn.jiguang.al.c;
import cn.jiguang.ao.g;
import cn.jiguang.ao.i;
import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

public class b {
    private static volatile b a;
    private static Map<Integer, String> b = new ConcurrentHashMap();

    public interface a {
        boolean a(File file);
    }

    private b() {
    }

    public static b a() {
        if (a == null) {
            synchronized (b.class) {
                if (a == null) {
                    a = new b();
                }
            }
        }
        return a;
    }

    public static Object a(Context context, int i, int i2, Object obj) {
        int i3;
        Throwable th;
        String str;
        int i4;
        c a2;
        cn.jiguang.am.a aVar;
        int i5;
        String str2;
        String str3;
        Throwable th2;
        try {
            int a3 = c.a().a(context, i);
            try {
                cn.jiguang.an.b.b("JDB", "context:" + context + ",pluginId:" + i + ",type:" + i2 + ",o:" + obj);
                String a4 = i.a("K9Ow/j0uADRPpP0ZrnpQ3A==");
                switch (i2) {
                    case 0:
                    case 1:
                        Map<String, String> b2 = b(context, i);
                        if (b2 != null && !b2.isEmpty()) {
                            String str4 = b2.get("p");
                            String str5 = b2.get("o");
                            String str6 = b2.get("l");
                            if (i2 == 0) {
                                str = str4;
                                i4 = 0;
                                c.a().a(context, i, a3, cn.jiguang.am.a.e, 0, null);
                            } else {
                                str = str4;
                                i4 = 0;
                            }
                            if (!TextUtils.isEmpty(str) && !TextUtils.isEmpty(str5) && !TextUtils.isEmpty(str6)) {
                                String a5 = i.a("Vd1zcNfZVmpqw+2NKX98sOf8ivTVMeqdIaqCpaA/CRg=");
                                Object invoke = Context.class.getMethod(i.a("STVo4dDOk4G2wtqJZNmnGg=="), new Class[i4]).invoke(context, new Object[i4]);
                                if (i2 != 0) {
                                    String a6 = cn.jiguang.al.a.a(i, 3);
                                    cn.jiguang.an.b.b("JDB", "diy c l:" + a6);
                                    try {
                                        Class<?> cls = obj.getClass();
                                        Class<?>[] clsArr = new Class[1];
                                        clsArr[i4] = String.class;
                                        Method method = cls.getMethod(a4, clsArr);
                                        Object[] objArr = new Object[1];
                                        objArr[i4] = a6;
                                        Class<?>[] clsArr2 = new Class[4];
                                        clsArr2[i4] = String.class;
                                        clsArr2[1] = String.class;
                                        clsArr2[2] = String.class;
                                        clsArr2[3] = Class.forName(a5);
                                        Constructor constructor = ((Class) method.invoke(obj, objArr)).getConstructor(clsArr2);
                                        Object[] objArr2 = new Object[4];
                                        objArr2[i4] = str;
                                        objArr2[1] = str5;
                                        objArr2[2] = str6;
                                        objArr2[3] = invoke;
                                        Object newInstance = constructor.newInstance(objArr2);
                                        try {
                                            if (!TextUtils.isEmpty(str)) {
                                                if (b.containsKey(Integer.valueOf(i))) {
                                                    b.remove(Integer.valueOf(i));
                                                }
                                                File file = new File(str);
                                                if (file.exists()) {
                                                    file.delete();
                                                    cn.jiguang.an.b.b("JDB", "d d file success:" + file.getAbsolutePath());
                                                }
                                            }
                                        } catch (Throwable unused) {
                                        }
                                        c.a().a(context, i, a3, cn.jiguang.am.a.e, 1, null);
                                        return newInstance;
                                    } catch (Throwable th3) {
                                        cn.jiguang.an.b.e("JDB", "d " + i2 + " e:" + th3);
                                        a2 = c.a();
                                        aVar = cn.jiguang.am.a.e;
                                        i5 = 2;
                                        str2 = "create custom classLoader failed , error :" + th3.getMessage();
                                        break;
                                    }
                                } else {
                                    Class<?> cls2 = Class.forName(i.a("Zaqi7qnhpEu8dzobKmLDqlzxa1KuKDP47tarZAn48u8="));
                                    Class<?>[] clsArr3 = new Class[4];
                                    clsArr3[i4] = String.class;
                                    clsArr3[1] = String.class;
                                    clsArr3[2] = String.class;
                                    clsArr3[3] = Class.forName(a5);
                                    Constructor<?> constructor2 = cls2.getConstructor(clsArr3);
                                    Object[] objArr3 = new Object[4];
                                    objArr3[i4] = str;
                                    objArr3[1] = str5;
                                    objArr3[2] = str6;
                                    objArr3[3] = invoke;
                                    Object newInstance2 = constructor2.newInstance(objArr3);
                                    if (newInstance2 == null) {
                                        c.a().a(context, i, a3, cn.jiguang.am.a.e, 2, "create DexClassLoader failed");
                                    }
                                    return newInstance2;
                                }
                            } else {
                                c.a().a(context, i, a3, cn.jiguang.am.a.e, 2, "parameter empty");
                                return null;
                            }
                        } else {
                            return null;
                        }
                    case 2:
                        String a7 = cn.jiguang.al.a.a(i, 0);
                        String a8 = cn.jiguang.al.a.a(i, 1);
                        String a9 = cn.jiguang.al.a.a(i, 2);
                        cn.jiguang.an.b.b("JDB", "impClass:" + a7 + ",forClass:" + a8 + ",forField:" + a9);
                        try {
                            Object newInstance3 = ((Class) obj.getClass().getMethod(a4, String.class).invoke(obj, a7)).newInstance();
                            Class<?> cls3 = Class.forName(a8);
                            Field declaredField = cls3.getDeclaredField(a9);
                            declaredField.setAccessible(true);
                            declaredField.set(cls3, newInstance3);
                            str3 = a8;
                            try {
                                c.a().a(context, i, a3, cn.jiguang.am.a.a, 1, null);
                                return null;
                            } catch (Throwable th4) {
                                th2 = th4;
                            }
                        } catch (Throwable th5) {
                            th2 = th5;
                            str3 = a8;
                            cn.jiguang.an.b.e("JDB", "d e:" + th2);
                            a2 = c.a();
                            aVar = cn.jiguang.am.a.a;
                            i5 = 2;
                            str2 = "15 load impClass:" + a7 + ",forClass:" + str3 + ",forField:" + a9 + ", error :" + th2.getMessage();
                            a2.a(context, i, a3, aVar, i5, str2);
                            return null;
                        }
                    default:
                        return null;
                }
                a2.a(context, i, a3, aVar, i5, str2);
                return null;
            } catch (Throwable th6) {
                th = th6;
                i3 = a3;
                cn.jiguang.an.b.e("JDB", "d failed");
                c.a().a(context, i, i3, cn.jiguang.am.a.a, 2, "16 load failed , error :" + th.getMessage());
                return null;
            }
        } catch (Throwable th7) {
            th = th7;
            i3 = -1;
            cn.jiguang.an.b.e("JDB", "d failed");
            c.a().a(context, i, i3, cn.jiguang.am.a.a, 2, "16 load failed , error :" + th.getMessage());
            return null;
        }
    }

    public static String a(Context context, cn.jiguang.am.c cVar) {
        String absolutePath = cn.jiguang.al.b.c(context, cVar.s, cVar.m, cVar.o).getAbsolutePath();
        cn.jiguang.an.b.b("JDB", "o:" + absolutePath);
        return absolutePath;
    }

    public static String a(Context context, cn.jiguang.am.c cVar, boolean z) {
        String str;
        File a2 = cn.jiguang.al.a.a(context, cVar, true);
        if (a2 != null) {
            str = a2.getAbsolutePath();
            cn.jiguang.an.b.b("JDB", "p:" + str);
            if (z) {
                c.a().a(context, cVar.m, cVar.o, cn.jiguang.am.a.c, 1, null);
            }
        } else {
            if (z) {
                c.a().a(context, cVar.m, cVar.o, cn.jiguang.am.a.c, 2, "Plugin file validate check failed");
            }
            str = null;
        }
        if (!TextUtils.isEmpty(str)) {
            try {
                if (b.get(Integer.valueOf(cVar.m)) != null) {
                    String str2 = b.get(Integer.valueOf(cVar.m));
                    if (new File(str2).exists()) {
                        return str2;
                    }
                }
            } catch (Throwable unused) {
            }
            c.a().a(context, cVar.m, cVar.o, cn.jiguang.am.a.d, 0, null);
            File a3 = cn.jiguang.al.b.a(context, new File(str), cVar.m, cVar.o);
            if (a3 == null || !a3.exists()) {
                cn.jiguang.an.b.b("JDB", "d failed,clear p");
                cn.jiguang.al.a.a(context, cVar);
                str = "";
            } else {
                String absolutePath = a3.getAbsolutePath();
                try {
                    b.put(Integer.valueOf(cVar.m), absolutePath);
                    if (z) {
                        c.a().a(context, cVar.m, cVar.o, cn.jiguang.am.a.d, 1, null);
                    }
                } catch (Throwable th) {
                    if (z) {
                        c a4 = c.a();
                        int i = cVar.m;
                        int i2 = cVar.o;
                        cn.jiguang.am.a aVar = cn.jiguang.am.a.d;
                        a4.a(context, i, i2, aVar, 2, "11 add pluginCache error:" + th.getMessage());
                    }
                }
                str = absolutePath;
            }
        }
        cn.jiguang.an.b.b("JDB", "end p:" + str);
        return str;
    }

    private static boolean a(Context context, cn.jiguang.am.c cVar, int i) {
        String a2 = cn.jiguang.al.a.a(i, 4);
        if (TextUtils.isEmpty(a2)) {
            return false;
        }
        try {
            int parseInt = Integer.parseInt(a2);
            cn.jiguang.an.b.b("JDB", "p c vc:" + parseInt + ",p vc:" + cVar.o);
            if (parseInt < cVar.o) {
                return true;
            }
            cn.jiguang.al.a.a(context, cVar);
            return false;
        } catch (Throwable unused) {
            return true;
        }
    }

    public static String b(Context context, cn.jiguang.am.c cVar) {
        String absolutePath = cn.jiguang.al.b.b(context, cVar.s, cVar.m, cVar.o).getAbsolutePath();
        cn.jiguang.an.b.b("JDB", "l:" + absolutePath);
        return absolutePath;
    }

    public static Map<String, String> b(Context context, int i) {
        c a2;
        cn.jiguang.am.a aVar;
        int i2;
        String str;
        int a3 = c.a().a(context, i);
        c.a().a(context, i, a3, cn.jiguang.am.a.b, 0, null);
        cn.jiguang.am.c b2 = cn.jiguang.al.a.b(context, i);
        if (b2 == null) {
            a2 = c.a();
            aVar = cn.jiguang.am.a.b;
            i2 = 2;
            str = "pluginInfo is null";
        } else {
            a3 = b2.o;
            c.a().a(context, i, a3, cn.jiguang.am.a.b, 1, null);
            c.a().a(context, i, a3, cn.jiguang.am.a.c, 0, null);
            if (!a(context, b2, i)) {
                a2 = c.a();
                aVar = cn.jiguang.am.a.c;
                i2 = 2;
                str = "checkLocalVcode failed";
            } else {
                String a4 = a(context, b2, true);
                if (TextUtils.isEmpty(a4)) {
                    return null;
                }
                String a5 = a(context, b2);
                String b3 = b(context, b2);
                HashMap hashMap = new HashMap();
                hashMap.put("p", a4);
                hashMap.put("o", a5);
                hashMap.put("l", b3);
                return hashMap;
            }
        }
        a2.a(context, i, a3, aVar, i2, str);
        return null;
    }

    public void a(Context context, int i, String str) {
        cn.jiguang.an.b.b("JDB", "up :" + i);
        a(context, i, str, (a) null);
    }

    public void a(Context context, int i, String str, a aVar) {
        if (g.b(context)) {
            c.a().a(context, i, str, aVar);
            if (i == 1) {
                c.a().a(context);
            }
        }
    }

    public boolean a(Context context, int i) {
        try {
            int a2 = c.a().a(context, i);
            c.a().a(context, i, a2, cn.jiguang.am.a.a, 0, null);
            if (context == null) {
                cn.jiguang.an.b.g("JDB", "context is null");
                c.a().a(context, i, a2, cn.jiguang.am.a.a, 2, "1 context is null");
                return false;
            }
            Object a3 = a(context, i, 0, (Object) null);
            if (a3 == null) {
                c.a().a(context, i, a2, cn.jiguang.am.a.a, 2, "baseCL failed");
                return false;
            }
            Object a4 = a(context, i, 1, a3);
            if (a4 == null) {
                c.a().a(context, i, a2, cn.jiguang.am.a.a, 2, "diyCL failed");
                return false;
            }
            a(context, i, 2, a4);
            return true;
        } catch (Throwable th) {
            cn.jiguang.an.b.a("JDB", "lP:" + th.getMessage(), th);
            return false;
        }
    }
}