PSP Dragon Emulator v1.0版本的 MD5 值为:c6379fb6b63c27b6a7d2f2f6f6f51637

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


package com.startapp.android.publish.common.commonUtils;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Handler;
import android.os.SystemClock;
import android.support.v4.app.NotificationCompat;
import android.util.Base64;
import android.util.Log;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.facebook.appevents.AppEventsConstants;
import com.facebook.internal.ServerProtocol;
import com.startapp.android.publish.GeneratedConstants;
import com.startapp.android.publish.common.Constants;
import com.startapp.android.publish.common.metaData.InfoEventService;
import com.startapp.android.publish.common.metaData.MetaData;
import com.startapp.android.publish.common.metaData.PeriodicMetaDataService;
import com.startapp.android.publish.common.model.AdPreferences;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.WeakHashMap;
import org.json.JSONObject;
public class r {
    protected static int b;
    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> c = new WeakHashMap();
    private static boolean d = false;

    public interface a {
        void a();

        void a(String str);
    }

    public static boolean a() {
        return new BigInteger(Constants.i, 10).intValue() == 0;
    }

    public static String b() {
        String str = GeneratedConstants.INAPP_VERSION;
        if (GeneratedConstants.INAPP_VERSION.equals("${version}")) {
            str = AppEventsConstants.EVENT_PARAM_VALUE_NO;
        }
        j.a(3, "SDK version: [" + str + "]");
        return str;
    }

    public static String c() {
        String str = GeneratedConstants.INAPP_FLAVOR;
        if (GeneratedConstants.INAPP_FLAVOR.equals("${flavor}")) {
            str = GeneratedConstants.INAPP_FLAVOR;
        }
        j.a(3, "SDK Flavor: [" + str + "]");
        return str;
    }

    public static boolean a(long j) {
        String str = Constants.i;
        return str.equals("${flavor}") || (j & new BigInteger(str, 2).longValue()) != 0;
    }

    public static boolean d() {
        return a(2L) || a(16L) || a(32L) || a(4L);
    }

    public static boolean a(Context context) {
        if (Constants.OVERRIDE_HOST != null || Constants.OVERRIDE_NETWORK.booleanValue()) {
            return true;
        }
        if (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 e) {
                com.startapp.android.publish.common.b.f.a(context, com.startapp.android.publish.common.b.d.EXCEPTION, "Util.isNetworkAvailable - system service failed", e.getMessage(), "");
                return false;
            }
        }
        return false;
    }

    public static void a(SharedPreferences.Editor editor) {
        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(indexOf + str2.length(), indexOf2);
    }

    public static long e() {
        return SystemClock.elapsedRealtime() + (MetaData.getInstance().getPeriodicMetaDataInterval() * 60000);
    }

    public static long f() {
        return SystemClock.elapsedRealtime() + (MetaData.getInstance().getPeriodicInfoEventIntervalInMinutes() * 60000);
    }

    public static void b(Context context) {
        a(context, Long.valueOf(e()));
    }

    public static void a(Context context, Long l) {
        j.a("StartAppWall.Util", 3, "setMetaDataPeriodicAlarm executes");
        if (com.startapp.android.publish.common.f.a(context, "periodicMetadataPaused", (Boolean) false).booleanValue() || !MetaData.getInstance().isPeriodicMetaDataEnabled()) {
            return;
        }
        a(context, PeriodicMetaDataService.class, l.longValue(), "periodicMetadataTriggerTime");
    }

    public static void c(Context context) {
        a(context, f());
    }

    public static void a(Context context, long j) {
        j.a("StartAppWall.Util", 3, "setInfoEventPeriodicAlarm executes");
        if (com.startapp.android.publish.common.f.a(context, "periodicInfoEventPaused", (Boolean) false).booleanValue() || !MetaData.getInstance().isPeriodicInfoEventEnabled()) {
            return;
        }
        a(context, InfoEventService.class, j, "periodicInfoEventTriggerTime");
    }

    private static void a(Context context, Intent intent, AlarmManager alarmManager) {
        PendingIntent service = PendingIntent.getService(context, 0, intent, 134217728);
        if (PendingIntent.getService(context, 0, intent, 268435456) != null) {
            alarmManager.cancel(service);
            service.cancel();
        }
    }

    private static void a(Context context, Class<?> cls, long j, String str) {
        try {
            AlarmManager alarmManager = (AlarmManager) context.getSystemService(NotificationCompat.CATEGORY_ALARM);
            Intent intent = new Intent(context, cls);
            a(context, intent, alarmManager);
            PendingIntent service = PendingIntent.getService(context, 0, intent, 134217728);
            com.startapp.android.publish.common.f.b(context, str, Long.valueOf(j));
            alarmManager.set(3, j, service);
        } catch (Exception e) {
            String simpleName = cls != null ? cls.getSimpleName() : "";
            com.startapp.android.publish.common.b.d dVar = com.startapp.android.publish.common.b.d.EXCEPTION;
            com.startapp.android.publish.common.b.f.a(context, dVar, "Util.setPeriodicAlarm - failed setting alarm " + simpleName, e.getMessage(), "");
        }
    }

    public static void a(Context context, Class<?> cls) {
        a(context, new Intent(context, cls), (AlarmManager) context.getSystemService(NotificationCompat.CATEGORY_ALARM));
    }

    public static String a(Set<String> set, String str) {
        if (set == null) {
            throw new com.startapp.android.publish.common.e("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 d(Context context) {
        return context.getResources().getConfiguration().orientation == 2 ? "landscape" : context.getResources().getConfiguration().orientation == 1 ? "portrait" : "undefined";
    }

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

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

    private static List<Field> a(Class cls) {
        return a((List<Field>) new LinkedList(), (Class<?>) cls);
    }

    private static List<Field> a(List<Field> list, Class<?> cls) {
        list.addAll(Arrays.asList(cls.getDeclaredFields()));
        if (cls.getSuperclass() != null) {
            a(list, (Class<?>) cls.getSuperclass());
        }
        return list;
    }

    public static <T> void a(T t, T t2) {
        try {
            for (Field field : a(t2.getClass())) {
                int modifiers = field.getModifiers();
                if (!Modifier.isTransient(modifiers) && !Modifier.isStatic(modifiers)) {
                    field.setAccessible(true);
                    if (field.get(t) == null) {
                        field.set(t, field.get(t2));
                    }
                }
            }
        } catch (Exception e) {
            j.a(3, "Util.mergeDefaultValues failed: " + e.getMessage());
        }
    }

    public static void a(Context context, AdPreferences adPreferences) {
        String a2 = com.startapp.android.publish.common.f.a(context, "shared_prefs_devId", (String) null);
        String a3 = com.startapp.android.publish.common.f.a(context, "shared_prefs_appId", (String) null);
        if (adPreferences.getPublisherId() == null) {
            adPreferences.setPublisherId(a2);
        }
        if (adPreferences.getProductId() == null) {
            adPreferences.setProductId(a3);
        }
        if (adPreferences.getProductId() != null || d) {
            return;
        }
        d = true;
        Log.e("StartApp", "Integration Error - App ID is missing");
    }

    public static void a(Context context, String str, String str2) {
        if (str != null) {
            com.startapp.android.publish.common.f.b(context, "shared_prefs_devId", str.trim());
        } else {
            com.startapp.android.publish.common.f.b(context, "shared_prefs_devId", (String) null);
        }
        com.startapp.android.publish.common.f.b(context, "shared_prefs_appId", str2.trim());
    }

    public static void a(Context context, String str, final a aVar) {
        if (ServerProtocol.DIALOG_RETURN_SCOPES_TRUE.equals(a(str, "@doNotRender@", "@doNotRender@"))) {
            aVar.a();
            return;
        }
        try {
            final WebView webView = new WebView(context);
            final Handler handler = new Handler();
            if (Constants.OVERRIDE_NETWORK.booleanValue()) {
                b = 25000;
                webView.getSettings().setBlockNetworkImage(false);
                webView.getSettings().setLoadsImagesAutomatically(true);
                webView.getSettings().setJavaScriptEnabled(true);
            } else {
                b = 0;
            }
            webView.setWebChromeClient(new WebChromeClient());
            webView.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView webView2, String str2) {
                    super.onPageFinished(webView2, str2);
                    j.a("StartAppWall.Util", 4, "onPageFinished url=[" + str2 + "]");
                    handler.removeCallbacksAndMessages(null);
                    handler.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            webView.destroy();
                            j.a("StartAppWall.Util", 4, "webview destroyed");
                            aVar.a();
                        }
                    }, (long) r.b);
                }

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

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

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

    public static String e(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;
        return str != null ? str.toLowerCase() : str;
    }

    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 void a(AdPreferences adPreferences, String str, boolean z) {
        a(adPreferences.getClass(), str, adPreferences, Boolean.valueOf(z));
    }

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

    public 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 e) {
            e.printStackTrace();
        } catch (IllegalArgumentException e2) {
            e2.printStackTrace();
        } catch (NoSuchFieldException e3) {
            e3.printStackTrace();
        }
    }

    public static String f(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("\"");
                        sb.append(objArr[i]);
                        sb.append("\"");
                    } else {
                        sb.append(objArr[i]);
                    }
                    if (i < objArr.length - 1) {
                        sb.append(",");
                    }
                }
            }
            sb.append(")");
            j.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 (b(context, cls) || !b(context, cls2)) {
            return cls;
        }
        Log.w("StartAppWall.Util", "Expected activity " + cls.getName() + " is missing from AndroidManifest.xml");
        return cls2;
    }

    public static boolean b(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 unused) {
        }
        return false;
    }

    public static boolean g(Context context) {
        for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : ((ActivityManager) context.getSystemService("activity")).getRunningAppProcesses()) {
            if (runningAppProcessInfo.importance == 100 && runningAppProcessInfo.processName.equals(context.getPackageName())) {
                return true;
            }
        }
        return false;
    }

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

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

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

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

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

    public static String b(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 = ((hashCode & (-hashCode)) > j ? 1 : ((hashCode & (-hashCode)) == j ? 0 : -1));
            } else {
                int i3 = i % hashCode;
            }
        }
        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 unused) {
            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 unused) {
                str2 = null;
            }
            if (str2 != null) {
                return a(str2, str);
            }
            return null;
        } catch (Exception e) {
            com.startapp.android.publish.common.b.f.a(context, com.startapp.android.publish.common.b.d.EXCEPTION, "Util.getApkHash - system service failed", e.getMessage(), "");
            return null;
        }
    }

    public static String a(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 & 255) + 256, 16).substring(1));
            }
        } catch (Exception unused) {
        }
        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 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 unused) {
            return false;
        } catch (Exception unused2) {
            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 unused) {
            return "";
        }
    }

    public static <T> T a(String str, Class<T> cls) {
        com.startapp.android.publish.common.c.a aVar;
        try {
            aVar = new com.startapp.android.publish.common.c.a(str);
            try {
                T t = (T) aVar.a(cls, (JSONObject) null);
                if (t == null) {
                    throw new com.startapp.android.publish.common.e();
                }
                try {
                    aVar.close();
                } catch (IOException unused) {
                }
                return t;
            } catch (Throwable th) {
                th = th;
                if (aVar != null) {
                    try {
                        aVar.close();
                    } catch (IOException unused2) {
                    }
                }
                throw th;
            }
        } catch (Throwable th2) {
            th = th2;
            aVar = null;
        }
    }
}