Translate SMS German v2.1.0.2版本的 MD5 值为:bcf759bfd2c1bd0234a10506935f703f

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


package com.appnext.tracking;

import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import com.github.kevinsawicki.http.HttpRequest;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpRetryException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

@SuppressLint({"NewApi"})
public final class AppnextTrack {
    private static Context context;
    private static Handler handler;
    private static String hz = "";
    private static Runnable ik = new Runnable() {
        @Override
        @SuppressLint({"SetJavaScriptEnabled"})
        public void run() {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    AppnextTrack.aF("v5");
                }
            }).start();
            AppnextTrack.handler.postDelayed(AppnextTrack.ik, 20000L);
        }
    };

    public static synchronized void track(Context context2) {
        synchronized (AppnextTrack.class) {
            if (!context2.getSharedPreferences("appnext", 0).getBoolean("appnextSent", false)) {
                F(context2);
            }
        }
    }

    public static synchronized void F(Context context2) {
        synchronized (AppnextTrack.class) {
            context = context2;
            if (!G(context).equals("")) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        AppnextTrack.w(AppnextTrack.context);
                    }
                }).start();
                handler = new Handler(Looper.getMainLooper());
                handler.postDelayed(ik, 1000L);
            }
        }
    }

    public static void aF(String str) {
        if (context == null) {
            handler.removeCallbacks(ik);
            return;
        }
        try {
            String w = w(context);
            HashMap hashMap = new HashMap();
            hashMap.put("email", "");
            hashMap.put("did", w);
            hashMap.put("dtype", cf());
            hashMap.put("pak", context.getPackageName());
            hashMap.put("js", str + " " + context.getSharedPreferences("appnext", 0).getString("ref", ""));
            hashMap.put("guid", G(context));
            a("https://admin.appnext.com/AdminService.asmx/sit", hashMap);
            context.getSharedPreferences("appnext", 0).edit().putBoolean("appnextSent", true).apply();
            handler.removeCallbacks(ik);
            context = null;
        } catch (Throwable th) {
        }
    }

    private static String G(Context context2) {
        if (ReferralReceiver.guid != null && !ReferralReceiver.guid.equals("")) {
            return ReferralReceiver.guid;
        }
        return context2.getSharedPreferences("appnext", 0).getString("utm_content", "");
    }

    private static String cf() {
        try {
            return URLEncoder.encode("android " + Build.VERSION.SDK_INT + " " + Build.MANUFACTURER + " " + Build.MODEL, HttpRequest.CHARSET_UTF8);
        } catch (UnsupportedEncodingException e) {
            return "android";
        }
    }

    public static void postInstall(Context context2, final String str) {
        track(context2);
        if (context2 == null || str == null) {
            Log.v("AppnextTrack", "postInstall: context and action cannot be null");
        } else {
            context = context2;
            new Thread(new Runnable() {
                @Override
                public void run() {
                    AppnextTrack.aG(str);
                }
            }).start();
        }
    }

    public static void aG(String str) {
        String G = G(context);
        if (!G.equals("")) {
            try {
                a("http://admin.appnext.com/PostInstall.aspx?clickid=" + G + "&action=" + URLEncoder.encode(str, HttpRequest.CHARSET_UTF8), null);
                context = null;
            } catch (Throwable th) {
            }
        }
    }

    public static String a(String str, HashMap<String, String> hashMap) throws IOException {
        HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(str).openConnection();
        try {
            httpURLConnection.setReadTimeout(8000);
            httpURLConnection.setConnectTimeout(8000);
            httpURLConnection.setDoInput(true);
            if (hashMap != null) {
                httpURLConnection.setRequestMethod(HttpRequest.METHOD_POST);
                httpURLConnection.setDoOutput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, HttpRequest.CHARSET_UTF8));
                bufferedWriter.write(e(hashMap));
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
            }
            int responseCode = httpURLConnection.getResponseCode();
            if (responseCode == 200) {
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
                StringBuilder sb = new StringBuilder();
                while (true) {
                    String readLine = bufferedReader.readLine();
                    if (readLine != null) {
                        sb.append(readLine);
                    } else {
                        bufferedReader.close();
                        return sb.toString();
                    }
                }
            } else {
                throw new HttpRetryException(httpURLConnection.getResponseMessage(), responseCode);
            }
        } finally {
            httpURLConnection.disconnect();
        }
    }

    private static String e(HashMap<String, String> hashMap) {
        boolean z;
        StringBuilder sb = new StringBuilder();
        boolean z2 = true;
        Iterator<Map.Entry<String, String>> it = hashMap.entrySet().iterator();
        while (true) {
            boolean z3 = z2;
            if (it.hasNext()) {
                Map.Entry<String, String> next = it.next();
                try {
                    StringBuilder sb2 = new StringBuilder();
                    if (z3) {
                        z = false;
                    } else {
                        sb2.append("&");
                        z = z3;
                    }
                    try {
                        sb2.append(URLEncoder.encode(next.getKey(), HttpRequest.CHARSET_UTF8));
                        sb2.append("=");
                        sb2.append(URLEncoder.encode(next.getValue(), HttpRequest.CHARSET_UTF8));
                        sb.append((CharSequence) sb2);
                        z2 = z;
                    } catch (UnsupportedEncodingException e) {
                        z2 = z;
                    }
                } catch (UnsupportedEncodingException e2) {
                    z2 = z3;
                }
            } else {
                return sb.toString();
            }
        }
    }

    public static synchronized String w(Context context2) {
        String str;
        String str2;
        synchronized (AppnextTrack.class) {
            if (!hz.equals("")) {
                str2 = hz;
            } else {
                try {
                    Class.forName("com.google.android.gms.ads.identifier.AdvertisingIdClient");
                    str = AdsIDHelper.r(context2);
                } catch (ClassNotFoundException e) {
                    str = "";
                }
                if (str.equals("")) {
                    str = b.v(context2);
                    if (str.equals("")) {
                        try {
                            if (!a.E(context2).cb()) {
                                str2 = a.E(context2).getId();
                            }
                        } catch (Throwable th) {
                            str = "";
                        }
                    }
                }
                hz = str;
                str2 = hz;
            }
        }
        return str2;
    }
}