PSP Dragon Emulator v1.0版本的 MD5 值为:c6379fb6b63c27b6a7d2f2f6f6f51637
以下内容为反编译后的 IconAdsCreator.java 源代码,内容仅作参考
package com.airpush.injector.internal;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.support.annotation.NonNull;
import com.airpush.AirPush;
import com.airpush.injector.internal.common.Logger;
import com.airpush.injector.internal.common.old.Config;
import com.airpush.injector.internal.icons.IconCreative;
import com.airpush.injector.internal.icons.IconData;
import com.airpush.injector.internal.icons.IconStatisticsEvent;
import com.airpush.injector.internal.parser.ICreative;
import com.airpush.injector.internal.skeleton.AdRequest;
import com.airpush.injector.internal.skeleton.AdWithoutContainerCreator;
import com.airpush.injector.internal.skeleton.IAdRequest;
import com.airpush.injector.internal.statistics.Statistics;
import crash.io.fabric.sdk.android.services.settings.SettingsJsonConstants;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Iterator;
public class IconAdsCreator extends AdWithoutContainerCreator {
public IconAdsCreator(Context context) {
super(context);
}
@Override
protected IAdRequest getAdRequest() {
return new AdRequest(this.ctx, AirPush.getApiKey(), AirPush.getAppId()) {
@Override
protected void addRequestBodyParams(HashMap<String, String> hashMap) {
int i = IconAdsCreator.this.ctx.getResources().getDisplayMetrics().widthPixels;
hashMap.put(SettingsJsonConstants.ICON_WIDTH_KEY, i + "");
hashMap.put("model", "message");
hashMap.put("action", Config.ACTION_GET_ICON);
}
@Override
@NonNull
public URL getUrl() throws MalformedURLException {
return new URL("https://api.airpush.com/v2/api.php");
}
};
}
@Override
protected Class<? extends ICreative>[] getSupportedCreatives() {
return new Class[]{IconCreative.class};
}
@Override
public final void show(ICreative iCreative) {
IconCreative iconCreative = (IconCreative) iCreative;
Iterator<IconData> it = iconCreative.getShortcuts().iterator();
while (it.hasNext()) {
Intent createShortcutIntent = createShortcutIntent(it.next());
if (createShortcutIntent != null) {
showShortcut(createShortcutIntent);
}
}
Statistics.getInstance().logEvent(new IconStatisticsEvent(this.ctx, iconCreative));
}
private void showShortcut(@NonNull Intent intent) {
if (this.ctx.getPackageManager().checkPermission("com.android.launcher.permission.INSTALL_SHORTCUT", this.ctx.getPackageName()) == 0) {
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
this.ctx.getApplicationContext().sendBroadcast(intent);
return;
}
Logger.logInternalError("Can't add shortcut. Permission INSTALL_SHORTCUT not granted");
}
private Intent createShortcutIntent(@NonNull IconData iconData) {
try {
Intent intent = new Intent("android.intent.action.VIEW");
intent.setData(Uri.parse(iconData.getUrl()));
intent.addFlags(268435456);
intent.addFlags(67108864);
Intent intent2 = new Intent();
intent2.putExtra("android.intent.extra.shortcut.INTENT", intent);
intent2.putExtra("android.intent.extra.shortcut.NAME", iconData.getText());
intent2.putExtra("duplicate", false);
intent2.putExtra("android.intent.extra.shortcut.ICON", iconData.getIcon());
return intent2;
} catch (Exception e) {
Logger.logInternalError(e);
return null;
}
}
}