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

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


package com.cmcm.utils;

import android.content.ComponentCallbacks;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import com.cmcm.adsdk.CMAdManager;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;

public class h extends ContextWrapper {
    public h(Context context) {
        super(context);
    }

    private List<ResolveInfo> a(Intent intent) {
        List<ResolveInfo> list;
        PackageManager packageManager = getPackageManager();
        if (packageManager == null) {
            return null;
        }
        try {
            list = packageManager.queryIntentActivities(intent, 0);
            if (list == null) {
                return null;
            }
        } catch (Exception e) {
            list = null;
        }
        return list;
    }

    private ResolveInfo a(List<ResolveInfo> list) {
        if (list == null) {
            return null;
        }
        for (ResolveInfo resolveInfo : list) {
            if (resolveInfo != null && resolveInfo.isDefault) {
                return resolveInfo;
            }
        }
        return null;
    }

    private void a(Intent intent, String str) {
        boolean z;
        List<ResolveInfo> a = a(intent);
        if (a != null) {
            ResolveInfo a2 = a(a);
            if (a2 != null) {
                intent.setClassName(a2.activityInfo.packageName, a2.activityInfo.name);
                return;
            }
            Iterator<ResolveInfo> it = a.iterator();
            while (true) {
                if (!it.hasNext()) {
                    z = false;
                    break;
                }
                ResolveInfo next = it.next();
                if (next.activityInfo != null && next.activityInfo.packageName.equalsIgnoreCase(str)) {
                    intent.setClassName(next.activityInfo.packageName, next.activityInfo.name);
                    z = true;
                    break;
                }
            }
            if (!z) {
                ResolveInfo resolveInfo = a.get(0);
                intent.setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name);
            }
        }
    }

    @Override
    public void startActivity(Intent intent) {
        if (intent == null) {
            super.startActivity(intent);
            return;
        }
        Uri data = intent.getData();
        intent.addFlags(268435456);
        intent.addFlags(65536);
        Intent intent2 = new Intent(intent);
        if (data != null) {
            try {
                if (data.toString() != null) {
                    String lowerCase = data.toString().toLowerCase(Locale.getDefault());
                    if (!intent.getAction().equals("android.intent.action.VIEW")) {
                        throw new Exception("not view action");
                    }
                    if (lowerCase.startsWith("http://") || lowerCase.startsWith("https://")) {
                        if (lowerCase.startsWith("https://play.google.com/store/apps/details") || lowerCase.startsWith("http://play.google.com/store/apps/details")) {
                            a(intent, "com.android.vending");
                        } else {
                            a(intent, "com.android.browser");
                        }
                    } else if (lowerCase.startsWith("market://")) {
                        a(intent, "com.android.vending");
                    }
                    super.startActivity(intent);
                    return;
                }
            } catch (Exception e) {
                super.startActivity(intent2);
                return;
            }
        }
        throw new Exception("null uri");
    }

    @Override
    public void registerComponentCallbacks(ComponentCallbacks callback) {
        CMAdManager.getContext().registerComponentCallbacks(callback);
    }

    @Override
    public void unregisterComponentCallbacks(ComponentCallbacks callback) {
        CMAdManager.getContext().unregisterComponentCallbacks(callback);
    }

    @Override
    public Context getApplicationContext() {
        return this;
    }
}