GoooBet v1.0版本的 MD5 值为:ff9748f16167bfd7735b669c0a9931c5
以下内容为反编译后的 MetaData.java 源代码,内容仅作参考
package com.startapp.android.publish.common.metaData;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Build;
import com.google.android.exoplayer2.extractor.ts.PsExtractor;
import com.startapp.android.publish.adsCommon.AdsConstants;
import com.startapp.android.publish.adsCommon.Utils.i;
import com.startapp.android.publish.adsCommon.k;
import com.startapp.android.publish.common.metaData.MetaDataRequest;
import com.startapp.android.publish.common.model.AdPreferences;
import com.startapp.common.Constants;
import com.startapp.common.a;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
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 String DEFAULT_ASSETS_BASE_URL_SECURED = "";
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_OM_SDK_STATE = false;
public static final boolean DEFAULT_PERIODIC_INFOEVENT_ENABLED = false;
public static final int DEFAULT_PERIODIC_INFOEVENT_INTERVAL = 360;
public static final boolean DEFAULT_PERIODIC_INFOEVENT_ON_RUN_TIME = false;
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 int DEFAULT_STOP_AUTO_LOAD_AMOUNT = 3;
public static final int DEFAULT_STOP_AUTO_LOAD_PRE_CAHE_AMOUNT = 3;
public static final boolean DEFAULT_WF_SCAN_ENABLED = false;
public static final String KEY_METADATA = "metaData";
private static final long serialVersionUID = 1;
private static transient c task;
private String adPlatformBannerHostSecured;
private String adPlatformNativeHostSecured;
private String adPlatformOverlayHostSecured;
private String adPlatformReturnHostSecured;
private String adPlatformSplashHostSecured;
@com.startapp.common.c.f(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.f3589a));
public static final String DEFAULT_METADATA_HOST = "https://init.startappservice.com/1.5/";
public static final String DEFAULT_AD_PLATFORM_HOST = "https://req.startappservice.com/1.5/";
public static final String DEFAULT_PROFILE_ID = null;
public static final int[] DEFAULT_PERIODIC_INFOEVENT_INTERVALS = {60, 60, PsExtractor.VIDEO_STREAM_MASK};
public static final Set<String> DEFAULT_PRE_INSTALLED_PACKAGES = new HashSet(Arrays.asList("com.facebook.katana", "com.yandex.browser"));
public static final Set<Integer> DEFAULT_INVALID_NETWORK_CODES_INFO_EVENTS = new HashSet(Arrays.asList(204));
private static transient MetaData instance = new MetaData();
@com.startapp.common.c.f(a = true)
private h SimpleToken = new h();
public String metaDataHostSecured = DEFAULT_METADATA_HOST;
public String adPlatformHostSecured = DEFAULT_AD_PLATFORM_HOST;
private int sessionMaxBackgroundTime = DEFAULT_SESSION_MAX_BACKGROUND_TIME;
private String profileId = DEFAULT_PROFILE_ID;
@com.startapp.common.c.f(b = HashSet.class)
private Set<String> installersList = DEFAULT_INSTALLERS_LIST;
@com.startapp.common.c.f(b = HashSet.class)
private Set<String> preInstalledPackages = DEFAULT_PRE_INSTALLED_PACKAGES;
private boolean simpleToken2 = true;
private boolean alwaysSendToken = true;
private boolean isToken1Mandatory = true;
private boolean compressionEnabled = false;
private boolean btEnabled = false;
private boolean periodicMetaDataEnabled = false;
private int periodicMetaDataIntervalInMinutes = 360;
private boolean periodicInfoEventEnabled = false;
private boolean periodicInfoEventOnRunTimeEnabled = false;
private int periodicInfoEventIntervalInMinutes = 360;
private int[] periodicEventIntMin = DEFAULT_PERIODIC_INFOEVENT_INTERVALS;
private boolean inAppBrowser = true;
private boolean SupportIABViewability = true;
private long IABDisplayImpressionDelayInSeconds = 1;
private long IABVideoImpressionDelayInSeconds = 2;
private long userAgentDelayInSeconds = 5;
private boolean userAgentEnabled = true;
@com.startapp.common.c.f(a = true)
private g sensorsConfig = new g();
@com.startapp.common.c.f(a = true)
private com.startapp.android.publish.common.metaData.b btConfig = new com.startapp.android.publish.common.metaData.b();
private String assetsBaseUrlSecured = "";
@com.startapp.common.c.f(b = HashSet.class)
private Set<Integer> invalidForRetry = new HashSet();
@com.startapp.common.c.f(b = HashSet.class)
private Set<Integer> invalidNetworkCodesInfoEvents = DEFAULT_INVALID_NETWORK_CODES_INFO_EVENTS;
@com.startapp.common.c.f(a = true)
public com.startapp.android.publish.adsCommon.f.a analytics = new com.startapp.android.publish.adsCommon.f.a();
@com.startapp.common.c.f(a = true)
private LocationConfig location = new LocationConfig();
private boolean wfScanEnabled = false;
private transient boolean loading = false;
private transient boolean ready = false;
private transient List<d> metaDataListeners = new ArrayList();
private String metadataUpdateVersion = AdsConstants.h;
private boolean dns = false;
private int stopAutoLoadAmount = 3;
private int stopAutoLoadPreCacheAmount = 3;
private boolean trueNetEnabled = false;
private boolean webViewSecured = true;
private boolean omSdkEnabled = false;
private boolean chromeCustomeTabsInternal = true;
private boolean chromeCustomeTabsExternal = true;
public enum b {
DISABLED,
CONTENT,
FULL
}
private MetaData() {
}
public h getSimpleTokenConfig() {
return this.SimpleToken;
}
protected void setSimpleTokenConfig(h hVar) {
this.SimpleToken = hVar;
}
public static void init(Context context) {
MetaData metaData = (MetaData) com.startapp.common.a.e.a(context, "StartappMetadata", MetaData.class);
MetaData metaData2 = new MetaData();
if (metaData != null) {
boolean a2 = i.a(metaData, metaData2);
if (!metaData.isMetaDataVersionChanged() && a2) {
com.startapp.android.publish.adsCommon.f.f.a(context, com.startapp.android.publish.adsCommon.f.d.METADATA_NULL, "MetaData", "", "");
}
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()) {
com.startapp.common.a.g.a(3, "MetaData received:");
com.startapp.common.a.g.a(3, com.startapp.common.c.b.a(metaData));
}
getInstance().applyAdPlatformProtocolToHosts();
metaData.metadataUpdateVersion = AdsConstants.h;
com.startapp.common.a.e.b(context, "StartappMetadata", metaData);
com.startapp.common.a.g.a(3, "MetaData saved:");
getInstance().loading = false;
getInstance().ready = true;
if (getInstance().metaDataListeners != null) {
ArrayList arrayList = new ArrayList(getInstance().metaDataListeners);
getInstance().metaDataListeners.clear();
Iterator it = arrayList.iterator();
while (it.hasNext()) {
((d) it.next()).a();
}
}
k.b(context, "totalSessions", Integer.valueOf(k.a(context, "totalSessions", (Integer) 0).intValue() + 1));
task = null;
}
}
public static void failedLoading() {
ArrayList arrayList;
synchronized (lock) {
if (getInstance().metaDataListeners != null) {
arrayList = new ArrayList(getInstance().metaDataListeners);
getInstance().metaDataListeners.clear();
} else {
arrayList = null;
}
getInstance().loading = false;
}
if (arrayList != null) {
Iterator it = arrayList.iterator();
while (it.hasNext()) {
((d) it.next()).b();
}
}
}
public static boolean isLoadedFromServer(Context context) {
return context.getFileStreamPath("StartappMetadata").exists();
}
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.a();
}
synchronized (lock) {
if (getInstance().isReady() && !z2) {
if (!z || dVar == null) {
return;
}
dVar.a();
return;
}
if (!getInstance().isLoading() || z2) {
this.loading = true;
this.ready = false;
if (task != null) {
task.b();
}
c cVar = new c(context, adPreferences, aVar);
task = cVar;
cVar.a();
}
if (z && dVar != null) {
getInstance().addMetaDataListener(dVar);
}
}
}
public void addMetaDataListener(d dVar) {
synchronized (lock) {
this.metaDataListeners.add(dVar);
}
}
public void removeMetaDataListener(d dVar) {
synchronized (lock) {
this.metaDataListeners.remove(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 !AdsConstants.h.equals(this.metadataUpdateVersion);
}
public String getAssetsBaseUrl() {
String str = this.assetsBaseUrlSecured;
return str != null ? str : "";
}
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 boolean isPeriodicInfoEventOnRunTimeEnabled() {
return this.periodicInfoEventOnRunTimeEnabled;
}
public void setPeriodicInfoEventEnabled(boolean z) {
this.periodicInfoEventEnabled = z;
}
public int getPeriodicInfoEventIntervalInMinutes(Context context) {
int[] iArr = this.periodicEventIntMin;
if (iArr == null || iArr.length < 3) {
this.periodicEventIntMin = DEFAULT_PERIODIC_INFOEVENT_INTERVALS;
}
if (com.startapp.common.a.c.a(context, "android.permission.ACCESS_FINE_LOCATION")) {
int i = this.periodicEventIntMin[0];
return i <= 0 ? DEFAULT_PERIODIC_INFOEVENT_INTERVALS[0] : i;
}
if (com.startapp.common.a.c.a(context, "android.permission.ACCESS_COARSE_LOCATION")) {
int i2 = this.periodicEventIntMin[1];
return i2 <= 0 ? DEFAULT_PERIODIC_INFOEVENT_INTERVALS[1] : i2;
}
return this.periodicEventIntMin[2];
}
public void setPeriodicInfoEventIntervalInMinutes(int i) {
this.periodicInfoEventIntervalInMinutes = i;
}
public Set<Integer> getInvalidForRetry() {
Set<Integer> set = this.invalidForRetry;
return set != null ? set : new HashSet();
}
public Set<Integer> getInvalidNetworkCodesInfoEvents() {
Set<Integer> set = this.invalidNetworkCodesInfoEvents;
return set != null ? set : DEFAULT_INVALID_NETWORK_CODES_INFO_EVENTS;
}
public String getMetaDataHost() {
if (AdsConstants.OVERRIDE_HOST != null) {
return AdsConstants.OVERRIDE_HOST;
}
return this.metaDataHostSecured;
}
public String getAdPlatformHost() {
if (AdsConstants.OVERRIDE_HOST != null) {
return AdsConstants.OVERRIDE_HOST;
}
String str = this.adPlatformHostSecured;
return str != null ? str : DEFAULT_AD_PLATFORM_HOST;
}
static class AnonymousClass1 {
static final int[] f3570a;
static {
int[] iArr = new int[AdPreferences.Placement.values().length];
f3570a = iArr;
try {
iArr[AdPreferences.Placement.INAPP_BANNER.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
f3570a[AdPreferences.Placement.INAPP_OVERLAY.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
f3570a[AdPreferences.Placement.INAPP_NATIVE.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
f3570a[AdPreferences.Placement.INAPP_RETURN.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
try {
f3570a[AdPreferences.Placement.INAPP_SPLASH.ordinal()] = 5;
} catch (NoSuchFieldError unused5) {
}
}
}
public String getAdPlatformHost(AdPreferences.Placement placement) {
int i = AnonymousClass1.f3570a[placement.ordinal()];
if (i == 1) {
String str = this.adPlatformBannerHostSecured;
return str != null ? str : getAdPlatformHost();
}
if (i == 2) {
String str2 = this.adPlatformOverlayHostSecured;
return str2 != null ? str2 : getAdPlatformHost();
}
if (i == 3) {
String str3 = this.adPlatformNativeHostSecured;
return str3 != null ? str3 : getAdPlatformHost();
}
if (i == 4) {
String str4 = this.adPlatformReturnHostSecured;
return str4 != null ? str4 : getAdPlatformHost();
}
if (i == 5) {
String str5 = this.adPlatformSplashHostSecured;
return str5 != null ? str5 : getAdPlatformHost();
}
return getAdPlatformHost();
}
public String getHostForWebview() {
return getHostForWebview(getInstance().getAdPlatformHost(), Build.VERSION.SDK_INT, this.webViewSecured);
}
public static String getHostForWebview(String str, int i, boolean z) {
int indexOf;
String str2 = (i > 26 || z) ? com.mopub.common.Constants.HTTPS : com.mopub.common.Constants.HTTP;
if (str.startsWith(str2 + "://") || (indexOf = str.indexOf(58)) == -1) {
return str;
}
return str2 + str.substring(indexOf);
}
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 isToken1Mandatory() {
return this.isToken1Mandatory;
}
public boolean isCompressionEnabled() {
return this.compressionEnabled;
}
public void setCompressionEnabled(boolean z) {
this.compressionEnabled = z;
}
public boolean isInAppBrowser() {
return i.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.adsCommon.f.a getAnalyticsConfig() {
return this.analytics;
}
public g 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 long getUserAgentDelayInSeconds() {
return this.userAgentDelayInSeconds;
}
public boolean isUserAgentEnabled() {
return this.userAgentEnabled;
}
public boolean isSupportIABViewability() {
return this.SupportIABViewability;
}
public void applyAdPlatformProtocolToHosts() {
this.adPlatformHostSecured = replaceAdProtocol(this.adPlatformHostSecured, DEFAULT_AD_PLATFORM_HOST);
this.metaDataHostSecured = replaceAdProtocol(this.metaDataHostSecured, DEFAULT_METADATA_HOST);
this.adPlatformBannerHostSecured = replaceAdProtocol(this.adPlatformBannerHostSecured, null);
this.adPlatformSplashHostSecured = replaceAdProtocol(this.adPlatformSplashHostSecured, null);
this.adPlatformReturnHostSecured = replaceAdProtocol(this.adPlatformReturnHostSecured, null);
this.adPlatformOverlayHostSecured = replaceAdProtocol(this.adPlatformOverlayHostSecured, null);
this.adPlatformNativeHostSecured = replaceAdProtocol(this.adPlatformNativeHostSecured, null);
}
public boolean canShowAd() {
return !this.dns;
}
public int getStopAutoLoadAmount() {
return this.stopAutoLoadAmount;
}
public int getStopAutoLoadPreCacheAmount() {
return this.stopAutoLoadPreCacheAmount;
}
public boolean getTrueNetEnabled() {
return this.trueNetEnabled;
}
public boolean getChromeCustomeTabsInternal() {
return this.chromeCustomeTabsInternal;
}
public boolean getChromeCustomeTabsExternal() {
return this.chromeCustomeTabsExternal;
}
private String replaceAdProtocol(String str, String str2) {
return str != null ? str.replace("%AdPlatformProtocol%", "1.5") : str2;
}
private void initTransientFields() {
this.loading = false;
this.ready = false;
this.metaDataListeners = new ArrayList();
}
public static void preCacheResources(Context context, String str) {
if (str == null || str.equals("")) {
return;
}
if (!com.startapp.android.publish.adsCommon.Utils.a.a(context, "close_button.png", ".png") && !i.a()) {
new com.startapp.common.a(str + "close_button.png", new a(context, "close_button"), 0).a();
}
if (i.a(256L)) {
for (String str2 : AdsConstants.k) {
if (!com.startapp.android.publish.adsCommon.Utils.a.a(context, str2 + ".png", ".png")) {
new com.startapp.common.a(str + str2 + ".png", new a(context, str2), 0).a();
}
}
}
if (i.a(64L)) {
for (String str3 : AdsConstants.l) {
if (!com.startapp.android.publish.adsCommon.Utils.a.a(context, str3 + ".png", ".png")) {
new com.startapp.common.a(str + str3 + ".png", new a(context, str3), 0).a();
}
}
if (com.startapp.android.publish.adsCommon.Utils.a.a(context, "logo.png", ".png")) {
return;
}
new com.startapp.common.a(str + "logo.png", new a(context, "logo"), 0).a();
return;
}
if (i.a(32L)) {
for (String str4 : AdsConstants.l) {
if (!com.startapp.android.publish.adsCommon.Utils.a.a(context, str4 + ".png", ".png")) {
new com.startapp.common.a(str + str4 + ".png", new a(context, str4), 0).a();
}
}
}
}
public boolean isOmsdkEnabled() {
return this.omSdkEnabled;
}
public static class a implements a.InterfaceC0176a {
Context f3571a;
String b;
public a(Context context, String str) {
this.f3571a = context;
this.b = str;
}
@Override
public void a(Bitmap bitmap, int i) {
if (bitmap != null) {
com.startapp.android.publish.adsCommon.Utils.a.a(this.f3571a, bitmap, this.b, ".png");
}
}
}
}