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;
}
}