龙岗云视频 v2.7版本的 MD5 值为:9298cfa7a85a45936abaf845b6f6bd5c

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


package com.hikvision.mobile.base;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.Application;
import android.content.Context;
import android.content.pm.PackageManager;
import android.net.http.AndroidHttpClient;
import android.os.Build;
import android.os.Bundle;
import com.hikvision.b.a.b;
import com.hikvision.b.a.d;
import com.hikvision.e.a.a.e;
import com.hikvision.g.a.o;
import com.hikvision.g.g;
import com.hikvision.g.j;
import com.hikvision.mobile.util.i;
import com.squareup.picasso.Picasso;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;
import hik.common.gx.analytics.GAnalyticsSDK;
import java.io.File;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import java.util.Comparator;
import java.util.Stack;
import java.util.concurrent.TimeUnit;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import okhttp3.OkHttpClient;

public class MainApplication extends Application implements hik.business.ga.hikan.common.base.c {

    private static MainApplication f5444b;

    public int f5445a;

    public MainApplication() {
        PlatformConfig.setWeixin("wxa11ac9364f4a54d2", "029d94453388698fd2fb85ea4370f9e8");
    }

    public static MainApplication a() {
        return f5444b;
    }

    private SSLSocketFactory d() {
        try {
            SSLContext sSLContext = SSLContext.getInstance("TLS");
            sSLContext.init(null, new TrustManager[]{new X509TrustManager() {
                @Override
                public final void checkClientTrusted(X509Certificate[] x509CertificateArr, String str) {
                }

                @Override
                public final void checkServerTrusted(X509Certificate[] x509CertificateArr, String str) {
                }

                @Override
                public final X509Certificate[] getAcceptedIssuers() {
                    return new X509Certificate[0];
                }
            }}, new SecureRandom());
            return sSLContext.getSocketFactory();
        } catch (KeyManagementException e) {
            e.printStackTrace();
            return null;
        } catch (NoSuchAlgorithmException e2) {
            e2.printStackTrace();
            return null;
        }
    }

    @Override
    public final void a(int i) {
        this.f5445a = i;
    }

    @Override
    protected void attachBaseContext(Context context) {
        super.attachBaseContext(context);
        android.support.multidex.a.a(this);
    }

    @Override
    public final int b() {
        return this.f5445a;
    }

    @Override
    public final String c() {
        return "https://139.159.239.135";
    }

    @Override
    public void onCreate() {
        super.onCreate();
        f5444b = this;
        File file = new File(i.a(this), "Volley" + File.separator + "Network");
        if (!file.exists()) {
            file.mkdirs();
        }
        String absolutePath = file.getAbsolutePath();
        File file2 = new File(i.a(this), "Volley" + File.separator + "Image");
        if (!file2.exists()) {
            file2.mkdirs();
        }
        byte b2 = 0;
        if (!(com.hikvision.b.a.c.a().f5216b != null)) {
            d.a aVar = new d.a(this);
            if (aVar.f5223c != null || aVar.d != null) {
                com.hikvision.b.a.a.b.c("threadPoolSize(), threadPriority() and tasksProcessingOrder() calls can overlap taskExecutor() and taskExecutorForCachedImages() calls.", new Object[0]);
            }
            aVar.h = 3;
            aVar.i = true;
            b.a aVar2 = new b.a();
            aVar2.h = true;
            aVar2.i = true;
            aVar2.m = true;
            aVar.s = aVar2.a();
            int i = e.f5271b;
            if (aVar.f5223c != null || aVar.d != null) {
                com.hikvision.b.a.a.b.c("threadPoolSize(), threadPriority() and tasksProcessingOrder() calls can overlap taskExecutor() and taskExecutorForCachedImages() calls.", new Object[0]);
            }
            aVar.j = i;
            com.hikvision.c.a.a.b bVar = new com.hikvision.c.a.a.b(file2, null, new com.hikvision.f.a.c());
            if (aVar.l > 0 || aVar.m > 0) {
                com.hikvision.b.a.a.b.c("diskCache(), diskCacheSize() and diskCacheFileCount calls overlap each other", new Object[0]);
            }
            if (aVar.p != null) {
                com.hikvision.b.a.a.b.c("diskCache() and diskCacheFileNameGenerator() calls overlap each other", new Object[0]);
            }
            aVar.o = bVar;
            aVar.t = true;
            if (aVar.f5223c == null) {
                aVar.f5223c = com.hikvision.b.a.a.a(aVar.g, aVar.h, aVar.j);
            } else {
                aVar.e = true;
            }
            if (aVar.d == null) {
                aVar.d = com.hikvision.b.a.a.a(aVar.g, aVar.h, aVar.j);
            } else {
                aVar.f = true;
            }
            if (aVar.o == null) {
                if (aVar.p == null) {
                    aVar.p = new com.hikvision.f.a.b();
                }
                aVar.o = com.hikvision.b.a.a.a(aVar.f5222b, aVar.p, aVar.l, aVar.m);
            }
            if (aVar.n == null) {
                Context context = aVar.f5222b;
                int i2 = aVar.k;
                if (i2 == 0) {
                    ActivityManager activityManager = (ActivityManager) context.getSystemService("activity");
                    int memoryClass = activityManager.getMemoryClass();
                    if (Build.VERSION.SDK_INT >= 11) {
                        if ((context.getApplicationInfo().flags & 1048576) != 0) {
                            memoryClass = activityManager.getLargeMemoryClass();
                        }
                    }
                    i2 = (memoryClass * 1048576) / 8;
                }
                aVar.n = new com.hikvision.c.b.a.b(i2);
            }
            if (aVar.i) {
                aVar.n = new com.hikvision.c.b.a.a(aVar.n, new Comparator<String>() {
                    @Override
                    public final int compare(String str, String str2) {
                        String str3 = str;
                        String str4 = str2;
                        return str3.substring(0, str3.lastIndexOf("_")).compareTo(str4.substring(0, str4.lastIndexOf("_")));
                    }
                });
            }
            if (aVar.q == null) {
                aVar.q = new com.hikvision.b.a.d.a(aVar.f5222b);
            }
            if (aVar.r == null) {
                aVar.r = new com.hikvision.b.a.b.a(aVar.t);
            }
            if (aVar.s == null) {
                aVar.s = new b.a().a();
            }
            com.hikvision.b.a.c.a().a(new d(aVar, b2));
        }
        j a2 = j.a();
        File b3 = absolutePath != null ? com.hikvision.f.a.b(absolutePath) : null;
        if (b3 == null) {
            b3 = new File(getCacheDir(), "volley");
        }
        String str = "volley/0";
        try {
            String packageName = getPackageName();
            str = packageName + "/" + getPackageManager().getPackageInfo(packageName, 0).versionCode;
        } catch (PackageManager.NameNotFoundException unused) {
        }
        com.hikvision.g.a aVar3 = new com.hikvision.g.a(Build.VERSION.SDK_INT >= 9 ? new g() : new com.hikvision.g.d(AndroidHttpClient.newInstance(str)));
        a2.f5351c = new com.hikvision.g.c(b3, (byte) 0);
        a2.f5349a = new o(a2.f5351c, aVar3, (byte) 0);
        a2.f5349a.a();
        Picasso.setSingletonInstance(new Picasso.Builder(this).downloader(new c(new OkHttpClient.Builder().readTimeout(20000L, TimeUnit.SECONDS).writeTimeout(20000L, TimeUnit.SECONDS).connectTimeout(20000L, TimeUnit.SECONDS).sslSocketFactory(d()).hostnameVerifier(new HostnameVerifier() {
            @Override
            public final boolean verify(String str2, SSLSession sSLSession) {
                return true;
            }
        }).build())).build());
        com.hikvision.mobile.util.b a3 = com.hikvision.mobile.util.b.a();
        a3.f5796b = this;
        a3.f5795a = Thread.getDefaultUncaughtExceptionHandler();
        Thread.setDefaultUncaughtExceptionHandler(a3);
        GAnalyticsSDK.init(this, "6VYr9HFzWiAZEC9X");
        UMShareAPI.get(this);
        if (Build.VERSION.SDK_INT >= 14) {
            registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() {
                @Override
                public final void onActivityCreated(Activity activity, Bundle bundle) {
                    a.a();
                    if (activity != null) {
                        if (a.f5449a == null) {
                            a.f5449a = new Stack<>();
                        }
                        a.f5449a.push(activity);
                        new StringBuilder("pushActivity:").append(activity.getLocalClassName());
                    }
                }

                @Override
                public final void onActivityDestroyed(Activity activity) {
                    a.a();
                    if (activity == null || a.f5449a == null || a.f5449a.empty() || a.f5449a.search(activity) == -1) {
                        return;
                    }
                    a.f5449a.remove(activity);
                    activity.finish();
                    new StringBuilder("removeActivity:").append(activity.getLocalClassName());
                }

                @Override
                public final void onActivityPaused(Activity activity) {
                }

                @Override
                public final void onActivityResumed(Activity activity) {
                }

                @Override
                public final void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
                }

                @Override
                public final void onActivityStarted(Activity activity) {
                }

                @Override
                public final void onActivityStopped(Activity activity) {
                }
            });
        }
    }
}