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