Life Simulator: Game Dev v0.6版本的 MD5 值为:ecca8c682c00d3b861fbed7f58e41c8d

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


package com.startapp.android.publish.i;

import android.R;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Base64;
import android.util.Log;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.amazon.device.ads.DeviceInfo;
import com.amazon.device.ads.WebRequest;
import com.flurry.android.Constants;
import com.mopub.common.AdType;
import com.startapp.android.publish.Ad;
import com.startapp.android.publish.OverlayActivity;
import com.startapp.android.publish.d.b;
import com.startapp.android.publish.model.AdDetails;
import com.startapp.android.publish.model.AdPreferences;
import com.startapp.android.publish.model.MetaData;
import com.startapp.android.publish.model.NameValueObject;
import com.tapjoy.TapjoyConstants;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.WeakHashMap;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.json.JSONException;
import org.json.JSONObject;

public class x {
    private static ProgressDialog d;
    private static int f;
    public static final byte[] a = {12, 31, 86, 96, 103, 10, 28, 15, 17, 28, 36, 84, 64, 82, 84, 64, 80, 80, 69, 78, 67, 82, 89, 80, 84, 73, 79, 78, 75, 69, 89, 4, 32, 18, 16, 18, 11, 53, 45, 34};
    private static Map<Activity, Integer> b = new WeakHashMap();
    private static ThreadPoolExecutor c = new ThreadPoolExecutor(1, 4, 0, TimeUnit.MILLISECONDS, new LinkedBlockingQueue());
    private static boolean e = false;

    public interface a {
        void a();

        void a(String str);
    }

    public static String a() {
        String str = "3.4.3";
        if ("3.4.3".equals("${project.version}")) {
            str = "0";
        }
        n.a(3, "SDK version: [" + str + "]");
        return str;
    }

    public static void b() {
        if (k()) {
            com.startapp.android.publish.g.a().a("Cordova", a());
        }
        if (i()) {
            com.startapp.android.publish.g.a().a("AdMob", f("com.startapp.android.mediation.admob"));
        }
        if (j()) {
            com.startapp.android.publish.g.a().a("MoPub", f("com.mopub.mobileads"));
        }
        if (l() && !com.startapp.android.publish.g.a().j().containsKey("B4A")) {
            com.startapp.android.publish.g.a().a("MoPub", "0");
        }
    }

    private static String f(String str) {
        try {
            return (String) Class.forName(str + ".StartAppConstants").getField("WRAPPER_VERSION").get(null);
        } catch (Exception e2) {
            return "0";
        }
    }

    private static boolean i() {
        return g("com.startapp.android.mediation.admob.StartAppCustomEvent");
    }

    private static boolean j() {
        return g("com.mopub.mobileads.StartAppCustomEventInterstitial");
    }

    public static boolean c() {
        return com.startapp.android.publish.g.a().a("Unity") != null;
    }

    private static boolean k() {
        return g("org.apache.cordova.CordovaPlugin");
    }

    private static boolean l() {
        return g("anywheresoftware.b4a.BA");
    }

    private static boolean g(String str) {
        try {
            Class.forName(str);
            return true;
        } catch (ClassNotFoundException e2) {
            return false;
        } catch (Exception e3) {
            return false;
        }
    }

    public static boolean a(Activity activity) {
        boolean z = activity.getTheme().obtainStyledAttributes(new int[]{R.attr.windowFullscreen}).getBoolean(0, false);
        if ((activity.getWindow().getAttributes().flags & 1024) != 0) {
            return true;
        }
        return z;
    }

    public static String a(Context context, String str) {
        try {
            return context.getResources().getString(context.getApplicationInfo().labelRes);
        } catch (Resources.NotFoundException e2) {
            PackageManager packageManager = context.getPackageManager();
            ApplicationInfo applicationInfo = null;
            try {
                applicationInfo = packageManager.getApplicationInfo(context.getApplicationInfo().packageName, 0);
            } catch (PackageManager.NameNotFoundException e3) {
            }
            return (String) (applicationInfo != null ? packageManager.getApplicationLabel(applicationInfo) : str);
        }
    }

    public static boolean a(Context context) {
        if (com.startapp.android.publish.e.OVERRIDE_HOST != null || com.startapp.android.publish.e.OVERRIDE_NETWORK.booleanValue()) {
            return true;
        }
        if (com.startapp.android.publish.i.b.a(context, "android.permission.ACCESS_NETWORK_STATE")) {
            try {
                NetworkInfo activeNetworkInfo = ((ConnectivityManager) context.getSystemService("connectivity")).getActiveNetworkInfo();
                if (activeNetworkInfo != null) {
                    if (activeNetworkInfo.isConnected()) {
                        return true;
                    }
                }
            } catch (Exception e2) {
                com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.isNetworkAvailable - system service failed", e2.getMessage(), "");
                return false;
            }
        }
        return false;
    }

    public static void a(SharedPreferences.Editor editor) {
        com.startapp.android.publish.i.b.a(editor);
    }

    public static String a(String str, String str2, String str3) {
        int indexOf;
        int indexOf2;
        if (str == null || str2 == null || str3 == null || (indexOf = str.indexOf(str2)) == -1 || (indexOf2 = str.indexOf(str3, str2.length() + indexOf)) == -1) {
            return null;
        }
        return str.substring(str2.length() + indexOf, indexOf2);
    }

    public static void a(List<NameValueObject> list, String str, Object obj, boolean z) {
        a(list, str, obj, z, true);
    }

    public static void a(List<NameValueObject> list, String str, Object obj, boolean z, boolean z2) {
        if (z && obj == null) {
            throw new s("Required key: [" + str + "] is missing", null);
        }
        if (obj != null && !obj.toString().equals("")) {
            try {
                NameValueObject nameValueObject = new NameValueObject();
                nameValueObject.setName(str);
                String obj2 = obj.toString();
                if (z2) {
                    obj2 = URLEncoder.encode(obj2, WebRequest.CHARSET_UTF_8);
                }
                nameValueObject.setValue(obj2);
                list.add(nameValueObject);
            } catch (UnsupportedEncodingException e2) {
                if (z) {
                    throw new s("failed encoding value: [" + obj + "]", e2);
                }
            }
        }
    }

    public static void a(List<NameValueObject> list, String str, Set<String> set, boolean z) {
        if (z && set == null) {
            throw new s("Required key: [" + str + "] is missing", null);
        }
        if (set != null) {
            NameValueObject nameValueObject = new NameValueObject();
            nameValueObject.setName(str);
            HashSet hashSet = new HashSet();
            Iterator<String> it = set.iterator();
            while (it.hasNext()) {
                try {
                    hashSet.add(URLEncoder.encode(it.next(), WebRequest.CHARSET_UTF_8));
                } catch (UnsupportedEncodingException e2) {
                }
            }
            if (z && hashSet.size() == 0) {
                throw new s("failed encoding value: [" + set + "]", null);
            }
            nameValueObject.setValueSet(hashSet);
            list.add(nameValueObject);
        }
    }

    public static String a(Set<String> set, String str) {
        if (set == null) {
            throw new s("Values set cant be empty or null", null);
        }
        if (set.isEmpty()) {
            return "";
        }
        StringBuilder sb = new StringBuilder();
        Iterator<String> it = set.iterator();
        while (it.hasNext()) {
            sb.append(it.next() + str);
        }
        return sb.toString().substring(0, sb.length() - 1);
    }

    public static String b(Context context) {
        if (context.getResources().getConfiguration().orientation == 2) {
            return "landscape";
        }
        if (context.getResources().getConfiguration().orientation == 1) {
            return DeviceInfo.ORIENTATION_PORTRAIT;
        }
        return "undefined";
    }

    public static int a(Activity activity, int i, boolean z) {
        if (z) {
            if (!b.containsKey(activity)) {
                b.put(activity, Integer.valueOf(activity.getRequestedOrientation()));
            }
            if (i == activity.getResources().getConfiguration().orientation) {
                return com.startapp.android.publish.i.b.a(activity, i, false);
            }
            return com.startapp.android.publish.i.b.a(activity, i, true);
        }
        if (!b.containsKey(activity)) {
            return -1;
        }
        int intValue = b.get(activity).intValue();
        activity.setRequestedOrientation(intValue);
        b.remove(activity);
        return intValue;
    }

    public static void a(Activity activity, boolean z) {
        a(activity, activity.getResources().getConfiguration().orientation, z);
    }

    public static int a(String str) {
        return Integer.parseInt(str.split("&")[r0.length - 1].split("=")[1]);
    }

    public static void a(List<com.startapp.android.publish.d> list, List<String> list2) {
        n.a(3, "in getAppPresenceDParameter()");
        ArrayList arrayList = new ArrayList();
        ArrayList arrayList2 = new ArrayList();
        for (com.startapp.android.publish.d dVar : list) {
            if (!dVar.c()) {
                String h = h(dVar.a());
                if (dVar.d()) {
                    arrayList.add("d=" + h);
                } else {
                    arrayList2.add("d=" + h);
                }
            }
        }
        n.a(3, "appPresence tracking size = " + arrayList.size() + " normal size = " + arrayList2.size());
        if (!arrayList.isEmpty()) {
            list2.addAll(a(arrayList, "false", "true"));
        }
        if (!arrayList2.isEmpty()) {
            list2.addAll(a(arrayList2, "false", "false"));
        }
    }

    private static String h(String str) {
        return str.split("tracking/adImpression[?]d=")[1];
    }

    private static List<String> a(List<String> list, String str, String str2) {
        ArrayList arrayList = new ArrayList();
        for (int i = 0; i < list.size(); i += 5) {
            arrayList.add(com.startapp.android.publish.e.f + "?" + TextUtils.join("&", list.subList(i, Math.min(i + 5, list.size()))) + "&isShown=" + str + (str2 != null ? "&appPresence=" + str2 : ""));
        }
        n.a(3, "newUrlList size = " + arrayList.size());
        return arrayList;
    }

    public static void a(Context context, String[] strArr, String str, String str2) {
        a(context, strArr, str, 0, str2);
    }

    public static void a(Context context, String[] strArr, String str, int i, String str2) {
        v nonImpressionReason = new v(str).setOffset(i).setNonImpressionReason(str2);
        if (strArr != null) {
            for (String str3 : strArr) {
                if (str3 != null && !str3.equalsIgnoreCase("")) {
                    n.a(3, "Sending Impression: [" + str3 + "]");
                    a(context, str3, nonImpressionReason, false);
                }
            }
        }
    }

    public static void a(Context context, String str, v vVar) {
        if (str != null && !str.equalsIgnoreCase("")) {
            n.a(3, "Sending Impression: [" + str + "]");
            a(context, str, vVar, true);
        }
    }

    public static void a(Context context, String[] strArr, v vVar) {
        if (strArr != null) {
            for (String str : strArr) {
                a(context, str, vVar);
            }
        }
    }

    public static final void a(Context context, String str, String str2, v vVar, boolean z) {
        if (str2 != null && !str2.equals("")) {
            b(context, str2, vVar);
        }
        com.startapp.android.publish.g.a().b();
        String str3 = null;
        try {
            str3 = a(str, str2);
        } catch (Exception e2) {
            com.startapp.android.publish.d.d.a(context, b.a.FAILED_EXTRACTING_DPARAMS, "Util.clickWithoutSmartRedirect(): Couldn't extract dparams with clickUrl " + str + " and tacking click url " + str2, e2.getMessage(), null);
            n.a(6, "Cannot start activity to handle url: [" + str + "]");
        }
        String str4 = "InAppBrowser";
        try {
            if (MetaData.getInstance().isInAppBrowser() && z) {
                b(context, str, str3);
            } else {
                str4 = "externalBrowser";
                c(context, str);
            }
        } catch (Exception e3) {
            com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.clickWithoutSmartRedirect - Couldn't start activity for " + str4, e3.getMessage(), str3);
            n.a(6, "Cannot start activity to handle url: [" + str + "]");
        }
    }

    public static final void a(Context context, String str, String str2, String str3, v vVar, long j, boolean z) {
        a(context, str, str2, str3, vVar, j, z, null);
    }

    public static final void a(Context context, String str, String str2, String str3, v vVar, long j, boolean z, Runnable runnable) {
        com.startapp.android.publish.g.a().b();
        String str4 = null;
        try {
            str4 = a(str, str2);
        } catch (Exception e2) {
            com.startapp.android.publish.d.d.a(context, b.a.FAILED_EXTRACTING_DPARAMS, "Util.clickWithSmartRedirect(): Couldn't extract dparams with clickUrl " + str + " and tacking click url " + str2, e2.getMessage(), null);
            n.a(6, "Cannot start activity to handle url: [" + str + "]");
        }
        if (str2 != null && !str2.equals("")) {
            b(context, str2, vVar);
        }
        a(context, str + (MetaData.getInstance().isDisableTwoClicks() ? d.a(str4) : ""), str3, str4, j, z, runnable);
    }

    public static void b(Context context, String str, v vVar) {
        a(context, str, vVar, true);
    }

    private static void a(final Context context, final String str, final v vVar, final boolean z) {
        if (!str.equals("")) {
            c.execute(new Runnable() {
                @Override
                public void run() {
                    try {
                        if (z) {
                            com.startapp.android.publish.h.c.a(context, str + vVar.getQueryString() + d.a(x.b(str)), null);
                        } else {
                            com.startapp.android.publish.h.c.a(context, str + vVar.getQueryString(), null);
                        }
                    } catch (s e2) {
                        com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.sendTrackingMessage - Error sending tracking message", e2.getMessage(), x.b(str));
                        n.a(6, "Error sending tracking message", e2);
                    }
                }
            });
        }
    }

    public static void b(final Context context, final String str) {
        c.execute(new Runnable() {
            @Override
            public void run() {
                try {
                    com.startapp.android.publish.h.c.a(context, str, null);
                } catch (s e2) {
                    com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.sendTrackingMessage - Error sending tracking message", e2.getMessage(), "");
                    n.a(6, "Error sending tracking message", e2);
                }
            }
        });
    }

    private static final void a(Context context, String str, String str2, String str3, long j, boolean z, Runnable runnable) {
        l.a(context).a(new Intent("com.startapp.android.OnClickCallback"));
        if (i(str)) {
            if (str2 != null && !str2.equals("") && !str.toLowerCase().contains(str2.toLowerCase())) {
                com.startapp.android.publish.d.d.a(context, b.a.WRONG_PACKAGE_REACHED, "Wrong package name reached", "Expected: " + str2 + " Link: " + str, str3);
            }
            a(context, str, str3);
            if (runnable != null) {
                runnable.run();
                return;
            }
            return;
        }
        if (context instanceof Activity) {
            a((Activity) context, true);
        }
        try {
            final WebView webView = new WebView(context);
            if (d == null && (context instanceof Activity) && !((Activity) context).isFinishing()) {
                d = ProgressDialog.show(context, null, "Loading....", false, false, new DialogInterface.OnCancelListener() {
                    @Override
                    public void onCancel(DialogInterface dialog) {
                        webView.stopLoading();
                    }
                });
                d.setCancelable(false);
            }
            webView.getSettings().setJavaScriptEnabled(true);
            webView.setWebChromeClient(new WebChromeClient());
            webView.setWebViewClient(new b(context, j, z, d, str, str2, str3, runnable));
            webView.loadUrl(str);
        } catch (Exception e2) {
            com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.smartRedirect - Webview failed", e2.getMessage(), str3);
            a(context, str, str3);
            if (runnable != null) {
                runnable.run();
            }
        }
    }

    public static boolean i(String str) {
        return str.startsWith("market") || str.startsWith("http://play.google.com") || str.startsWith("https://play.google.com");
    }

    public static final void c(Context context) {
        if (context != null && (context instanceof Activity)) {
            a((Activity) context, false);
        }
        d();
    }

    public static final void d() {
        m();
    }

    private static void m() {
        if (d != null) {
            synchronized (d) {
                if (d != null && d.isShowing()) {
                    try {
                        d.cancel();
                    } catch (Exception e2) {
                        n.a(6, "Error while cancelling progress", e2);
                    }
                    d = null;
                }
            }
        }
    }

    public static class b extends WebViewClient {
        private String a;
        private String b;
        private long e;
        private boolean f;
        private String g;
        private ProgressDialog h;
        private Runnable i;
        private Context m;
        private boolean c = false;
        private boolean d = false;
        private boolean j = false;
        private boolean k = false;
        private List<String> l = new ArrayList();

        public b(Context context, long j, boolean z, ProgressDialog progressDialog, String str, String str2, String str3, Runnable runnable) {
            this.a = "";
            this.f = true;
            this.m = context;
            this.e = j;
            this.f = z;
            this.h = progressDialog;
            this.a = str;
            this.g = str2;
            this.b = str3;
            this.i = runnable;
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            n.a(2, "MyWebViewClientSmartRedirect::onPageStarted - [" + url + "]");
            super.onPageStarted(view, url, favicon);
            if (!this.d) {
                a();
                this.d = true;
            }
            this.k = false;
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            n.a(2, "MyWebViewClientSmartRedirect::shouldOverrideUrlLoading - [" + url + "]");
            try {
                this.a = url;
                this.l.add(this.a);
                if (!x.i(url.toLowerCase())) {
                    return false;
                }
                if (this.j) {
                    return true;
                }
                this.c = true;
                x.c(this.m);
                x.c(this.m, url);
                if (this.g != null && !this.g.equals("") && !this.a.toLowerCase().contains(this.g.toLowerCase())) {
                    com.startapp.android.publish.d.d.a(this.m, b.a.WRONG_PACKAGE_REACHED, "Wrong package name reached", "Expected: " + this.g + " Link: " + this.a, this.b);
                } else if (Math.random() * 100.0d < MetaData.getInstance().getAnalyticsConfig().e()) {
                    com.startapp.android.publish.d.d.a(this.m, b.a.SUCCEEDED_SMART_REDIRECT, "Smart redirect succeeded", this.l.toString(), this.b);
                }
                if (this.i == null) {
                    return true;
                }
                this.i.run();
                return true;
            } catch (Exception e) {
                n.a(6, "StartAppWall.UtilExcpetion - view to attached to window - Load Progress");
                return true;
            }
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            n.a(2, "MyWebViewClientSmartRedirect::onPageFinished - [" + url + "]");
            if (!this.c && !this.j && this.a.equals(url) && url != null && !x.i(url) && (url.startsWith("http://") || url.startsWith("https://"))) {
                this.k = true;
            }
            super.onPageFinished(view, url);
        }

        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            n.a(2, "MyWebViewClientSmartRedirect::onReceivedError - [" + description + "], [" + failingUrl + "]");
            if (failingUrl != null && !x.i(failingUrl) && (failingUrl.startsWith("http://") || failingUrl.startsWith("https://"))) {
                com.startapp.android.publish.d.d.a(this.m, b.a.FAILED_SMART_REDIRECT, Integer.toString(errorCode), failingUrl, this.b);
            }
            super.onReceivedError(view, errorCode, description, failingUrl);
        }

        private void a() {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(b.this.e);
                    } catch (InterruptedException e) {
                    }
                    if (!b.this.c) {
                        if (b.this.k) {
                            com.startapp.android.publish.d.d.a(b.this.m, b.a.FAILED_SMART_REDIRECT, "Timeout - Page Finished", b.this.a, b.this.b);
                        } else {
                            com.startapp.android.publish.d.d.a(b.this.m, b.a.FAILED_SMART_REDIRECT, "Timeout", b.this.a, b.this.b);
                        }
                        b.this.j = true;
                        x.c(b.this.m);
                        if (!b.this.f || !MetaData.getInstance().isInAppBrowser()) {
                            x.a(b.this.m, b.this.a, b.this.b);
                        } else {
                            x.b(b.this.m, b.this.a, b.this.b);
                        }
                        if (b.this.i != null) {
                            b.this.i.run();
                        }
                    }
                }
            }).start();
        }
    }

    public static void c(Context context, String str) {
        a(context, str, (String) null);
    }

    public static void a(Context context, String str, String str2) {
        Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(str));
        intent.addFlags(76021760);
        if (MetaData.getInstance().isDisableInAppStore() || !(context instanceof Activity)) {
            intent.addFlags(268435456);
        }
        a(context, intent);
        try {
            context.startActivity(intent);
        } catch (Exception e2) {
            com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.openUrlExternally - Couldn't start activity", e2.getMessage(), str2);
            n.a(6, "Cannot find activity to handle url: [" + str + "]");
        }
    }

    public static void b(Context context, String str, String str2) {
        if (i(str) || !a(context, (Class<? extends Activity>) OverlayActivity.class)) {
            a(context, str, str2);
            return;
        }
        Intent intent = new Intent(context, (Class<?>) OverlayActivity.class);
        intent.addFlags(524288);
        intent.addFlags(32768);
        intent.setData(Uri.parse(str));
        intent.putExtra("placement", AdPreferences.Placement.INAPP_BROWSER.getIndex());
        intent.putExtra("activityShouldLockOrientation", false);
        try {
            context.startActivity(intent);
        } catch (Exception e2) {
            com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.OpenAsInAppBrowser - Couldn't start activity", e2.getMessage(), str2);
            n.a(6, "Cannot find activity to handle url: [" + str + "]");
        }
    }

    public static void a(Context context, AdPreferences adPreferences) {
        String a2 = j.a(context, "shared_prefs_devId", (String) null);
        String a3 = j.a(context, "shared_prefs_appId", (String) null);
        if (adPreferences.getPublisherId() == null) {
            adPreferences.setPublisherId(a2);
        }
        if (adPreferences.getProductId() == null) {
            if (a3 == null) {
            }
            adPreferences.setProductId(a3);
        }
        if (adPreferences.getProductId() == null && !e) {
            e = true;
            Log.e("StartApp", "Integration Error - App ID is missing");
        }
    }

    public static void c(Context context, String str, String str2) {
        if (str != null) {
            j.b(context, "shared_prefs_devId", str.trim());
        } else {
            j.b(context, "shared_prefs_devId", (String) null);
        }
        j.b(context, "shared_prefs_appId", str2.trim());
    }

    public static String e() {
        return "&position=" + f();
    }

    public static String f() {
        StackTraceElement[] stackTrace = new Throwable().getStackTrace();
        for (int i = 0; i < 8; i++) {
            if (stackTrace[i].getMethodName().compareTo("doHome") == 0) {
                return "home";
            }
            if (stackTrace[i].getMethodName().compareTo("onBackPressed") == 0) {
                if (com.startapp.android.publish.g.a().f() || c()) {
                    com.startapp.android.publish.g.a().i();
                    return "back";
                }
                return AdType.INTERSTITIAL;
            }
        }
        return AdType.INTERSTITIAL;
    }

    public static void a(Context context, String str, final a aVar) {
        try {
            final WebView webView = new WebView(context);
            final Handler handler = new Handler();
            if (com.startapp.android.publish.e.OVERRIDE_NETWORK.booleanValue()) {
                f = 20000;
                webView.getSettings().setBlockNetworkImage(false);
                webView.getSettings().setLoadsImagesAutomatically(true);
                webView.getSettings().setJavaScriptEnabled(true);
            } else {
                f = 0;
            }
            webView.setWebChromeClient(new WebChromeClient());
            webView.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    n.a("StartAppWall.Util", 4, "onPageFinished url=[" + url + "]");
                    handler.removeCallbacksAndMessages(null);
                    handler.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            webView.destroy();
                            n.a("StartAppWall.Util", 4, "webview destroyed");
                            aVar.a();
                        }
                    }, x.f);
                }

                @Override
                public void onReceivedError(final WebView view, int errorCode, final String description, String failingUrl) {
                    super.onReceivedError(view, errorCode, description, failingUrl);
                    n.a("StartAppWall.Util", 6, "onReceivedError failingUrl=[" + failingUrl + "], description=[" + description + "]");
                    handler.removeCallbacksAndMessages(null);
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            view.destroy();
                            aVar.a(description);
                        }
                    });
                }

                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    n.a("StartAppWall.Util", 4, "shouldOverrideUrlLoading url=[" + url + "]");
                    return super.shouldOverrideUrlLoading(view, url);
                }
            });
            a(webView, str);
            n.a("StartAppWall.Util", 4, "Data loaded to webview");
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    webView.destroy();
                    aVar.a();
                    n.a("StartAppWall.Util", 4, "webview destroyed pos 2");
                }
            }, TapjoyConstants.TIMER_INCREMENT);
        } catch (Exception e2) {
            com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.loadHtmlToCacheWebView - webview failed", e2.getMessage(), "");
            aVar.a("WebView instantiation Error");
        }
    }

    public static void a(WebView webView, String str) {
        try {
            webView.loadDataWithBaseURL("http://www.startappexchange.com", str, WebRequest.CONTENT_TYPE_HTML, "utf-8", null);
        } catch (Exception e2) {
            n.a(6, "StartAppWall.UtilError while encoding html");
        }
    }

    public static void d(Context context) {
        j.b(context, "shared_prefs_simple_token", t.a(context));
    }

    public static String e(Context context) {
        StringBuffer stringBuffer = new StringBuffer();
        if (MetaData.getInstance().getAdInformationConfig().g().a(context)) {
            stringBuffer.append(j.a(context, "shared_prefs_simple_token", ""));
        }
        return stringBuffer.toString();
    }

    public static void a(String str, String str2, String str3, Context context, v vVar) {
        a(context, str3, vVar, true);
        Intent launchIntentForPackage = context.getPackageManager().getLaunchIntentForPackage(str);
        if (str2 != null) {
            try {
                JSONObject jSONObject = new JSONObject(str2);
                Iterator<String> keys = jSONObject.keys();
                while (keys.hasNext()) {
                    String valueOf = String.valueOf(keys.next());
                    launchIntentForPackage.putExtra(valueOf, String.valueOf(jSONObject.get(valueOf)));
                }
            } catch (JSONException e2) {
                n.a(6, "Couldn't parse intent details json!", e2);
            }
        }
        try {
            context.startActivity(launchIntentForPackage);
        } catch (Exception e3) {
            com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.handleCPEClick - Couldn't start activity", e3.getMessage(), a(str3, (String) null));
            n.a(6, "Cannot find activity to handle url: [" + str3 + "]");
        }
    }

    public static String f(Context context) {
        Intent intent = new Intent();
        intent.setAction("android.intent.action.MAIN");
        intent.addCategory("android.intent.category.HOME");
        ResolveInfo resolveActivity = context.getPackageManager().resolveActivity(intent, 0);
        if (resolveActivity == null || resolveActivity.activityInfo == null) {
            return "";
        }
        String str = resolveActivity.activityInfo.packageName;
        if (str != null) {
            return str.toLowerCase();
        }
        return str;
    }

    public static void a(Context context, Intent intent) {
        for (ResolveInfo resolveInfo : context.getPackageManager().queryIntentActivities(intent, 0)) {
            if (resolveInfo.activityInfo.packageName.equalsIgnoreCase(com.startapp.android.publish.e.i)) {
                intent.setComponent(new ComponentName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name));
            }
        }
    }

    public static boolean a(AdPreferences adPreferences, String str) {
        Object a2 = a(adPreferences.getClass(), str, adPreferences);
        if (a2 == null || !(a2 instanceof Boolean)) {
            return false;
        }
        return ((Boolean) a2).booleanValue();
    }

    public static String b(AdPreferences adPreferences, String str) {
        Object a2 = a(adPreferences.getClass(), str, adPreferences);
        if (a2 == null || !(a2 instanceof String)) {
            return null;
        }
        return (String) a2;
    }

    public static Ad.AdType c(AdPreferences adPreferences, String str) {
        Object a2 = a(adPreferences.getClass(), str, adPreferences);
        if (a2 == null || !(a2 instanceof Ad.AdType)) {
            return null;
        }
        return (Ad.AdType) a2;
    }

    public static void a(AdPreferences adPreferences, String str, boolean z) {
        a(adPreferences.getClass(), str, adPreferences, Boolean.valueOf(z));
    }

    public static void a(AdPreferences adPreferences, String str, Ad.AdType adType) {
        a(adPreferences.getClass(), str, adPreferences, adType);
    }

    private static Object a(Class cls, String str, Object obj) {
        try {
            Field declaredField = cls.getDeclaredField(str);
            declaredField.setAccessible(true);
            return declaredField.get(obj);
        } catch (IllegalAccessException e2) {
            n.a("StartAppWall.Util", 6, e2.getLocalizedMessage());
            return null;
        } catch (IllegalArgumentException e3) {
            n.a("StartAppWall.Util", 6, e3.getLocalizedMessage());
            return null;
        } catch (NoSuchFieldException e4) {
            n.a("StartAppWall.Util", 6, e4.getLocalizedMessage());
            return null;
        }
    }

    private static void a(Class cls, String str, Object obj, Object obj2) {
        try {
            Field declaredField = cls.getDeclaredField(str);
            declaredField.setAccessible(true);
            declaredField.set(obj, obj2);
        } catch (IllegalAccessException e2) {
            e2.printStackTrace();
        } catch (IllegalArgumentException e3) {
            e3.printStackTrace();
        } catch (NoSuchFieldException e4) {
            e4.printStackTrace();
        }
    }

    public static String b(String str) {
        return a(str, (String) null);
    }

    public static String a(String str, String str2) {
        String str3;
        if (str2 != null && !str2.equals("")) {
            str3 = str2.split("[?&]d=")[1];
        } else {
            str3 = str.split("[?&]d=")[1];
        }
        return str3.split("[?&]")[0];
    }

    public static String[] a(com.startapp.android.publish.f fVar) {
        if (fVar instanceof com.startapp.android.publish.a.c) {
            return ((com.startapp.android.publish.a.c) fVar).getTrackingUrls();
        }
        if (fVar instanceof com.startapp.android.publish.a.e) {
            return a(((com.startapp.android.publish.a.e) fVar).b());
        }
        return new String[0];
    }

    public static String[] a(List<AdDetails> list) {
        ArrayList arrayList = new ArrayList();
        if (list != null) {
            Iterator<AdDetails> it = list.iterator();
            while (it.hasNext()) {
                arrayList.add(it.next().getTrackingUrl());
            }
        }
        return (String[]) arrayList.toArray(new String[0]);
    }

    public static String g(Context context) {
        return context.getPackageManager().getInstallerPackageName(context.getPackageName());
    }

    public static void a(WebView webView, String str, Object... objArr) {
        if (webView != null) {
            StringBuilder sb = new StringBuilder();
            sb.append(str);
            sb.append("(");
            if (objArr != null) {
                for (int i = 0; i < objArr.length; i++) {
                    if (objArr[i] instanceof String) {
                        sb.append("\"").append(objArr[i]).append("\"");
                    } else {
                        sb.append(objArr[i]);
                    }
                    if (i < objArr.length - 1) {
                        sb.append(",");
                    }
                }
            }
            sb.append(")");
            n.a("StartAppWall.Util", 3, "runJavascript: " + sb.toString());
            webView.loadUrl("javascript:" + sb.toString());
        }
    }

    public static Class<?> a(Context context, Class<? extends Activity> cls, Class<? extends Activity> cls2) {
        if (a(context, cls) || !a(context, cls2)) {
            return cls;
        }
        Log.w("StartAppWall.Util", "Expected activity " + cls.getName() + " is missing from AndroidManifest.xml");
        return cls2;
    }

    public static boolean a(Context context, Class<? extends Activity> cls) {
        try {
            for (ActivityInfo activityInfo : context.getPackageManager().getPackageInfo(context.getPackageName(), 1).activities) {
                if (activityInfo.name.equals(cls.getName())) {
                    return true;
                }
            }
        } catch (Exception e2) {
        }
        return false;
    }

    public static boolean h(Context context) {
        try {
            ActivityInfo[] activityInfoArr = context.getPackageManager().getPackageInfo(context.getPackageName(), 1).activities;
            int i = 0;
            boolean z = false;
            while (!z) {
                try {
                    if (i < activityInfoArr.length) {
                        int i2 = i + 1;
                        ActivityInfo activityInfo = activityInfoArr[i];
                        if (activityInfo.name.equals("com.startapp.android.publish.AppWallActivity") || activityInfo.name.equals("com.startapp.android.publish.OverlayActivity") || activityInfo.name.equals("com.startapp.android.publish.FullScreenActivity")) {
                            z = (activityInfo.flags & 512) == 0;
                        }
                        i = i2;
                    } else {
                        return z;
                    }
                } catch (PackageManager.NameNotFoundException e2) {
                    return z;
                } catch (Exception e3) {
                    return z;
                }
            }
            return z;
        } catch (PackageManager.NameNotFoundException e4) {
            return false;
        } catch (Exception e5) {
            return false;
        }
    }

    public static boolean g() {
        return c("com.google.android.gms.ads.identifier.AdvertisingIdClient");
    }

    public static boolean c(String str) {
        try {
            Class.forName(str);
            return true;
        } catch (ClassNotFoundException e2) {
            return false;
        }
    }

    public static String i(Context context) {
        try {
            return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
        } catch (PackageManager.NameNotFoundException e2) {
            return null;
        } catch (Exception e3) {
            return null;
        }
    }

    public static int j(Context context) {
        try {
            return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;
        } catch (PackageManager.NameNotFoundException e2) {
            return 0;
        } catch (Exception e3) {
            return 0;
        }
    }

    public static String d(String str) {
        int hashCode = a.hashCode();
        long hashCode2 = str.getBytes().hashCode();
        if (hashCode > hashCode2) {
            long j = ((hashCode2 * 29509871405L) + 11) & 16777215;
            int i = (int) (j >>> 17);
            if (hashCode >= 1000) {
                int i2 = i % hashCode;
            } else if (((-hashCode) & hashCode) == j) {
            }
        }
        try {
            return Base64.encodeToString(a(a(str.getBytes(), new String(a).substring(a[5], a[33]).getBytes()), new String(a).substring(a[35], a[1]).getBytes()), 0);
        } catch (Exception e2) {
            return str;
        }
    }

    public static String a(String str, Context context) {
        String str2;
        try {
            try {
                str2 = context.getPackageManager().getApplicationInfo(context.getPackageName(), 128).sourceDir;
            } catch (PackageManager.NameNotFoundException e2) {
                str2 = null;
            }
            if (str2 != null) {
                return b(str2, str);
            }
            return null;
        } catch (Exception e3) {
            com.startapp.android.publish.d.d.a(context, b.a.EXCEPTION, "Util.getApkHash - system service failed", e3.getMessage(), "");
            return null;
        }
    }

    public static String b(String str, String str2) {
        StringBuilder sb = new StringBuilder();
        try {
            FileInputStream fileInputStream = new FileInputStream(str);
            byte[] bArr = new byte[1024];
            MessageDigest messageDigest = MessageDigest.getInstance(str2);
            int i = 0;
            while (i != -1) {
                i = fileInputStream.read(bArr);
                if (i > 0) {
                    messageDigest.update(bArr, 0, i);
                }
            }
            fileInputStream.close();
            for (byte b2 : messageDigest.digest()) {
                sb.append(Integer.toString((b2 & Constants.UNKNOWN) + 256, 16).substring(1));
            }
        } catch (Exception e2) {
        }
        String sb2 = sb.toString();
        if (sb2 != null) {
            return sb2.toUpperCase();
        }
        return null;
    }

    public static byte[] a(byte[] bArr, byte[] bArr2) {
        byte[] bArr3 = new byte[bArr.length];
        for (int i = 0; i < bArr.length; i++) {
            bArr3[i] = (byte) (bArr[i] ^ bArr2[i % bArr2.length]);
        }
        return bArr3;
    }

    public static byte[] a(byte[] bArr, int i) {
        byte[] bArr2 = new byte[Math.min(bArr.length, i)];
        for (int i2 = 0; i2 < bArr.length; i2++) {
            int i3 = i2 % i;
            bArr2[i3] = (byte) (bArr2[i3] ^ bArr[i2]);
        }
        return bArr2;
    }

    public static long a(File file, long j) {
        return com.startapp.android.publish.i.b.a(file, j);
    }

    public static boolean a(Context context, String str, int i) {
        try {
            return context.getPackageManager().getPackageInfo(str, 128).versionCode >= i;
        } catch (PackageManager.NameNotFoundException e2) {
            return false;
        } catch (Exception e3) {
            return false;
        }
    }

    public static String a(Context context, int i) {
        try {
            Bitmap decodeResource = BitmapFactory.decodeResource(context.getResources(), i);
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            decodeResource.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
            return Base64.encodeToString(byteArrayOutputStream.toByteArray(), 2);
        } catch (Exception e2) {
            return "";
        }
    }
}