Idle Egg Factory v2.1.5版本的 MD5 值为:7d2ba6677008ca521af0101bb927d72a

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


package com.safedk.android.analytics.brandsafety.creatives.discoveries;

import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import com.mbridge.msdk.foundation.entity.CampaignUnit;
import com.safedk.android.analytics.brandsafety.BrandSafetyUtils;
import com.safedk.android.analytics.brandsafety.creatives.AdNetworkConfiguration;
import com.safedk.android.analytics.brandsafety.creatives.AdNetworkDiscovery;
import com.safedk.android.analytics.brandsafety.creatives.CreativeInfoManager;
import com.safedk.android.analytics.brandsafety.creatives.discoveries.c;
import com.safedk.android.analytics.brandsafety.creatives.infos.CreativeInfo;
import com.safedk.android.analytics.brandsafety.creatives.infos.VungleCreativeInfo;
import com.safedk.android.analytics.events.BrandSafetyEvent;
import com.safedk.android.utils.Logger;
import com.safedk.android.utils.PersistentConcurrentHashMap;
import com.safedk.android.utils.j;
import java.io.File;
import java.security.InvalidParameterException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class l extends d {
    private static final String A = "MAIN_VIDEO";
    private static final String B = "postBundle";
    private static final String C = "templateURL";
    private static final String D = "template_type";
    private static final String E = "expiry";
    private static final String F = "com.applovin.mediation.adapters.VungleMediationAdapter";
    private static final String G = "adType";
    private static final String H = "banner";
    private static final String I = "placements";
    private static final String J = "reference_id";
    private static final String K = "is_incentivized";
    private static final String L = "tpat";
    private static final String M = "templateSettings";
    private static final String N = "normal_replacements";
    private static final String O = "clickUrl";
    private static final String P = "ad_market_id";
    private static final String Q = "CTA_BUTTON_URL";
    private static final String R = "EC_CTA_URL";
    private static final String S = "https://privacy.vungle.com/";
    private static PersistentConcurrentHashMap<String, VungleCreativeInfo> T = null;
    private static PersistentConcurrentHashMap<Integer, VungleCreativeInfo> U = null;
    private static PersistentConcurrentHashMap<String, VungleCreativeInfo> V = null;
    private static PersistentConcurrentHashMap<String, Boolean> W = null;
    private static final long X = 259200000;
    public static final String b = "MAIN_VIDEO.mp4";
    public static final String c = "ad_markup";
    public static final String k = "com.vungle.warren.BuildConfig";
    public static final String l = "VERSION_NAME";
    public static final String m = "(function(){var sdkId=\"{{SDK_ID}}\";var address=\"{{ADDRESS}}\";var log=function(message){try{window.webkit.messageHandlers.safedkDebug.postMessage(message)}catch(error){}};var addObservers=function(){try{var dialogboxElement=document.getElementById(\"DIALOGBOX\");if(dialogboxElement&&dialogboxElement.style&&dialogboxElement.style.visibility){var element_style_visibility=dialogboxElement.style.visibility;if(element_style_visibility==\"visible\"){window.webkit.messageHandlers.safedkNoSampling.postMessage(sdkId,address,window.outerHeight,window.outerWidth)}else{if(dialogboxElement.safedkPrivacyDialogObserver!=true){dialogboxElement.safedkPrivacyDialogObserver=true;try{var MutationObserver=window.WebKitMutationObserver||window.MutationObserver;var observer=new MutationObserver(function(mutations){mutations.forEach(function(mutation){switch(mutation.type){case\"attributes\":if(getComputedStyle(mutation.target).visibility==\"visible\"){window.webkit.messageHandlers.safedkNoSampling.postMessage(sdkId,address,window.outerHeight,window.outerWidth)}break}})});var config={attributes:true,attributeOldValue:true,attributeFilter:[\"style\"]};observer.observe(dialogboxElement,config)}catch(error){window.webkit.messageHandlers.safedkNoSamplingExc.postMessage(\"address = \"+address+\" \"+error.message+\"\\n\"+error.stack)}}}}else{var privacyPageElement=document.getElementById(\"privacy-page\");if(privacyPageElement){var privacyPageParentElement=privacyPageElement.parentElement;if(privacyPageParentElement){var computedStyle=getComputedStyle(privacyPageParentElement);if(computedStyle){var displayState=computedStyle.display;if(displayState!=\"none\"){window.webkit.messageHandlers.safedkNoSampling.postMessage(sdkId,address,window.outerHeight,window.outerWidth)}else{if(privacyPageParentElement.safedkPrivacyDialogObserver!=true){privacyPageParentElement.safedkPrivacyDialogObserver=true;try{var MutationObserver=window.WebKitMutationObserver||window.MutationObserver;var observer=new MutationObserver(function(mutations){mutations.forEach(function(mutation){switch(mutation.type){case\"attributes\":if(mutation.target.style.display!=\"none\"){window.webkit.messageHandlers.safedkNoSampling.postMessage(sdkId,address,window.outerHeight,window.outerWidth)}break}})});var config={attributes:true,attributeOldValue:true,attributeFilter:[\"style\"]};observer.observe(privacyPageParentElement,config)}catch(error){window.webkit.messageHandlers.safedkNoSamplingExc.postMessage(\"address = \"+address+\" \"+error.message+\"\\n\"+error.stack)}}}}}}}}catch(error){log(\"caught exception with error = \"+error);window.webkit.messageHandlers.safedkNoSamplingExc.postMessage(\"address = \"+address+\" \"+error.message+\"\\n\"+error.stack)}};var monitorNotifications=function(){try{var divIds=[\"ad-notification-modal\",\"gdpr-notification-view\"];for(var divId of divIds){var element=document.getElementById(divId);if(element){var className=element.className;if(element.className.endsWith(\"show\")){log(\"element.className = \"+element.className);window.webkit.messageHandlers.safedkNoSampling.postMessage(sdkId,address,window.outerHeight,window.outerWidth)}else{if(element.safedkVisibilityObserver!=true){element.safedkVisibilityObserver=true;try{var MutationObserver=window.WebKitMutationObserver||window.MutationObserver;var observer=new MutationObserver(function(mutations){mutations.forEach(function(mutation){if(mutation.type==\"attributes\"){if(mutation.target.className.endsWith(\"show\")){window.webkit.messageHandlers.safedkNoSampling.postMessage(sdkId,address,window.outerHeight,window.outerWidth)}}})});var config={attributes:true,attributeOldValue:true,attributeFilter:[\"class\"]};observer.observe(element,config)}catch(error){window.webkit.messageHandlers.safedkNoSamplingExc.postMessage(\"address = \"+address+\" \"+error.message+\"\\n\"+error.stack)}}}}}}catch(error){log(\"caught exception with error = \"+error);window.webkit.messageHandlers.safedkNoSamplingExc.postMessage(\"address = \"+address+\" \"+error.message+\"\\n\"+error.stack)}};addObservers();monitorNotifications();try{var MutationObserver=window.WebKitMutationObserver||window.MutationObserver;var observer=new MutationObserver(function(mutations){mutations.forEach(function(mutation){for(var i=0;i<mutation.addedNodes.length;i++){var node=mutation.addedNodes[i];if(node&&node.nodeName!=\"#text\"){addObservers();monitorNotifications()}}})});var config={childList:true,subtree:true};observer.observe(document,config)}catch(error){window.webkit.messageHandlers.safedkNoSamplingExc.postMessage(\"address = \"+address+\" \"+error.message+\"\\n\"+error.stack)}})();\n";
    private static final String n = "VungleDiscovery";
    private static final String o = "id";
    private static final String p = "campaign";
    private static final String q = "callToActionDest";
    private static final String r = "callToActionUrl";
    private static final String s = "info";
    private static final String t = "impression auctioned but unsold";
    private static final String u = "url";
    private static final String v = "showCloseIncentivized";
    private static final int w = 9999;
    private static final String x = "placement_reference_id";
    private static final String y = "templateSettings";
    private static final String z = "cacheable_replacements";

    public l() {
        super(com.safedk.android.utils.f.d, n, true);
        try {
            T = new PersistentConcurrentHashMap<>("VungleDiscoverycreativeToIdMap");
            Logger.d(n, "CI to ID map loaded, key set: " + T.keySet());
            U = new PersistentConcurrentHashMap<>("VungleDiscoverymediaPlayerIdToCreativeInfo");
            Logger.d(n, "media player to CI loaded, key set: " + U.keySet());
            V = new PersistentConcurrentHashMap<>("VungleDiscoveryadToIdMap");
            Logger.d(n, "ad to ID map loaded, key set: " + V.keySet());
            W = new PersistentConcurrentHashMap<>("VungleDiscoveryplacementData");
            Logger.d(n, "placement data loaded, key set: " + W.keySet());
        } catch (InvalidParameterException e) {
            Logger.e(n, "Error initializing VungleDiscovery, caching will not be available", e);
        }
        this.d.b(AdNetworkConfiguration.SUPPORTS_JAVASCRIPT_BASED_VIDEO_STATE_DETECTION, true);
        this.d.b(AdNetworkConfiguration.SUPPORTS_JAVASCRIPT_BASED_PRIVACY_BUTTON_CLICK_DETECTION, true);
        this.d.b(AdNetworkConfiguration.JS_PRIVACY_BUTTON_CLICK_DETECTION_SCRIPT, m);
        this.d.a(AdNetworkConfiguration.SDK_SPECIFIC_CACHED_CI_MAX_AGE, X);
    }

    @Override
    protected List<CreativeInfo> b(String str, String str2, Map<String, List<String>> map, c.a aVar) throws JSONException {
        CreativeInfo a2;
        j.b(n, "generate info started, url: " + str + ", buffer: " + str2 + ", maxParams: " + aVar);
        JSONObject jSONObject = new JSONObject(str2);
        ArrayList arrayList = new ArrayList();
        if (str.contains("api.vungle.com/config")) {
            j.b(n, "Config request intercepted: " + str2);
            m(str2);
            return null;
        }
        if (jSONObject.has("id")) {
            CreativeInfo a3 = a(jSONObject, (String) null);
            arrayList.add(a3);
            T.put(a3.B(), (VungleCreativeInfo) a3);
            Logger.d(n, "ci to ID map key added " + a3.B() + ", key set: " + T.keySet().toString());
        } else if (jSONObject.has(CampaignUnit.JSON_KEY_ADS)) {
            JSONArray jSONArray = jSONObject.getJSONArray(CampaignUnit.JSON_KEY_ADS);
            int i = 0;
            while (true) {
                int i2 = i;
                if (i2 >= jSONArray.length()) {
                    break;
                }
                JSONObject jSONObject2 = jSONArray.getJSONObject(i2);
                JSONObject jSONObject3 = jSONObject2.getJSONObject(c);
                String string = jSONObject2.getString(x);
                if (a(jSONObject2) && (a2 = a(jSONObject3, string)) != null) {
                    arrayList.add(a2);
                    T.put(a2.B(), (VungleCreativeInfo) a2);
                    Logger.d(n, "ci to ID map key added " + a2.B() + ", key set: " + T.keySet().toString());
                }
                i = i2 + 1;
            }
        }
        return arrayList;
    }

    private void m(String str) throws JSONException {
        j.b(n, "process placements started, buffer = " + str);
        JSONObject jSONObject = new JSONObject(str);
        if (jSONObject.has(I)) {
            JSONArray jSONArray = jSONObject.getJSONArray(I);
            for (int i = 0; i < jSONArray.length() - 1; i++) {
                JSONObject jSONObject2 = jSONArray.getJSONObject(i);
                if (jSONObject2.has(J) && jSONObject2.has(K)) {
                    W.put(jSONObject2.getString(J), Boolean.valueOf(jSONObject2.getBoolean(K)));
                    Logger.d(n, "process placements added " + jSONObject2.getString(J) + " : " + jSONObject2.getBoolean(K));
                } else {
                    Logger.d(n, "process placements placement does not contains ref_id/is_incentivized data : " + jSONObject2);
                }
            }
            return;
        }
        Logger.d(n, "process placements no placements array");
    }

    @Override
    public String b(String str, String str2) {
        String n2 = n(str);
        if (n2 == null) {
            return null;
        }
        Logger.d(n, "get ad ID from resource returned ad ID: " + n2);
        return n2;
    }

    @Override
    public int c(String str) {
        if (str != null) {
            return str.hashCode();
        }
        return 0;
    }

    @Override
    public void a(Object obj, Object obj2) {
        try {
            Logger.d(n, "handle media player set data source call, media player: " + obj + ", video file: " + obj2);
            Uri uri = (Uri) obj2;
            Logger.d(n, "handle media player set data source call, uri: " + uri.toString());
            VungleCreativeInfo a2 = a(new File(uri.getPath()));
            if (a2 != null && !U.containsKey(Integer.valueOf(System.identityHashCode(obj)))) {
                Logger.d(n, "handle media player set data source call, adding CI to map");
                U.put(Integer.valueOf(System.identityHashCode(obj)), a2);
            }
        } catch (Exception e) {
            Logger.e(n, "exception when trying to add mediaPlayer id and VungleCreativeInfo " + e.getMessage());
        }
    }

    @Override
    public String b(Object obj) {
        try {
            Logger.d(n, "get CI after media player start call, media player: " + obj);
            VungleCreativeInfo remove = U.remove(Integer.valueOf(System.identityHashCode(obj)));
            if (remove != null) {
                if (T.remove(remove.B()) == null) {
                    Logger.d(n, "Cannot find " + remove.B() + " in creative to ID map");
                } else {
                    Logger.d(n, "creative to ID map key '" + remove.B() + "'removed, key set: " + T.keySet().toString());
                }
                Logger.d(n, "get CI after media player start call - returning " + remove.z() + " as ad ID");
                return remove.z();
            }
            Logger.d(n, "get CI after media player start call - cannot find creative in media player ID to CI map");
            return null;
        } catch (Exception e) {
            Logger.e(n, "exception when trying to remove from media player ID to CI map" + e.getMessage());
            return null;
        }
    }

    @Override
    protected String a(String str, CreativeInfo creativeInfo) {
        return null;
    }

    @Override
    protected boolean g(String str) {
        Logger.d(n, "should follow get url: " + str);
        if (str.toLowerCase().endsWith(b.toLowerCase())) {
            Logger.d(n, "should follow get url - returning true for url: " + str);
            return true;
        }
        if (str.equals(S)) {
            Logger.d(n, "Vungle privacy policy url invoked");
            CreativeInfoManager.b(com.safedk.android.utils.f.d, (String) null);
        }
        String n2 = n(str);
        if (n2 != null && n2.length() > 0) {
            if (V.containsKey(n2)) {
                Logger.d(n, "ad to ID map contains creative ID: " + n2 + ", returning true");
                return true;
            }
            Logger.d(n, "ad to ID map does not contains creative ID: " + n2);
        }
        return false;
    }

    @Override
    protected boolean b(String str, Bundle bundle) {
        boolean z2 = str.contains("adx.ads.vungle.com/api/v5/ads") || str.contains("api.vungle.com/api/v4/requestAd") || str.contains("api.vungle.com/api/v5/ads") || str.contains("api.vungle.com/config");
        if (z2) {
            Logger.d(n, "should follow input stream, url: " + str);
        }
        return z2;
    }

    private CreativeInfo a(JSONObject jSONObject, String str) throws JSONException {
        JSONObject jSONObject2;
        JSONObject jSONObject3;
        String adFormatType;
        JSONObject optJSONObject;
        JSONObject jSONObject4;
        try {
            j.b(n, "get CI from Json object: " + jSONObject);
            String string = jSONObject.getString("id");
            Logger.d(n, "ad ID: " + string);
            if (string.equals("") && jSONObject.has("info") && jSONObject.getString("info").equals(t)) {
                Logger.d(n, "No fill, exiting");
                return null;
            }
            if (!jSONObject.has("templateSettings") || (jSONObject4 = jSONObject.getJSONObject("templateSettings")) == null || !jSONObject4.has(N)) {
                jSONObject2 = null;
            } else {
                jSONObject2 = jSONObject4.getJSONObject(N);
            }
            if (!jSONObject.has(L)) {
                jSONObject3 = null;
            } else {
                jSONObject3 = jSONObject.getJSONObject(L);
            }
            String str2 = null;
            if (jSONObject2 != null && jSONObject2.has("CTA_BUTTON_URL")) {
                str2 = jSONObject2.optString("CTA_BUTTON_URL", null);
            }
            if (str2 == null && jSONObject2 != null && jSONObject2.has(R)) {
                str2 = jSONObject2.optString(R, null);
            }
            if (str2 == null && jSONObject.has(r)) {
                str2 = jSONObject.getString(r);
            }
            if (str2 == null && jSONObject3 != null && jSONObject3.has(O)) {
                str2 = jSONObject3.optString(O, null);
            }
            HashMap<String, String> b2 = b(jSONObject, string);
            if (str2 == null && b2.containsKey("clickUrl_0")) {
                String str3 = b2.get("clickUrl_0");
                b2.remove("clickUrl_0");
                str2 = str3;
            }
            String string2 = jSONObject.getString("campaign");
            if (string2 == null || (string2 != null && string2.equals("null"))) {
                Logger.d(n, "Campaign is null, exiting");
                return null;
            }
            Logger.d(n, "Campaign: " + string2);
            String str4 = string2.split("\\|")[1];
            String str5 = null;
            String string3 = jSONObject.getString("url");
            if (jSONObject.has(B)) {
                str5 = jSONObject.getString(B);
                Logger.d(n, "zip files bundle identified " + str5 + " in " + B);
            } else if (jSONObject.has(C)) {
                str5 = jSONObject.getString(C);
                Logger.d(n, "zip files bundle identified " + str5 + " in " + C);
            } else {
                Logger.d(n, "zip files bundle not present in prefetch data.");
            }
            if (TextUtils.isEmpty(string3) && (optJSONObject = jSONObject.optJSONObject("templateSettings")) != null) {
                JSONObject jSONObject5 = optJSONObject.getJSONObject(z);
                if (jSONObject5.has(A)) {
                    string3 = jSONObject5.getJSONObject(A).getString("url");
                }
            }
            long currentTimeMillis = System.currentTimeMillis() + this.d.e(AdNetworkConfiguration.SDK_SPECIFIC_CACHED_CI_MAX_AGE);
            Logger.d(n, "expiration initial value (now + 1 week) =  " + currentTimeMillis);
            if (jSONObject.has(E)) {
                currentTimeMillis = jSONObject.getLong(E) * 1000;
                Logger.d(n, "expiration override ,  new values is " + currentTimeMillis);
            }
            BrandSafetyUtils.AdType adType = BrandSafetyUtils.AdType.INTERSTITIAL;
            String optString = jSONObject.optString(D, null);
            if (optString != null && optString.equals(H)) {
                adType = BrandSafetyUtils.AdType.BANNER;
            }
            if (adType == BrandSafetyUtils.AdType.INTERSTITIAL) {
                if (W.containsKey(str)) {
                    if (W.get(str).booleanValue()) {
                        adFormatType = BrandSafetyEvent.AdFormatType.REWARD.toString();
                    } else {
                        adFormatType = BrandSafetyEvent.AdFormatType.INTER.toString();
                    }
                    Logger.d(n, "process placements placement " + str + " is " + adFormatType);
                } else {
                    Logger.d(n, "process placements data does not contain the placement " + str + ", will try to determine based on REWARDED_VALUE");
                    adFormatType = jSONObject.optInt(v) == w ? BrandSafetyEvent.AdFormatType.REWARD.toString() : BrandSafetyEvent.AdFormatType.INTER.toString();
                }
            } else {
                adFormatType = BrandSafetyEvent.AdFormatType.BANNER.toString();
            }
            ArrayList<String> f = j.f(jSONObject.toString());
            Logger.d(n, "get CI from Json object - id: " + string);
            Logger.d(n, "get CI from Json object - click url: " + str2);
            Logger.d(n, "get CI from Json object - creative id: " + str4);
            Logger.d(n, "get CI from Json object - video url: " + string3);
            Logger.d(n, new StringBuilder().append("postBundle = ").append(str5).toString() != null ? str5 : "");
            String string4 = jSONObject.getString(G);
            Logger.d(n, "get CI from Json object - ad type: " + string4);
            VungleCreativeInfo vungleCreativeInfo = new VungleCreativeInfo(adType, string, str4, str2, string3, adFormatType, str, this.h, currentTimeMillis, string4);
            vungleCreativeInfo.b((List<String>) f);
            V.put(string, vungleCreativeInfo);
            if (string3 != null) {
                vungleCreativeInfo.b(Arrays.asList(string3));
            }
            if (str5 != null) {
                Logger.d(n, "adding zip files bundle " + str5 + " to prefetch resources");
                vungleCreativeInfo.c(Arrays.asList(str5));
            }
            if (b2.size() > 0) {
                for (String str6 : b2.values()) {
                    if (vungleCreativeInfo.r(str6)) {
                        Logger.d(n, "adding url to CI dsp domains: " + str6);
                        vungleCreativeInfo.s(str6);
                    }
                }
            }
            if (vungleCreativeInfo.w() == null && jSONObject.has(q)) {
                a(jSONObject.getString(q), vungleCreativeInfo);
            }
            if (vungleCreativeInfo.w() == null && jSONObject.has(r)) {
                a(jSONObject.getString(r), vungleCreativeInfo);
            }
            if (vungleCreativeInfo.w() == null && jSONObject.has("ad_market_id")) {
                a(jSONObject.getString("ad_market_id"), vungleCreativeInfo);
            }
            if (vungleCreativeInfo.w() == null && jSONObject2 != null && jSONObject2.has("CTA_BUTTON_URL")) {
                a(jSONObject2.getString("CTA_BUTTON_URL"), vungleCreativeInfo);
            }
            if (vungleCreativeInfo.w() == null && jSONObject2 != null && jSONObject2.has(R)) {
                a(jSONObject2.getString(R), vungleCreativeInfo);
            }
            if (vungleCreativeInfo.w() == null && jSONObject3 != null && jSONObject3.has(O)) {
                a(jSONObject3.getString(O), vungleCreativeInfo);
                return vungleCreativeInfo;
            }
            return vungleCreativeInfo;
        } catch (Throwable th) {
            Logger.e(n, "get CI from Json object exception: " + th.getMessage(), th);
            return null;
        }
    }

    private void a(String str, VungleCreativeInfo vungleCreativeInfo) {
        if (str != null && j.t(str)) {
            vungleCreativeInfo.n(str);
            Logger.d(n, "app package name will be updated to " + str);
        } else {
            Logger.d(n, "app package name value is " + str + ", not valid, skipping");
        }
    }

    private HashMap<String, String> b(JSONObject jSONObject, String str) {
        HashMap<String, String> hashMap = new HashMap<>();
        try {
            if (jSONObject.has(L)) {
                JSONObject jSONObject2 = jSONObject.getJSONObject(L);
                Iterator<String> keys = jSONObject2.keys();
                while (keys.hasNext()) {
                    String obj = keys.next().toString();
                    if (jSONObject2.get(obj) instanceof JSONArray) {
                        JSONArray jSONArray = jSONObject2.getJSONArray(obj);
                        Logger.d(n, "iterating over key '" + obj + "' , content: " + jSONArray.toString());
                        if (jSONArray.length() > 0) {
                            for (int i = 0; i < jSONArray.length(); i++) {
                                if (!hashMap.values().contains(jSONArray.getString(i))) {
                                    hashMap.put(obj + "_" + i, jSONArray.getString(i));
                                    Logger.d(n, "collecting additional url: " + jSONArray.getString(i));
                                } else {
                                    Logger.d(n, "url already in map. skipping: " + jSONArray.getString(i));
                                }
                            }
                        }
                    } else {
                        Logger.d(n, "key '" + obj + "' is not a JSONArray, skipping");
                    }
                }
            } else {
                Logger.d(n, "tpat key does not exist, exiting");
            }
        } catch (JSONException e) {
            Logger.e(n, "Error collecting urls under tpat key", e);
        }
        return hashMap;
    }

    private VungleCreativeInfo a(File file) {
        if (file == null) {
            Logger.d(n, "get ad ID by video file - file is null");
            return null;
        }
        String n2 = n(file.getAbsolutePath());
        Logger.d(n, "get ad ID by video file - creative to ID map iteration, looking for '" + n2 + "', key set: " + T.keySet().toString());
        if (T != null && n2 != null) {
            VungleCreativeInfo remove = T.remove(n2);
            if (remove != null) {
                Logger.d(n, "get ad ID by video file - CI MATCH! creative found: " + n2);
                return remove;
            }
            Iterator<String> it = T.keySet().iterator();
            while (it.hasNext()) {
                VungleCreativeInfo vungleCreativeInfo = T.get(it.next());
                if (vungleCreativeInfo.B().equals(n2)) {
                    Logger.d(n, "get ad ID by video file - CI MATCH! creative found: " + n2);
                    return vungleCreativeInfo;
                }
            }
        }
        Logger.d(n, "get ad ID by video file - creative not found");
        return null;
    }

    private String n(String str) {
        if (str.split("/").length > 1) {
            String str2 = str.split("/")[str.split("/").length - 2];
            Logger.d(n, "ad ID to be searched: " + str2);
            return str2;
        }
        Logger.d(n, "file path is not according to the expected pattern: " + str + ", cannot extract CreativeId");
        return null;
    }

    private boolean a(JSONObject jSONObject) throws JSONException {
        JSONObject jSONObject2 = (JSONObject) jSONObject.get(c);
        if (!jSONObject2.has(D)) {
            return true;
        }
        String string = jSONObject2.getString(D);
        return string == null || !string.toLowerCase().equals("mrec");
    }

    @Override
    public Set<String> c() {
        return new HashSet();
    }

    @Override
    public String f() {
        return F;
    }

    @Override
    public AdNetworkDiscovery.WebViewResourceMatchingMethod b() {
        return AdNetworkDiscovery.WebViewResourceMatchingMethod.WEBVIEW_LOOKUP;
    }

    @Override
    public void i() {
        Logger.d(n, "clear old CIs started");
        super.i();
        com.safedk.android.utils.e.a(T, "VungleDiscovery:creativeToIdMap");
        com.safedk.android.utils.e.a(U, "VungleDiscovery:mediaPlayerIdToCreativeInfo");
        com.safedk.android.utils.e.a(V, "VungleDiscovery:adToIdMap");
    }
}