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