最右.apk(点击下载) / ReportUtils.java


package com.qumeng.advlib.core.reportutils;

import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Handler;
import android.os.HandlerThread;
import android.text.TextUtils;
import android.util.Log;
import com.alipay.security.mobile.module.http.model.c;
import com.nirvana.tools.logger.cache.db.DBHelpTool;
import com.qumeng.advlib.core.ICliUtils;
import com.umeng.analytics.pro.ak;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;

public class ReportUtils {
    private static int appVersionCode = 0;
    private static String appVersionName = null;
    private static StringBuilder builder = new StringBuilder();
    private static Handler handler = null;
    private static final HandlerThread handlerThread = new c03("cpc/sdk-remote-10.406", "​com.qumeng.advlib.core.reportutils.ReportUtils");
    public static int isNormalStart = -1;
    private static long lastTime = 0;
    private static int randomReport = -1;
    private static long reportStartTime = 0;
    public static long reportTypeTime = 0;
    public static final String urlReport = "https://tracelog-debug.aiclk.com";
    public static final String urlTraceReport = "https://logrcv.aiclk.com/trace";

    /* JADX WARNING: Failed to process nested try/catch */
    /* JADX WARNING: Missing exception handler attribute for start block: B:10:0x00a5 */
    /* JADX WARNING: Removed duplicated region for block: B:13:0x00a9  */
    /* JADX WARNING: Removed duplicated region for block: B:16:0x00b2  */
    private static Map genTraceSingleReportData(Context context, String str, Map<String, String> map) {
        HashMap hashMap = new HashMap();
        hashMap.put("os", "Android");
        hashMap.put(DBHelpTool.RecordEntry.COLUMN_NAME_TIMESTAMP, String.valueOf(System.currentTimeMillis()));
        hashMap.put("opt_bootstrap_v", "10.406");
        hashMap.put("opt_lib_v", "3.436");
        hashMap.put(ak.aH, str + "");
        if (context != null) {
            hashMap.put("opt_app_pkgid", context.getPackageName());
            hashMap.put("opt_app_vn", getAppVersionName(context));
            hashMap.put("opt_app_vc", getAppVersionCode(context) + "");
        }
        hashMap.put("opt_os_version", Build.VERSION.RELEASE + "");
        if (map != null) {
            for (Map.Entry<String, String> entry : map.entrySet()) {
                String key = entry.getKey();
                hashMap.put(key, map.get(key));
            }
        }
        try {
            String str2 = Build.BRAND;
            if (str2 != null) {
                hashMap.put("opt_brand", str2);
            }
            String str3 = Build.MODEL;
            if (str3 != null) {
                hashMap.put("opt_model", str3);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return hashMap;
    }

    public static int getAppVersionCode(Context context) {
        PackageInfo packageInfo;
        int i = appVersionCode;
        if (i > 0) {
            return i;
        }
        try {
            PackageManager packageManager = context.getPackageManager();
            if (packageManager == null) {
                packageInfo = null;
            } else {
                packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
            }
            if (packageInfo != null) {
                int i2 = packageInfo.versionCode;
                appVersionCode = i2;
                return i2;
            }
        } catch (Throwable th) {
            th.printStackTrace();
        }
        return 0;
    }

    public static String getAppVersionName(Context context) {
        PackageInfo packageInfo;
        if (!TextUtils.isEmpty(appVersionName)) {
            return appVersionName;
        }
        try {
            PackageManager packageManager = context.getPackageManager();
            if (packageManager == null) {
                packageInfo = null;
            } else {
                packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
            }
            if (packageInfo != null) {
                String str = packageInfo.versionName;
                if (str == null) {
                    str = "";
                }
                appVersionName = str;
                return str;
            }
        } catch (Throwable th) {
            th.printStackTrace();
        }
        return "";
    }

    private static Handler getHandler() {
        if (handler == null) {
            synchronized (ReportUtils.class) {
                if (handler == null) {
                    HandlerThread handlerThread2 = handlerThread;
                    d03.d(handlerThread2, "​com.qumeng.advlib.core.reportutils.ReportUtils");
                    handlerThread2.start();
                    handler = new Handler(handlerThread2.getLooper());
                }
            }
        }
        return handler;
    }

    private static String getSingleReportURL(String str, Map<String, String> map) {
        return str + ICliUtils.a(map);
    }

    public static void post(Runnable runnable) {
        Handler handler2 = getHandler();
        if (handler2 != null) {
            handler2.post(runnable);
        }
    }

    public static void postDelayed(Runnable runnable, long j) {
        Handler handler2 = getHandler();
        if (handler2 != null) {
            handler2.postDelayed(runnable, j);
        }
    }

    public static boolean randomReport() {
        if (randomReport == -1) {
            randomReport = new Random().nextInt(10);
        }
        return randomReport == 1;
    }

    public static void report(Context context, String str, Map<String, String> map) {
        report(context, urlReport, str, map);
    }

    public static void reportDownload(Context context, String str, String str2, long j) {
        try {
            if (randomReport()) {
                HashMap hashMap = new HashMap();
                hashMap.put("op1", str);
                hashMap.put("opt_download", "sdk");
                hashMap.put("opt_url", str2 + "");
                if (j > 0) {
                    hashMap.put("opt_block_time", j + "");
                }
                report(context, "Download", hashMap);
            }
        } catch (Throwable unused) {
        }
    }

    public static void reportLoadError(Context context, String str) {
        if (context != null && randomReport()) {
            HashMap hashMap = new HashMap();
            hashMap.put("op1", "LOAD_ERROR");
            hashMap.put("opt_error", str);
            try {
                hashMap.put("opt_process", mx5.e(context));
            } catch (Throwable unused) {
            }
            report(context, "LoadSdk", hashMap);
        }
    }

    public static void reportLoadStart(Context context) {
        if (context != null && randomReport()) {
            reportStartTime = System.currentTimeMillis();
            HashMap hashMap = new HashMap();
            hashMap.put("op1", "START");
            hashMap.put("opt_loadId", reportStartTime + "");
            hashMap.put("opt_isNormalStart", isNormalStart + "");
            report(context, "LoadSdk", hashMap);
        }
    }

    public static void reportLoadsdkFail(Context context, boolean z, boolean z2, boolean z3, String str, long j) {
        if (context != null && randomReport()) {
            HashMap hashMap = new HashMap();
            hashMap.put("op1", "FAIL");
            hashMap.put("opt_isRemote", (z ? 1 : 0) + "");
            hashMap.put("opt_unzip", (z2 ? 1 : 0) + "");
            hashMap.put("opt_checkonline", (z3 ? 1 : 0) + "");
            hashMap.put("opt_checkTime", j + "");
            hashMap.put("opt_cause", str);
            hashMap.put("opt_loadId", reportStartTime + "");
            long j2 = -1;
            if (reportTypeTime > 0) {
                j2 = System.currentTimeMillis() - reportTypeTime;
            }
            hashMap.put("opt_gap", j2 + "");
            hashMap.put("opt_isNormalStart", isNormalStart + "");
            report(context, "LoadSdk", hashMap);
        }
    }

    public static void reportLoadsdkLoading(Context context, int i) {
        if (context != null && randomReport()) {
            HashMap hashMap = new HashMap();
            hashMap.put("op1", "Loading");
            hashMap.put("opt_loadId", reportStartTime + "");
            hashMap.put("opt_step", i + "");
            StringBuilder sb = builder;
            sb.append(i + "-");
            hashMap.put("opt_path", builder.toString());
            long j = 0;
            if (lastTime != 0) {
                j = System.currentTimeMillis() - lastTime;
            }
            lastTime = System.currentTimeMillis();
            hashMap.put("opt_loadTime", j + "");
            report(context, "LoadSdk", hashMap);
            Log.i("reportLoadsdkLoading", "step = " + i + " , time = " + j);
        }
    }

    public static void reportLoadsdkSuccess(Context context, boolean z, boolean z2, boolean z3, long j, long j2) {
        if (context != null && randomReport()) {
            HashMap hashMap = new HashMap();
            hashMap.put("op1", c.g);
            hashMap.put("opt_isRemote", (z ? 1 : 0) + "");
            hashMap.put("opt_unzip", (z2 ? 1 : 0) + "");
            hashMap.put("opt_checkonline", (z3 ? 1 : 0) + "");
            hashMap.put("opt_checkTime", j2 + "");
            hashMap.put("opt_loadId", reportStartTime + "");
            hashMap.put("opt_loadTime", (System.currentTimeMillis() - j) + "");
            long j3 = -1;
            if (reportTypeTime > 0) {
                j3 = System.currentTimeMillis() - reportTypeTime;
            }
            hashMap.put("opt_gap", j3 + "");
            hashMap.put("opt_isNormalStart", isNormalStart + "");
            report(context, "LoadSdk", hashMap);
        }
    }

    public static void reportStartType(Context context, int i) {
        isNormalStart = i;
        long currentTimeMillis = System.currentTimeMillis();
        reportTypeTime = currentTimeMillis;
        long j = reportStartTime;
        long j2 = j > 0 ? currentTimeMillis - j : -1;
        if (context != null && randomReport()) {
            HashMap hashMap = new HashMap();
            hashMap.put("op1", "REPORT_TYPE");
            hashMap.put("opt_gap", j2 + "");
            hashMap.put("opt_loadId", reportStartTime + "");
            hashMap.put("opt_isNormalStart", isNormalStart + "");
            report(context, "LoadSdk", hashMap);
        }
    }

    public static void reportTrace(Context context, String str, Map<String, String> map) {
        report(context, urlTraceReport, str, map);
    }

    public static void request(String str) throws Throwable {
        if (str != null && !TextUtils.isEmpty(str)) {
            if (str.startsWith("http://") || str.startsWith("https://")) {
                URLConnection openConnection = new URL(str).openConnection();
                try {
                    openConnection.connect();
                    int responseCode = ((HttpURLConnection) openConnection).getResponseCode();
                    if (responseCode != 200) {
                        Log.e("NetUtils", "ERROR " + String.valueOf(responseCode) + " on url \"" + str + "\"");
                    }
                } finally {
                    try {
                        ((HttpURLConnection) openConnection).disconnect();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }

    private static void report(Context context, String str, String str2, Map<String, String> map) {
        final String singleReportURL = getSingleReportURL(str, genTraceSingleReportData(context, str2, map));
        AnonymousClass1 r1 = new Runnable() {
            /* class com.qumeng.advlib.core.reportutils.ReportUtils.AnonymousClass1 */

            public void run() {
                try {
                    ReportUtils.request(singleReportURL);
                } catch (Throwable th) {
                    th.printStackTrace();
                }
            }
        };
        Handler handler2 = getHandler();
        if (handler2 != null) {
            handler2.post(r1);
        }
    }
}