Perfume Of Love v2.14.9版本的 MD5 值为:16011aefc5a55805771706ce3b259b4e

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


package com.applovin.impl.sdk.nativeAd;

import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import com.applovin.impl.sdk.AppLovinAdBase;
import com.applovin.impl.sdk.array.ArrayService;
import com.applovin.impl.sdk.n;
import com.applovin.impl.sdk.network.l;
import com.applovin.impl.sdk.utils.JsonUtils;
import com.applovin.impl.sdk.utils.StringUtils;
import com.applovin.impl.sdk.utils.Utils;
import com.applovin.impl.sdk.utils.h;
import com.applovin.impl.sdk.utils.k;
import com.applovin.impl.sdk.v;
import com.applovin.sdk.AppLovinSdkUtils;
import com.iab.omid.library.applovin.adsession.VerificationScriptResource;
import com.mbridge.msdk.playercommon.exoplayer2.C;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import org.json.JSONArray;
import org.json.JSONObject;
public class AppLovinNativeAdImpl extends AppLovinAdBase implements AppLovinNativeAd {
    private static final String AD_RESPONSE_TYPE_APPLOVIN = "applovin";
    private static final String AD_RESPONSE_TYPE_ORTB = "ortb";
    private static final String AD_RESPONSE_TYPE_UNDEFINED = "undefined";
    private static final String DEFAULT_APPLOVIN_PRIVACY_URL = "https://www.applovin.com/privacy/";
    private static final float MINIMUM_STARS_TO_RENDER = 3.0f;
    private final com.applovin.impl.sdk.a.e adEventTracker;
    private final String advertiser;
    private final String body;
    private final String callToAction;
    private final Uri clickDestinationBackupUri;
    private final Uri clickDestinationUri;
    private final a clickHandler;
    private final List<String> clickTrackingUrls;
    private AppLovinNativeAdEventListener eventListener;
    private Uri iconUri;
    private final List<l> impressionRequests;
    private final AtomicBoolean impressionTracked;
    private final List<String> jsTrackers;
    private Uri mainImageUri;
    private AppLovinMediaView mediaView;
    private ViewGroup nativeAdView;
    private final b onAttachStateChangeHandler;
    private AppLovinOptionsView optionsView;
    private Uri privacyDestinationUri;
    private Uri privacyIconUri;
    private final List<View> registeredViews;
    private final Double starRating;
    private final String tag;
    private final String title;
    private final com.applovin.impl.b.a vastAd;
    private final List<l> viewableMRC100Requests;
    private final List<l> viewableMRC50Requests;
    private final List<l> viewableVideo50Requests;

    public static class Builder {
        private final JSONObject adObject;
        private String advertiser;
        private String body;
        private String callToAction;
        private Uri clickDestinationBackupUri;
        private Uri clickDestinationUri;
        private List<String> clickTrackingUrls;
        private final JSONObject fullResponse;
        private Uri iconUri;
        private List<l> impressionRequests;
        private List<String> jsTrackers;
        private Uri mainImageUri;
        private Uri privacyDestinationUri;
        private Uri privacyIconUri;
        private final n sdk;
        private Double starRating;
        private String title;
        private com.applovin.impl.b.a vastAd;
        private List<l> viewableMRC100Requests;
        private List<l> viewableMRC50Requests;
        private List<l> viewableVideo50Requests;

        public Builder(JSONObject jSONObject, JSONObject jSONObject2, n nVar) {
            this.adObject = jSONObject;
            this.fullResponse = jSONObject2;
            this.sdk = nVar;
        }

        public AppLovinNativeAdImpl build() {
            return new AppLovinNativeAdImpl(this);
        }

        public Builder setAdvertiser(String str) {
            this.advertiser = str;
            return this;
        }

        public Builder setBody(String str) {
            this.body = str;
            return this;
        }

        public Builder setCallToAction(String str) {
            this.callToAction = str;
            return this;
        }

        public Builder setClickDestinationBackupUri(Uri uri) {
            this.clickDestinationBackupUri = uri;
            return this;
        }

        public Builder setClickDestinationUri(Uri uri) {
            this.clickDestinationUri = uri;
            return this;
        }

        public Builder setClickTrackingUrls(List<String> list) {
            this.clickTrackingUrls = list;
            return this;
        }

        public Builder setIconUri(Uri uri) {
            this.iconUri = uri;
            return this;
        }

        public Builder setImpressionRequests(List<l> list) {
            this.impressionRequests = list;
            return this;
        }

        public Builder setJsTrackers(List<String> list) {
            this.jsTrackers = list;
            return this;
        }

        public Builder setMainImageUri(Uri uri) {
            this.mainImageUri = uri;
            return this;
        }

        public Builder setPrivacyDestinationUri(Uri uri) {
            this.privacyDestinationUri = uri;
            return this;
        }

        public Builder setPrivacyIconUri(Uri uri) {
            this.privacyIconUri = uri;
            return this;
        }

        public Builder setStarRating(Double d) {
            this.starRating = d;
            return this;
        }

        public Builder setTitle(String str) {
            this.title = str;
            return this;
        }

        public Builder setVastAd(com.applovin.impl.b.a aVar) {
            this.vastAd = aVar;
            return this;
        }

        public Builder setViewableMRC100Requests(List<l> list) {
            this.viewableMRC100Requests = list;
            return this;
        }

        public Builder setViewableMRC50Requests(List<l> list) {
            this.viewableMRC50Requests = list;
            return this;
        }

        public Builder setViewableVideo50Requests(List<l> list) {
            this.viewableVideo50Requests = list;
            return this;
        }
    }

    public static class a implements View.OnClickListener {
        private final AppLovinNativeAdImpl a;

        public a(AppLovinNativeAdImpl appLovinNativeAdImpl) {
            this.a = appLovinNativeAdImpl;
        }

        public void a(AppLovinNativeAdImpl appLovinNativeAdImpl, Context context) {
            v J;
            String str;
            StringBuilder sb;
            Uri uri;
            if (Utils.openUri(context, appLovinNativeAdImpl.clickDestinationUri, appLovinNativeAdImpl.sdk)) {
                appLovinNativeAdImpl.sdk.J();
                if (!v.a()) {
                    return;
                }
                J = appLovinNativeAdImpl.sdk.J();
                str = appLovinNativeAdImpl.tag;
                sb = new StringBuilder();
                sb.append("Opening URL: ");
                uri = appLovinNativeAdImpl.clickDestinationUri;
            } else if (!Utils.openUri(context, appLovinNativeAdImpl.clickDestinationBackupUri, appLovinNativeAdImpl.sdk)) {
                return;
            } else {
                appLovinNativeAdImpl.sdk.J();
                if (!v.a()) {
                    return;
                }
                J = appLovinNativeAdImpl.sdk.J();
                str = appLovinNativeAdImpl.tag;
                sb = new StringBuilder();
                sb.append("Opening backup URL: ");
                uri = appLovinNativeAdImpl.clickDestinationBackupUri;
            }
            sb.append(uri);
            J.b(str, sb.toString());
        }

        public AppLovinNativeAdImpl a() {
            return this.a;
        }

        protected boolean a(Object obj) {
            return obj instanceof a;
        }

        public boolean equals(Object obj) {
            if (obj == this) {
                return true;
            }
            if (obj instanceof a) {
                a aVar = (a) obj;
                if (aVar.a((Object) this)) {
                    AppLovinNativeAdImpl a = a();
                    AppLovinNativeAdImpl a2 = aVar.a();
                    return a != null ? a.equals(a2) : a2 == null;
                }
                return false;
            }
            return false;
        }

        public int hashCode() {
            AppLovinNativeAdImpl a = a();
            return 59 + (a == null ? 43 : a.hashCode());
        }

        @Override
        public void onClick(final View view) {
            this.a.sdk.J();
            if (v.a()) {
                this.a.sdk.J().b(this.a.tag, "Handle view clicked");
            }
            this.a.sdk.D().maybeSubmitPersistentPostbacks(this.a.getDirectClickTrackingPostbacks());
            for (String str : this.a.clickTrackingUrls) {
                this.a.sdk.ae().dispatchPostbackAsync(str, null);
            }
            k.a(this.a.eventListener, this.a);
            if (this.a.isDirectDownloadEnabled()) {
                this.a.sdk.ad().startDirectInstallOrDownloadProcess(this.a, new ArrayService.DirectDownloadListener() {
                    @Override
                    public void onAppDetailsDismissed() {
                    }

                    @Override
                    public void onAppDetailsDisplayed() {
                    }

                    @Override
                    public void onFailure() {
                        a aVar = a.this;
                        aVar.a(aVar.a, view.getContext());
                    }
                });
            } else {
                a(this.a, view.getContext());
            }
        }

        public String toString() {
            return "AppLovinNativeAdImpl.ClickHandler(ad=" + a() + ")";
        }
    }

    public static class b implements View.OnAttachStateChangeListener {
        private final AppLovinNativeAdImpl a;

        public b(AppLovinNativeAdImpl appLovinNativeAdImpl) {
            this.a = appLovinNativeAdImpl;
        }

        public AppLovinNativeAdImpl a() {
            return this.a;
        }

        protected boolean a(Object obj) {
            return obj instanceof b;
        }

        public boolean equals(Object obj) {
            if (obj == this) {
                return true;
            }
            if (obj instanceof b) {
                b bVar = (b) obj;
                if (bVar.a(this)) {
                    AppLovinNativeAdImpl a = a();
                    AppLovinNativeAdImpl a2 = bVar.a();
                    return a != null ? a.equals(a2) : a2 == null;
                }
                return false;
            }
            return false;
        }

        public int hashCode() {
            AppLovinNativeAdImpl a = a();
            return 59 + (a == null ? 43 : a.hashCode());
        }

        @Override
        public void onViewAttachedToWindow(View view) {
            this.a.maybeHandleOnAttachedToWindow(view);
        }

        @Override
        public void onViewDetachedFromWindow(View view) {
        }

        public String toString() {
            return "AppLovinNativeAdImpl.OnAttachStateChangeHandler(ad=" + a() + ")";
        }
    }

    private AppLovinNativeAdImpl(Builder builder) {
        super(builder.adObject, builder.fullResponse, builder.sdk);
        Uri parse;
        this.impressionTracked = new AtomicBoolean();
        this.registeredViews = new ArrayList();
        this.clickHandler = new a(this);
        this.onAttachStateChangeHandler = new b(this);
        this.adEventTracker = new com.applovin.impl.sdk.a.e(this);
        this.title = builder.title;
        this.advertiser = builder.advertiser;
        this.body = builder.body;
        this.callToAction = builder.callToAction;
        this.iconUri = builder.iconUri;
        this.mainImageUri = builder.mainImageUri;
        this.privacyIconUri = builder.privacyIconUri;
        this.vastAd = builder.vastAd;
        this.clickDestinationUri = builder.clickDestinationUri;
        this.clickDestinationBackupUri = builder.clickDestinationBackupUri;
        this.clickTrackingUrls = builder.clickTrackingUrls;
        this.jsTrackers = builder.jsTrackers;
        this.impressionRequests = builder.impressionRequests;
        Double d = builder.starRating;
        this.starRating = (d == null || d.doubleValue() < 3.0d) ? null : null;
        if (builder.privacyDestinationUri == null) {
            parse = (!isDspAd() || getSdk().ap().a()) ? Uri.parse(DEFAULT_APPLOVIN_PRIVACY_URL) : parse;
            this.viewableMRC50Requests = builder.viewableMRC50Requests;
            this.viewableMRC100Requests = builder.viewableMRC100Requests;
            this.viewableVideo50Requests = builder.viewableVideo50Requests;
            this.tag = "AppLovinNativeAd:" + getAdIdNumber();
        }
        parse = builder.privacyDestinationUri;
        this.privacyDestinationUri = parse;
        this.viewableMRC50Requests = builder.viewableMRC50Requests;
        this.viewableMRC100Requests = builder.viewableMRC100Requests;
        this.viewableVideo50Requests = builder.viewableVideo50Requests;
        this.tag = "AppLovinNativeAd:" + getAdIdNumber();
    }

    public List<com.applovin.impl.sdk.d.a> getDirectClickTrackingPostbacks() {
        List<com.applovin.impl.sdk.d.a> postbacks;
        synchronized (this.adObjectLock) {
            postbacks = Utils.getPostbacks("click_tracking_urls", this.adObject, getClCode(), getStringFromAdObject("click_tracking_url", null), this.sdk);
        }
        return postbacks;
    }

    private boolean isDspAd() {
        return AD_RESPONSE_TYPE_ORTB.equalsIgnoreCase(getType());
    }

    public void maybeHandleOnAttachedToWindow(View view) {
        if (this.impressionTracked.compareAndSet(false, true)) {
            List<String> list = this.jsTrackers;
            if (list != null && list.size() > 0) {
                if (((Boolean) this.sdk.a(com.applovin.impl.sdk.c.b.fA)).booleanValue()) {
                    for (String str : this.jsTrackers) {
                        this.sdk.W().a(str);
                    }
                } else {
                    String str2 = this.jsTrackers.get(0);
                    if (StringUtils.isValidString(str2)) {
                        final com.applovin.impl.adview.d dVar = new com.applovin.impl.adview.d(null, this.sdk, view.getContext());
                        dVar.loadData(str2, "text/html", C.UTF8_NAME);
                        AppLovinSdkUtils.runOnUiThreadDelayed(new Runnable() {
                            @Override
                            public void run() {
                                dVar.stopLoading();
                            }
                        }, TimeUnit.SECONDS.toMillis(5L));
                    }
                }
            }
            for (l lVar : this.impressionRequests) {
                this.sdk.ae().dispatchPostbackRequest(lVar, null);
            }
            this.adEventTracker.a(view);
            this.adEventTracker.d();
        }
    }

    @Override
    public void destroy() {
        unregisterViewsForInteraction();
        this.eventListener = null;
        this.adEventTracker.e();
    }

    public com.applovin.impl.sdk.a.e getAdEventTracker() {
        return this.adEventTracker;
    }

    @Override
    public long getAdIdNumber() {
        return getLongFromAdObject("ad_id", -1L);
    }

    @Override
    public String getAdvertiser() {
        return this.advertiser;
    }

    @Override
    public String getBody() {
        return this.body;
    }

    public String getCachePrefix() {
        return getStringFromAdObject("cache_prefix", null);
    }

    @Override
    public String getCallToAction() {
        return this.callToAction;
    }

    public a getClickHandler() {
        return this.clickHandler;
    }

    @Override
    public Bundle getDirectDownloadParameters() {
        JSONObject jsonObjectFromAdObject = getJsonObjectFromAdObject("ah_parameters", null);
        if (jsonObjectFromAdObject != null) {
            return JsonUtils.toBundle(jsonObjectFromAdObject);
        }
        return null;
    }

    @Override
    public String getDirectDownloadToken() {
        return getStringFromAdObject("ah_dd_token", null);
    }

    @Override
    public Uri getIconUri() {
        return this.iconUri;
    }

    public Uri getMainImageUri() {
        return this.mainImageUri;
    }

    @Override
    public AppLovinMediaView getMediaView() {
        return this.mediaView;
    }

    @Override
    public String getOpenMeasurementContentUrl() {
        return getStringFromAdObject("omid_content_url", null);
    }

    @Override
    public String getOpenMeasurementCustomReferenceData() {
        return getStringFromAdObject("omid_custom_ref_data", "");
    }

    @Override
    public List<VerificationScriptResource> getOpenMeasurementVerificationScriptResources() {
        ArrayList arrayList = new ArrayList();
        synchronized (this.adObjectLock) {
            JSONArray jSONArray = JsonUtils.getJSONArray(this.adObject, "omid_verification_script_resources", null);
            if (jSONArray != null) {
                for (int i = 0; i < jSONArray.length(); i++) {
                    JSONObject jSONObject = JsonUtils.getJSONObject(jSONArray, i, (JSONObject) null);
                    URL url = new URL(JsonUtils.getString(jSONObject, "url", null));
                    String string = JsonUtils.getString(jSONObject, "vendor_key", null);
                    String string2 = JsonUtils.getString(jSONObject, "parameters", null);
                    arrayList.add((StringUtils.isValidString(string) && StringUtils.isValidString(string2)) ? VerificationScriptResource.createVerificationScriptResourceWithParameters(string, url, string2) : VerificationScriptResource.createVerificationScriptResourceWithoutParameters(url));
                }
            }
        }
        return arrayList;
    }

    @Override
    public AppLovinOptionsView getOptionsView() {
        return this.optionsView;
    }

    public Uri getPrivacyDestinationUri() {
        return this.privacyDestinationUri;
    }

    public Uri getPrivacyIconUri() {
        return this.privacyIconUri;
    }

    @Override
    public Double getStarRating() {
        return this.starRating;
    }

    @Override
    public String getTitle() {
        return this.title;
    }

    public String getType() {
        return getStringFromAdObject("type", "undefined");
    }

    public com.applovin.impl.b.a getVastAd() {
        return this.vastAd;
    }

    @Override
    public boolean isDirectDownloadEnabled() {
        return StringUtils.isValidString(getDirectDownloadToken());
    }

    @Override
    public boolean isOpenMeasurementEnabled() {
        return getBooleanFromAdObject("omsdk_enabled", false);
    }

    @Override
    public void registerViewsForInteraction(List<View> list, ViewGroup viewGroup) {
        v J;
        String str;
        StringBuilder sb;
        String str2;
        this.nativeAdView = viewGroup;
        if (!(h.c() && this.nativeAdView.isAttachedToWindow()) && (h.c() || this.nativeAdView.getParent() == null)) {
            this.nativeAdView.addOnAttachStateChangeListener(this.onAttachStateChangeHandler);
        } else {
            maybeHandleOnAttachedToWindow(this.nativeAdView);
        }
        this.sdk.J();
        if (v.a()) {
            v J2 = this.sdk.J();
            String str3 = this.tag;
            J2.b(str3, "Registered ad view for impressions: " + this.nativeAdView);
        }
        if (this.clickDestinationUri == null && this.clickDestinationBackupUri == null) {
            this.sdk.J();
            if (v.a()) {
                this.sdk.J().b(this.tag, "Skipping click registration - no click URLs provided");
                return;
            }
            return;
        }
        for (View view : list) {
            if (view.hasOnClickListeners()) {
                this.sdk.J();
                if (v.a()) {
                    v J3 = this.sdk.J();
                    String str4 = this.tag;
                    J3.e(str4, "View has an onClickListener already - " + view);
                }
            }
            if (!view.isClickable()) {
                this.sdk.J();
                if (v.a()) {
                    v J4 = this.sdk.J();
                    String str5 = this.tag;
                    J4.e(str5, "View is not clickable - " + view);
                }
            }
            if (!view.isEnabled()) {
                this.sdk.J();
                if (v.a()) {
                    v J5 = this.sdk.J();
                    String str6 = this.tag;
                    J5.e(str6, "View is not enabled - " + view);
                }
            }
            if (view instanceof Button) {
                this.sdk.J();
                if (v.a()) {
                    J = this.sdk.J();
                    str = this.tag;
                    sb = new StringBuilder();
                    str2 = "Registering click for button: ";
                    sb.append(str2);
                    sb.append(view);
                    J.b(str, sb.toString());
                    view.setOnClickListener(this.clickHandler);
                    this.registeredViews.add(view);
                } else {
                    view.setOnClickListener(this.clickHandler);
                    this.registeredViews.add(view);
                }
            } else {
                this.sdk.J();
                if (v.a()) {
                    J = this.sdk.J();
                    str = this.tag;
                    sb = new StringBuilder();
                    str2 = "Registering click for view: ";
                    sb.append(str2);
                    sb.append(view);
                    J.b(str, sb.toString());
                    view.setOnClickListener(this.clickHandler);
                    this.registeredViews.add(view);
                } else {
                    view.setOnClickListener(this.clickHandler);
                    this.registeredViews.add(view);
                }
            }
        }
        this.sdk.J();
        if (v.a()) {
            v J6 = this.sdk.J();
            String str7 = this.tag;
            J6.b(str7, "Registered views: " + this.registeredViews);
        }
    }

    public void setEventListener(AppLovinNativeAdEventListener appLovinNativeAdEventListener) {
        this.eventListener = appLovinNativeAdEventListener;
    }

    public void setIconUri(Uri uri) {
        this.iconUri = uri;
    }

    public void setMainImageUri(Uri uri) {
        this.mainImageUri = uri;
    }

    public void setPrivacyIconUri(Uri uri) {
        this.privacyIconUri = uri;
    }

    public void setUpNativeAdViewComponents() {
        n nVar = this.sdk;
        n nVar2 = this.sdk;
        this.mediaView = new AppLovinMediaView(this, nVar, n.x());
        if (this.privacyDestinationUri != null) {
            n nVar3 = this.sdk;
            n nVar4 = this.sdk;
            this.optionsView = new AppLovinOptionsView(this, nVar3, n.x());
        }
    }

    public boolean shouldInjectOpenMeasurementScriptDuringCaching() {
        return false;
    }

    public String toString() {
        return "AppLovinNativeAd{adIdNumber=" + getAdIdNumber() + " - " + getTitle() + "}";
    }

    @Override
    public void unregisterViewsForInteraction() {
        for (View view : this.registeredViews) {
            view.setOnClickListener(null);
        }
        this.sdk.J();
        if (v.a()) {
            v J = this.sdk.J();
            String str = this.tag;
            J.b(str, "Unregistered views: " + this.registeredViews);
        }
        this.registeredViews.clear();
        ViewGroup viewGroup = this.nativeAdView;
        if (viewGroup != null) {
            viewGroup.removeOnAttachStateChangeListener(this.onAttachStateChangeHandler);
            this.nativeAdView = null;
        }
        AppLovinMediaView appLovinMediaView = this.mediaView;
        if (appLovinMediaView != null) {
            appLovinMediaView.destroy();
        }
        AppLovinOptionsView appLovinOptionsView = this.optionsView;
        if (appLovinOptionsView != null) {
            appLovinOptionsView.destroy();
        }
    }
}