MD5 校验值:c9acc583577d8b1a394e7959c947bec3
d.java 文件包含反编译后的源代码,请注意,该内容仅供学习和参考使用,不得用于非法用途。
package com.safedk.android.internal; import android.os.Bundle; import com.safedk.android.SafeDK; import com.safedk.android.analytics.AppLovinBridge; import com.safedk.android.analytics.brandsafety.BrandSafetyUtils; import com.safedk.android.analytics.brandsafety.creatives.AdNetworkConfiguration; import com.safedk.android.analytics.brandsafety.creatives.CreativeInfoManager; import com.safedk.android.utils.Logger; import com.safedk.android.utils.SdksMapping; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import org.json.JSONException; import org.json.JSONObject; public class d { public static final String A = "imageMimeTypesList"; public static final String B = "videoMimeTypesList"; public static final String C = "audioMimeTypesList"; public static final String D = "maxBannerUniformPixelsPercentageToStopSampling"; public static final String E = "minBannerUniformPixelsPercentageForUniformImage"; public static final String F = "maxAttemptsToCaptureBannerImage"; public static final String G = "bannerImageSamplingInterval"; public static final String H = "bannerDimensionsMaxSize"; public static final String I = "isBannersEnabled"; public static final String J = "https://edge.safedk.com"; public static final String K = "https://edge.safedk.com"; public static final long L = 1200000; public static final int M = 50; public static final String N = "apng;bmp;gif;x-icon;x-icon;png;svg+xml;tiff"; public static final String O = "wave;wav;x-wav;x-pn-wav;webm;ogg;"; private static final String P = "SafeDKConfiguration"; private static final String Q = "settings"; private static final String R = "android"; private static final String S = "images"; private static final String T = "banners"; private static final String U = "adCaching"; private static final String V = "general"; private static final String W = "timers"; private static final String X = "redirectClickTimeout"; private static final String Y = "sdkSpecificMinUniformPixelsPercentageForUniformImage"; private static final String Z = "sdkSpecificCachedCIMaxAge"; public static final int a = 300; private static final int aA = 25000; private static final boolean aC = false; private static final int aE = 10000; private static final int aG = 15000; private static final int aI = 15000; private static final int aS = 5; private static final int aU = 100; private static final float aX = 40.0f; private static final float aZ = 90.0f; private static final String aa = "sdkSpecificCachedCIExpiration"; private static final int ab = 30000; private static final int aq = 8192; private static final int as = 540; private static final float au = 40.0f; private static final float aw = 90.0f; private static final int ay = 5; public static final int b = 5000; private static final int bb = 5; private static final int bd = 1; private static final int bf = 480; private static final boolean bh = true; public static final int c = 500; public static final String d = "minValidImageSize"; public static final String e = "interstitialDimensionsMaxSize"; public static final String f = "maxUniformPixelsPercentageToStopSampling"; public static final String g = "maxImagesToStoreOnDevice"; public static final String h = "minImageSizeToStopSampling"; public static final String i = "minUniformPixelsPercentageForUniformImage"; public static final String j = "awsUploadTimeout"; public static final String k = "resolveUrlTimeout"; public static final String l = "clickValidityTimeout"; public static final String m = "interstitialActivitiesToInclude"; public static final String n = "interstitialActivitiesToExclude"; public static final String o = "edgeServerUrl"; public static final String p = "backupEdgeServerUrl"; public static final String q = "devicesWithDebugLog"; public static final String r = "cachedCreativeInfoMaxAge"; public static final String s = "cachedMaxNumberOfItems"; public static final String t = "cachedNumberOfItemsThreshold"; public static final String u = "cacheSupportingSdkUUIDs"; public static final String v = "safeDKDeactivation"; public static final String w = "activePercentage"; public static final String x = "deactivated"; public static final String y = "alwaysTakeScreenshot"; public static final String z = "disableWebViewTracking"; private boolean ac = false; private int ad = a; private boolean ae = false; private int af = b; private int ag = c; private int ah = 30000; private boolean ai = false; private boolean aj = bh; private boolean ak = false; private boolean al = false; private JSONObject am = new JSONObject(); private JSONObject an = new JSONObject(); private ArrayList<String> ao = new ArrayList<>(Arrays.asList(com.safedk.android.utils.f.d, com.safedk.android.utils.f.b, com.safedk.android.utils.f.u, com.safedk.android.utils.f.z, com.safedk.android.utils.f.o)); private boolean ap = false; private int ar = 8192; private int at = as; private float av = 40.0f; private float ax = 90.0f; private int az = 5; private long aB = 25000; private boolean aD = false; private int aF = aE; private int aH = 15000; private int aJ = 15000; private ArrayList<String> aK = new ArrayList<>(); private ArrayList<String> aL = new ArrayList<>(); private String aM = "https://edge.safedk.com"; private String aN = "https://edge.safedk.com"; private ArrayList<String> aO = new ArrayList<>(); private ArrayList<String> aP = new ArrayList<>(); private long aQ = L; private int aR = 50; private int aT = 5; private int aV = 100; private final boolean aW = false; private float aY = 40.0f; private float ba = 90.0f; private int bc = 5; private int be = 1; private int bg = bf; private boolean bi = bh; private List<String> bj = Arrays.asList(N.split(";")); private List<String> bk = Arrays.asList(O.split(";")); private boolean bl = false; public int a() { return this.ah; } public boolean b() { return this.ap; } public int c() { return this.ar; } public int d() { return this.at; } public float e() { return this.av; } public float f() { return this.ax; } public boolean g() { return this.aD; } public int h() { return this.az; } public long i() { return this.aB; } public int j() { return this.aF; } public int k() { return this.aH; } public int l() { return this.aJ; } public float m() { return this.aY; } public float n() { return this.ba; } public int o() { return this.bc; } public int p() { return this.be; } public int q() { return this.bg; } public boolean r() { return this.bi; } public List<String> s() { return this.bj; } public List<String> t() { return this.bk; } public void a(boolean z2) { this.bl = z2; } public boolean u() { return this.al; } public boolean v() { if (this.bl) { return false; } return bh; } public void b(boolean z2) { this.ac = z2; } public boolean w() { return this.ac; } public int x() { return this.ad; } public void a(int i2) { this.af = i2; } public void b(int i2) { this.ag = i2; } public boolean y() { return this.ai; } public boolean z() { return this.ae; } public int A() { return this.af; } public int B() { return this.ag; } public JSONObject C() { return this.am; } public JSONObject D() { return this.an; } public Set<String> E() { return new HashSet(this.aO); } public boolean F() { return this.ak; } public int G() { return this.aV; } public boolean a(Bundle bundle, boolean z2) { Logger.d(P, "parseSettings started , bundle : " + (bundle == null ? "null" : bundle.toString())); Bundle bundle2 = bundle.getBundle(Q); if (bundle2 == null) { if (z2) { Logger.e(P, "Settings bundle is null, cannot parse settings. Saved settings will be used"); } return false; } Logger.d(P, "parseSettings starting DEACTIVATION"); if (bundle2.containsKey(v)) { Bundle bundle3 = bundle2.getBundle(v); if (bundle3.containsKey(x)) { this.bl = bundle3.getBoolean(x, false); Logger.d(P, "parseSettings deactivated " + this.bl); } else { this.bl = false; } if (bundle3.containsKey(w)) { this.aV = (int) bundle3.getDouble(w, 100.0d); Logger.d(P, "parseSettings activePercentage " + this.aV); } else { this.aV = 100; } if (!this.bl && this.aV != 100) { Logger.d(P, "Checking active percentage"); this.bl = !a(Double.valueOf((double) this.aV), SafeDK.getInstance().getUserId()) ? bh : false; Logger.d(P, "After active percentage deactivated=" + this.bl); } } else { this.bl = false; this.aV = 100; Logger.d(P, "parseSettings SAFE_DK_DEACTIVATION settings block does not exist. Default configuration values will be used."); } if (bundle2 != null && bundle2.containsKey(S)) { Bundle bundle4 = bundle2.getBundle(S); Logger.d(P, "parseSettings starting IMAGES : " + bundle4.toString()); if (bundle4.containsKey(d)) { this.ar = bundle4.getInt(d, 8192); Logger.d(P, "parseSettings minValidImageSize " + this.ar); } else { this.ar = 8192; } if (bundle4.containsKey(e)) { this.at = bundle4.getInt(e, as); Logger.d(P, "parseSettings interstitialDimensionsMaxSize " + this.at); } else { this.at = as; } if (bundle4.containsKey(f)) { this.av = (float) bundle4.getDouble(f, 40.0d); Logger.d(P, "parseSettings maxUniformPixelsPercentageToStopSampling " + this.av); } else { this.av = 40.0f; } if (bundle4.containsKey(g)) { this.az = bundle4.getInt(g, 5); Logger.d(P, "parseSettings maxImagesToStoreOnDevice " + this.az); } else { this.az = 5; } if (bundle4.containsKey(h)) { this.aB = bundle4.getInt(h, aA); Logger.d(P, "parseSettings minImageSizeToStopSampling " + this.aB); } else { this.aB = 25000L; } if (bundle4.containsKey(i)) { this.ax = (float) bundle4.getDouble(i, 90.0d); Logger.d(P, "parseSettings minUniformPixelsPercentageForUniformImage " + this.ax); CreativeInfoManager.a(AdNetworkConfiguration.SDK_SPECIFIC_MIN_UNIFORM_PIXELS_PERCENTAGE_FOR_UNIFORM_IMAGE, this.ax); } if (bundle4.containsKey(y)) { this.aD = bundle4.getBoolean(y, false); Logger.d(P, "parseSettings alwaysTakeScreenshot " + this.aD); } else { this.aD = false; } try { if (bundle4.containsKey(Y)) { Logger.d(P, "parseSettings sdkSpecificMinUniformPixelsPercentageForUniformImage " + bundle4.getBundle(Y)); Bundle bundle5 = bundle4.getBundle(Y); for (String str : bundle5.keySet()) { Logger.d(P, "parseSettings sdkSpecificMinUniformPixelsPercentageForUniformImage key = " + str + ", value = " + bundle5.getDouble(str)); double d2 = bundle5.getDouble(str); String sdkPackageByPackageUUID = SdksMapping.getSdkPackageByPackageUUID(str); if (sdkPackageByPackageUUID != null) { Logger.d(P, "parseSettings sdkSpecificMinUniformPixelsPercentageForUniformImage identified UUID = " + str + ", sdkPackageName = " + sdkPackageByPackageUUID + ", value = " + d2); com.safedk.android.analytics.brandsafety.creatives.a g2 = CreativeInfoManager.g(sdkPackageByPackageUUID); if (g2 != null) { g2.a(AdNetworkConfiguration.SDK_SPECIFIC_MIN_UNIFORM_PIXELS_PERCENTAGE_FOR_UNIFORM_IMAGE, (float) d2); Logger.d(P, "parseSettings sdkSpecificMinUniformPixelsPercentageForUniformImage UUID = " + str + ", sdkPackageName = " + sdkPackageByPackageUUID + ", value = " + ((float) d2)); } } } } } catch (Throwable th) { Logger.d(P, "parseSettings sdkSpecificMinUniformPixelsPercentageForUniformImage Exception : " + th.getMessage(), th); } } else { this.ar = 8192; this.at = as; this.av = 40.0f; this.az = 5; this.aB = 25000L; Logger.d(P, "minUniformPixelsPercentageForUniformImage set to " + this.ax); this.aD = false; Logger.d(P, "parseSettings IMAGES settings block does not exist. Default configuration values will be used."); } Logger.d(P, "parseSettings starting BANNERS"); if (bundle2 != null && bundle2.containsKey(T)) { Bundle bundle6 = bundle2.getBundle(T); if (bundle6.containsKey(D)) { this.aY = (float) bundle6.getDouble(D, 40.0d); Logger.d(P, "parseSettings maxBannerUniformPixelsPercentageToStopSampling " + this.aY); } else { this.aY = 40.0f; } if (bundle6.containsKey(E)) { this.ba = (float) bundle6.getDouble(E, 90.0d); Logger.d(P, "parseSettings minBannerUniformPixelsPercentageForUniformImage " + this.ba); } else { this.ba = 90.0f; } if (bundle6.containsKey(F)) { this.bc = bundle6.getInt(F, 5); Logger.d(P, "parseSettings maxAttemptsToCaptureBannerImage " + this.bc); } else { this.bc = 5; } if (bundle6.containsKey(G)) { this.be = bundle6.getInt(G, 1); Logger.d(P, "parseSettings bannerImageSamplingInterval " + this.be); } else { this.be = 1; } if (bundle6.containsKey(H)) { this.bg = bundle6.getInt(H, bf); Logger.d(P, "parseSettings bannerDimensionsMaxSize " + this.bg); } else { this.bg = bf; } if (bundle6.containsKey(I)) { this.bi = bundle6.getBoolean(I, bh); Logger.d(P, "parseSettings bannerIsEnabled " + this.bi); } else { this.bi = bh; } } else { this.aY = 40.0f; this.ba = 90.0f; this.bc = 5; this.be = 1; this.bg = bf; this.bi = bh; Logger.d(P, "parseSettings BANNERS settings block does not exist. Default configuration values will be used."); } Logger.d(P, "parseSettings starting TIMERS"); if (bundle2.containsKey(W)) { Bundle bundle7 = bundle2.getBundle(W); if (bundle7.containsKey(j)) { this.aF = (int) bundle7.getDouble(j, 10000.0d); if (z2) { this.aF *= 1000; } Logger.d(P, "parseSettings awsUploadTimeout (ms) " + this.aF); } else { this.aF = aE; } if (bundle7.containsKey(k)) { this.aH = (int) bundle7.getDouble(k, 15000.0d); if (z2) { this.aH *= 1000; } Logger.d(P, "parseSettings resolveUrlTimeout (ms) " + this.aH); } else { this.aH = 15000; } if (bundle7.containsKey(l)) { this.aJ = ((int) bundle7.getDouble(l, 15000.0d)) * 1000; if (z2) { this.aJ *= 1000; } Logger.d(P, "parseSettings clickValidityTimeout (ms) " + this.aJ); } else { this.aJ = 15000; } if (bundle7.containsKey(X)) { this.ah = bundle7.getInt(X, 30) * 1000; Logger.d(P, "parseSettings redirectClickTimeout (ms) value is " + this.ah + ", isFromServer=" + z2); } else { this.ah = 30000; } } else { this.aF = aE; this.aH = 15000; this.aJ = 15000; this.ah = 30000; Logger.d(P, "parseSettings TIMERS settings block does not exist. Default configuration values will be used."); } Logger.d(P, "parseSettings starting ANDROID"); if (bundle2.containsKey("android")) { Bundle bundle8 = bundle2.getBundle("android"); if (bundle8.containsKey(m)) { this.aK = bundle8.getStringArrayList(m); Logger.d(P, "parseSettings interstitialActivitiesToInclude " + this.aK); } if (bundle8.containsKey(n)) { this.aL = bundle8.getStringArrayList(n); Logger.d(P, "parseSettings interstitialActivitiesToExclude " + this.aL); } if ((this.aK != null && this.aK.size() > 0) || (this.aL != null && this.aL.size() > 0)) { Iterator<String> it = this.aK.iterator(); while (it.hasNext()) { BrandSafetyUtils.h(it.next()); } Iterator<String> it2 = this.aL.iterator(); while (it2.hasNext()) { BrandSafetyUtils.i(it2.next()); } } if (bundle8.containsKey(z)) { this.ap = bundle8.getBoolean(z, false); Logger.d(P, "parseSettings disableWebViewTracking " + this.ap); } } else { Logger.d(P, "parseSettings ANDROID settings block does not exist. Default configuration values will be used."); } Logger.d(P, "parseSettings starting GENERAL"); if (bundle2.containsKey(V)) { Bundle bundle9 = bundle2.getBundle(V); if (bundle9.containsKey(o)) { this.aM = bundle9.getString(o, "https://edge.safedk.com"); this.aM = a(this.aM); Logger.d(P, "parseSettings edgeServerUrl " + this.aM); } else { this.aM = "https://edge.safedk.com"; } if (bundle9.containsKey(p)) { this.aN = bundle9.getString(p, "https://edge.safedk.com"); this.aN = a(this.aN); Logger.d(P, "parseSettings backupEdgeServerUrl " + this.aN); } else { this.aN = "https://edge.safedk.com"; } AppLovinBridge.receiveEdgeUrls(this.aM, this.aN); if (bundle9.containsKey(q)) { this.aO = bundle9.getStringArrayList(q); Logger.d(P, "parseSettings devicesWithDebugLog " + this.aO); } } else { Logger.d(P, "parseSettings GENERAL settings block does not exist. Default configuration values will be used."); } Logger.d(P, "parseSettings starting Ad CACHING"); if (bundle2.containsKey(U)) { Bundle bundle10 = bundle2.getBundle(U); if (bundle10.containsKey(r)) { this.aQ = (int) bundle10.getDouble(r, 1200000.0d); Logger.d(P, "parseSettings cachedCreativeInfoMaxAge " + this.aQ); } else { this.aQ = L; } CreativeInfoManager.a(AdNetworkConfiguration.SDK_SPECIFIC_CACHED_CI_MAX_AGE, this.aQ); if (bundle10.containsKey(s)) { this.aR = bundle10.getInt(s); Logger.d(P, "parseSettings cachedMaxNumberOfItems " + this.aR); } else { this.aR = 50; } if (bundle10.containsKey(t)) { this.aT = bundle10.getInt(t); Logger.d(P, "parseSettings cachedNumberOfItemsThreshold " + this.aT); } else { this.aT = 5; } if (bundle10.containsKey(u)) { this.aP = bundle10.getStringArrayList(u); Logger.d(P, "parseSettings cacheSupportingSdkUUIDs " + this.aP); } if (this.aP != null && this.aP.size() > 0) { a(this.aP); } try { if (bundle10.containsKey(Z)) { Logger.d(P, "parseSettings sdkSpecificCachedCIMaxAge " + bundle10.getBundle(Z)); Bundle bundle11 = bundle10.getBundle(Z); for (String str2 : bundle11.keySet()) { Logger.d(P, "parseSettings sdkSpecificCachedCIMaxAge key = " + str2 + ", value = " + bundle11.getDouble(str2)); long j2 = (long) bundle11.getDouble(str2); String sdkPackageByPackageUUID2 = SdksMapping.getSdkPackageByPackageUUID(str2); if (sdkPackageByPackageUUID2 != null) { Logger.d(P, "parseSettings sdkSpecificCachedCIMaxAge identified UUID = " + str2 + ", sdkPackageName = " + sdkPackageByPackageUUID2 + ", value = " + j2); com.safedk.android.analytics.brandsafety.creatives.a g3 = CreativeInfoManager.g(sdkPackageByPackageUUID2); if (g3 != null) { g3.a(AdNetworkConfiguration.SDK_SPECIFIC_CACHED_CI_MAX_AGE, j2); Logger.d(P, "parseSettings sdkSpecificCachedCIMaxAge UUID = " + str2 + ", sdkPackageName = " + sdkPackageByPackageUUID2 + ", value = " + j2); } } } } } catch (Throwable th2) { Logger.d(P, "parseSettings sdkSpecificCachedCreativeInfoMaxAge Exception : " + th2.getMessage(), th2); } try { if (bundle10.containsKey(aa)) { Logger.d(P, "parseSettings sdkSpecificCachedCreativeInfoMaxAge " + bundle10.getBundle(aa)); Bundle bundle12 = bundle10.getBundle(aa); for (String str3 : bundle12.keySet()) { Logger.d(P, "parseSettings sdkSpecificCachedCIExpirationBundle key = " + str3 + ", value = " + bundle12.getBoolean(str3)); boolean z3 = bundle12.getBoolean(str3); String sdkPackageByPackageUUID3 = SdksMapping.getSdkPackageByPackageUUID(str3); if (sdkPackageByPackageUUID3 != null) { Logger.d(P, "parseSettings sdkSpecificCachedCIExpirationBundle identified UUID = " + str3 + ", sdkPackageName = " + sdkPackageByPackageUUID3 + ", value = " + z3); com.safedk.android.analytics.brandsafety.creatives.a g4 = CreativeInfoManager.g(sdkPackageByPackageUUID3); if (g4 != null) { g4.b(AdNetworkConfiguration.SDK_SPECIFIC_CACHED_CI_EXPIRATION, z3); Logger.d(P, "parseSettings sdkSpecificCachedCIExpirationBundle UUID = " + str3 + ", sdkPackageName = " + sdkPackageByPackageUUID3 + ", value = " + z3); } } } } } catch (Throwable th3) { Logger.d(P, "parseSettings sdkSpecificCachedCIExpirationBundle Exception : " + th3.getMessage(), th3); } } else { this.aQ = L; this.aR = 50; this.aT = 5; Logger.d(P, "parseSettings AD_CACHING settings block does not exist. Default configuration values will be used."); } return bh; } private void a(JSONObject jSONObject) throws JSONException { Logger.d(P, "Attempting to parse sdk specific uniformity threshold. setting : " + jSONObject); if (jSONObject != null) { Iterator<String> keys = jSONObject.keys(); while (keys.hasNext()) { String next = keys.next(); int i2 = jSONObject.getInt(next); String sdkPackageByPackageUUID = SdksMapping.getSdkPackageByPackageUUID(next); if (sdkPackageByPackageUUID != null) { Logger.d(P, "Parse sdk specific uniformity threshold setting identified, UUID = " + next + ", sdkPackageName = " + sdkPackageByPackageUUID + ", value = " + i2); com.safedk.android.analytics.brandsafety.creatives.a g2 = CreativeInfoManager.g(sdkPackageByPackageUUID); if (g2 != null) { g2.a(AdNetworkConfiguration.SDK_SPECIFIC_MIN_UNIFORM_PIXELS_PERCENTAGE_FOR_UNIFORM_IMAGE, i2); Logger.d(P, "Parse sdk specific uniformity threshold set, UUID = " + next + ", sdkPackageName = " + sdkPackageByPackageUUID + ", value = " + i2); } } } return; } Logger.d(P, "Cannot parse sdk specific uniformity setting, json is null"); } private void a(Bundle bundle) { Logger.d(P, "processSdkVersionsBundle started, bundle=" + bundle.toString()); } private void a(ArrayList<String> arrayList) { this.ao.clear(); Iterator<String> it = arrayList.iterator(); while (it.hasNext()) { String next = it.next(); Logger.d(P, "Adding cacheSupportingSDKUUID " + next + " to cacheSupportedSdk List"); this.ao.add(next); } } private String a(String str) { if (str != null && str.length() > 0) { try { URL url = new URL(str); String protocol = url.getProtocol(); String host = url.getHost(); int port = url.getPort(); if (port == -1) { str = String.format("%s://%s", protocol, host); } else { str = String.format("%s://%s:%d", protocol, host, Integer.valueOf(port)); } } catch (MalformedURLException e2) { Logger.e(P, "Exception sanitizing server url:" + e2.getMessage(), e2); } } return str; } private boolean a(Double d2, String str) { Logger.d(P, "checkActivePercent started, activePercent=" + d2 + ", userId=" + str); float a2 = DeviceData.a("", str); Logger.d(P, "checkActivePercent hashValue ==" + a2); if (a2 <= d2.doubleValue()) { return bh; } return false; } public long H() { return this.aQ; } public int I() { return this.aR; } public int J() { return this.aT; } public ArrayList<String> K() { return this.ao; } }