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

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


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

import android.content.Context;
import android.graphics.Bitmap;
import com.startapp.android.publish.common.Constants;
import com.startapp.android.publish.common.a;
import com.startapp.android.publish.common.commonUtils.g;
import com.startapp.android.publish.common.commonUtils.j;
import com.startapp.android.publish.common.commonUtils.r;
import com.startapp.android.publish.common.metaData.MetaDataRequest;
import com.startapp.android.publish.common.model.AdPreferences;
import java.io.ByteArrayOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
public class MetaData implements Serializable {
    public static final boolean DEFAULT_ALWAYS_SEND_TOKEN = true;
    public static final boolean DEFAULT_BT_ENABLED = false;
    public static final boolean DEFAULT_COMPRESSION_ENABLED = false;
    public static final boolean DEFAULT_INAPPBROWSER = true;
    public static final long DEFAULT_LAST_KNOWN_LOCATION_THRESHOLD = 30;
    public static final String DEFAULT_LOCATION_SOURCE = "API";
    public static final boolean DEFAULT_PERIODIC_INFOEVENT_ENABLED = false;
    public static final int DEFAULT_PERIODIC_INFOEVENT_INTERVAL = 360;
    public static final boolean DEFAULT_PERIODIC_METADATA_ENABLED = false;
    public static final int DEFAULT_PERIODIC_METADATA_INTERVAL = 360;
    public static final int DEFAULT_SESSION_MAX_BACKGROUND_TIME = 1800;
    public static final boolean DEFAULT_SIMPLE_TOKEN_ENABLED = true;
    public static final boolean DEFAULT_WF_SCAN_ENABLED = true;
    public static final String KEY_METADATA = "metaData";
    private static final long serialVersionUID = 1;
    private static transient c task;
    @com.startapp.android.publish.common.c.e(b = b.class)
    private b inAppBrowserPreLoad;
    private static transient Object lock = new Object();
    public static final Set<String> DEFAULT_INSTALLERS_LIST = new HashSet(Arrays.asList(Constants.j));
    public static final String DEFAULT_METADATA_HOST = "https://init.startappservice.com/1.4/";
    public static final String DEFAULT_AD_PLATFORM_HOST = "http://www.startappexchange.com/1.4/";
    public static final String DEFAULT_PROFILE_ID = null;
    public static final Set<String> DEFAULT_PRE_INSTALLED_PACKAGES = new HashSet(Arrays.asList("com.facebook.katana", "com.yandex.browser"));
    private static transient MetaData instance = new MetaData();
    @com.startapp.android.publish.common.c.e(a = true)
    private f SimpleToken = new f();
    private String metaDataHostSecured = DEFAULT_METADATA_HOST;
    private String adPlatformHostGeneric = DEFAULT_AD_PLATFORM_HOST;
    private int sessionMaxBackgroundTime = DEFAULT_SESSION_MAX_BACKGROUND_TIME;
    private String profileId = DEFAULT_PROFILE_ID;
    @com.startapp.android.publish.common.c.e(b = HashSet.class)
    private Set<String> installersList = DEFAULT_INSTALLERS_LIST;
    @com.startapp.android.publish.common.c.e(b = HashSet.class)
    private Set<String> preInstalledPackages = DEFAULT_PRE_INSTALLED_PACKAGES;
    private boolean simpleToken2 = true;
    private boolean alwaysSendToken = true;
    private boolean compressionEnabled = false;
    private boolean btEnabled = false;
    private boolean periodicMetaDataEnabled = false;
    private int periodicMetaDataIntervalInMinutes = 360;
    private boolean periodicInfoEventEnabled = false;
    private int periodicInfoEventIntervalInMinutes = 360;
    private boolean inAppBrowser = true;
    private boolean SupportIABViewability = true;
    private long IABDisplayImpressionDelayInSeconds = 1;
    private long IABVideoImpressionDelayInSeconds = 2;
    @com.startapp.android.publish.common.c.e(a = true)
    private e sensorsConfig = new e();
    @com.startapp.android.publish.common.c.e(a = true)
    private com.startapp.android.publish.common.metaData.b btConfig = new com.startapp.android.publish.common.metaData.b();
    private String assetsBaseUrl = "";
    @com.startapp.android.publish.common.c.e(a = true)
    private com.startapp.android.publish.common.b.a analytics = new com.startapp.android.publish.common.b.a();
    @com.startapp.android.publish.common.c.e(a = true)
    private LocationConfig location = new LocationConfig();
    private boolean wfScanEnabled = true;
    private transient boolean loading = false;
    private transient boolean ready = false;
    private transient List<d> metaDataListeners = new ArrayList();
    private String metadataUpdateVersion = Constants.h;

    public enum b {
        DISABLED,
        CONTENT,
        FULL
    }

    private MetaData() {
    }

    public f getSimpleTokenConfig() {
        return this.SimpleToken;
    }

    protected void setSimpleTokenConfig(f fVar) {
        this.SimpleToken = fVar;
    }

    public static void init(Context context) {
        MetaData metaData = (MetaData) g.a(context, "StartappMetadata", (Class<Object>) MetaData.class);
        MetaData metaData2 = new MetaData();
        if (metaData != null) {
            if (metaData.isMetaDataVersionChanged()) {
                r.a(metaData, metaData2);
            }
            metaData.initTransientFields();
            instance = metaData;
        } else {
            instance = metaData2;
        }
        getInstance().applyAdPlatformProtocolToHosts();
    }

    public static void update(Context context, MetaData metaData) {
        synchronized (lock) {
            metaData.metaDataListeners = getInstance().metaDataListeners;
            instance = metaData;
            if (Constants.a().booleanValue()) {
                j.a(3, "MetaData received:");
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                com.startapp.android.publish.common.c.b bVar = new com.startapp.android.publish.common.c.b(byteArrayOutputStream);
                bVar.a(metaData);
                bVar.close();
                j.a(3, byteArrayOutputStream.toString());
            }
            getInstance().applyAdPlatformProtocolToHosts();
            metaData.metadataUpdateVersion = Constants.h;
            g.a(context, "StartappMetadata", metaData);
            j.a(3, "MetaData saved:");
            getInstance().loading = false;
            getInstance().ready = true;
            if (getInstance().metaDataListeners != null) {
                ArrayList<d> arrayList = new ArrayList(getInstance().metaDataListeners);
                getInstance().metaDataListeners.clear();
                for (d dVar : arrayList) {
                    dVar.onFinishLoadingMeta();
                }
            }
            com.startapp.android.publish.common.f.b(context, "totalSessions", Integer.valueOf(com.startapp.android.publish.common.f.a(context, "totalSessions", (Integer) 0).intValue() + 1));
            task = null;
        }
    }

    public static void failedLoading() {
        ArrayList<d> arrayList;
        synchronized (lock) {
            if (getInstance().metaDataListeners != null) {
                arrayList = new ArrayList(getInstance().metaDataListeners);
                getInstance().metaDataListeners.clear();
            } else {
                arrayList = null;
            }
            getInstance().loading = false;
        }
        if (arrayList != null) {
            for (d dVar : arrayList) {
                dVar.onFailedLoadingMeta();
            }
        }
    }

    public void loadFromServer(Context context, AdPreferences adPreferences, MetaDataRequest.a aVar, boolean z, d dVar) {
        loadFromServer(context, adPreferences, aVar, z, dVar, false);
    }

    public void loadFromServer(Context context, AdPreferences adPreferences, MetaDataRequest.a aVar, boolean z, d dVar, boolean z2) {
        if (!z && dVar != null) {
            dVar.onFinishLoadingMeta();
        }
        synchronized (lock) {
            if (getInstance().isReady() && !z2) {
                if (!z || dVar == null) {
                    return;
                }
                dVar.onFinishLoadingMeta();
                return;
            }
            if (!getInstance().isLoading() || z2) {
                this.loading = true;
                this.ready = false;
                if (task != null) {
                    task.b();
                }
                task = new c(context, adPreferences, aVar);
                task.a();
            }
            if (z && dVar != null) {
                getInstance().addMetaDataListener(dVar);
            }
        }
    }

    public void addMetaDataListener(d dVar) {
        synchronized (lock) {
            this.metaDataListeners.add(dVar);
        }
    }

    public static Object getLock() {
        return lock;
    }

    public boolean isLoading() {
        return this.loading;
    }

    public boolean isReady() {
        return this.ready;
    }

    public void setReady(boolean z) {
        this.ready = z;
    }

    private boolean isMetaDataVersionChanged() {
        return !Constants.h.equals(this.metadataUpdateVersion);
    }

    public String getAssetsBaseUrl() {
        return this.assetsBaseUrl;
    }

    public boolean isPeriodicMetaDataEnabled() {
        return this.periodicMetaDataEnabled;
    }

    public void setPeriodicMetaDataEnabled(boolean z) {
        this.periodicMetaDataEnabled = z;
    }

    public int getPeriodicMetaDataInterval() {
        return this.periodicMetaDataIntervalInMinutes;
    }

    public void setPeriodicMetaDataInterval(int i) {
        this.periodicMetaDataIntervalInMinutes = i;
    }

    public boolean isPeriodicInfoEventEnabled() {
        return this.periodicInfoEventEnabled;
    }

    public void setPeriodicInfoEventEnabled(boolean z) {
        this.periodicInfoEventEnabled = z;
    }

    public int getPeriodicInfoEventIntervalInMinutes() {
        return this.periodicInfoEventIntervalInMinutes;
    }

    public void setPeriodicInfoEventIntervalInMinutes(int i) {
        this.periodicInfoEventIntervalInMinutes = i;
    }

    public String getMetaDataHost() {
        if (Constants.OVERRIDE_HOST != null) {
            return Constants.OVERRIDE_HOST;
        }
        return this.metaDataHostSecured;
    }

    public String getAdPlatformHost() {
        if (Constants.OVERRIDE_HOST != null) {
            return Constants.OVERRIDE_HOST;
        }
        return this.adPlatformHostGeneric;
    }

    public long getSessionMaxBackgroundTime() {
        return TimeUnit.SECONDS.toMillis(this.sessionMaxBackgroundTime);
    }

    public Set<String> getInstallersList() {
        return this.installersList;
    }

    public void setInstallersList(Set<String> set) {
        this.installersList = set;
    }

    public Set<String> getPreInstalledPackages() {
        Set<String> set = this.preInstalledPackages;
        if (set == null) {
            set = DEFAULT_PRE_INSTALLED_PACKAGES;
        }
        return Collections.unmodifiableSet(set);
    }

    public void setPreInstalledPackages(Set<String> set) {
        this.preInstalledPackages = set;
    }

    public boolean isSimpleToken2() {
        return this.simpleToken2;
    }

    public void setSimpleToken2(boolean z) {
        this.simpleToken2 = z;
    }

    public boolean isAlwaysSendToken() {
        return this.alwaysSendToken;
    }

    public void setAlwaysSendToken(boolean z) {
        this.alwaysSendToken = z;
    }

    public boolean isCompressionEnabled() {
        return this.compressionEnabled;
    }

    public void setCompressionEnabled(boolean z) {
        this.compressionEnabled = z;
    }

    public boolean isInAppBrowser() {
        return r.a(256L) && this.inAppBrowser;
    }

    public void setInAppBrowser(boolean z) {
        this.inAppBrowser = z;
    }

    public b getInAppBrowserPreLoad() {
        return this.inAppBrowserPreLoad;
    }

    public void setInAppBrowserPreLoad(b bVar) {
        this.inAppBrowserPreLoad = bVar;
    }

    public String getProfileId() {
        return this.profileId;
    }

    public com.startapp.android.publish.common.b.a getAnalyticsConfig() {
        return this.analytics;
    }

    public e getSensorsConfig() {
        return this.sensorsConfig;
    }

    public com.startapp.android.publish.common.metaData.b getBluetoothConfig() {
        return this.btConfig;
    }

    public LocationConfig getLocationConfig() {
        return this.location;
    }

    public boolean isWfScanEnabled() {
        return this.wfScanEnabled;
    }

    public static MetaData getInstance() {
        return instance;
    }

    public long getIABDisplayImpressionDelayInSeconds() {
        return this.IABDisplayImpressionDelayInSeconds;
    }

    public long getIABVideoImpressionDelayInSeconds() {
        return this.IABVideoImpressionDelayInSeconds;
    }

    public boolean isSupportIABViewability() {
        return this.SupportIABViewability;
    }

    public void applyAdPlatformProtocolToHosts() {
        this.adPlatformHostGeneric = replaceAdProtocol(this.adPlatformHostGeneric, DEFAULT_AD_PLATFORM_HOST);
        this.metaDataHostSecured = replaceAdProtocol(this.metaDataHostSecured, DEFAULT_METADATA_HOST);
    }

    private String replaceAdProtocol(String str, String str2) {
        return str != null ? str.replace("%AdPlatformProtocol%", "1.4") : str2;
    }

    private void initTransientFields() {
        this.loading = false;
        this.ready = false;
        this.metaDataListeners = new ArrayList();
    }

    public static void preCacheResources(Context context) {
        String[] strArr;
        String[] strArr2;
        String[] strArr3;
        String assetsBaseUrl = getInstance().getAssetsBaseUrl();
        if (assetsBaseUrl.equals("")) {
            return;
        }
        if (!com.startapp.android.publish.common.commonUtils.e.b(context, "close_button.png") && !r.a()) {
            new com.startapp.android.publish.common.a(assetsBaseUrl + "close_button.png", new a(context, "close_button"), 0).a();
        }
        if (r.a(256L)) {
            for (String str : Constants.k) {
                if (!com.startapp.android.publish.common.commonUtils.e.b(context, str + ".png")) {
                    new com.startapp.android.publish.common.a(assetsBaseUrl + str + ".png", new a(context, str), 0).a();
                }
            }
        }
        if (r.a(64L)) {
            for (String str2 : Constants.l) {
                if (!com.startapp.android.publish.common.commonUtils.e.b(context, str2 + ".png")) {
                    new com.startapp.android.publish.common.a(assetsBaseUrl + str2 + ".png", new a(context, str2), 0).a();
                }
            }
            if (com.startapp.android.publish.common.commonUtils.e.b(context, "logo.png")) {
                return;
            }
            new com.startapp.android.publish.common.a(assetsBaseUrl + "logo.png", new a(context, "logo"), 0).a();
        } else if (r.a(32L)) {
            for (String str3 : Constants.l) {
                if (!com.startapp.android.publish.common.commonUtils.e.b(context, str3 + ".png")) {
                    new com.startapp.android.publish.common.a(assetsBaseUrl + str3 + ".png", new a(context, str3), 0).a();
                }
            }
        }
    }

    public static class a implements a.InterfaceC0143a {
        Context a;
        String b;

        public a(Context context, String str) {
            this.a = context;
            this.b = str;
        }

        @Override
        public void a(Bitmap bitmap, int i) {
            if (bitmap != null) {
                com.startapp.android.publish.common.commonUtils.e.a(this.a, bitmap, this.b);
            }
        }
    }
}