导航菜单

页面标题

页面副标题

Barstool v5.21.2 - StaticAdController.java 源代码

正在查看: Barstool v5.21.2 应用的 StaticAdController.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.adsbynimbus.render;

import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Rect;
import android.net.Uri;
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.webkit.JavaScriptReplyProxy;
import androidx.webkit.WebMessageCompat;
import androidx.webkit.WebViewCompat;
import androidx.webkit.WebViewFeature;
import com.adsbynimbus.Nimbus;
import com.adsbynimbus.NimbusAd;
import com.adsbynimbus.NimbusError;
import com.adsbynimbus.internal.Components;
import com.adsbynimbus.render.internal.AdTrackersKt;
import com.adsbynimbus.render.internal.WebViewExtensionsKt;
import com.adsbynimbus.render.mraid.Host;
import com.adsbynimbus.render.mraid.HostKt;
import com.adsbynimbus.render.mraid.Position;
import kotlin.Lazy;
import kotlin.LazyKt;
import kotlin.Metadata;
import kotlin.Result;
import kotlin.ResultKt;
import kotlin.coroutines.CoroutineContext;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.Intrinsics;
import kotlinx.coroutines.BuildersKt;
import kotlinx.coroutines.CoroutineStart;
import kotlinx.coroutines.Dispatchers;

@Metadata(d1 = {"\u0000n\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0002\b\u0007\n\u0002\u0010\t\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0010\n\u0002\u0010\u0002\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\b\b\u0000\u0018\u00002\u00020\u00012\u00020\u0002B\u001d\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u0012\u0006\u0010\u0005\u001a\u00020\u0006\u0012\u0006\u0010\u0007\u001a\u00020\b¢\u0006\u0002\u0010\tJ\b\u00103\u001a\u000204H\u0017J\r\u00105\u001a\u000204H\u0000¢\u0006\u0002\b6J\b\u00107\u001a\u000204H\u0014J\u0018\u00108\u001a\u0002042\u0006\u00109\u001a\u00020\b2\u0006\u0010:\u001a\u00020;H\u0015J\r\u0010<\u001a\u000204H\u0000¢\u0006\u0002\b=J0\u0010>\u001a\u0002042\u0006\u0010+\u001a\u00020?2\u0006\u0010@\u001a\u00020A2\u0006\u0010B\u001a\u00020C2\u0006\u0010D\u001a\u00020\u000f2\u0006\u0010E\u001a\u00020FH\u0016J\u0015\u0010G\u001a\u00020\u000f2\u0006\u0010H\u001a\u00020CH\u0000¢\u0006\u0002\bIJ\r\u0010J\u001a\u000204H\u0000¢\u0006\u0002\bKJ\b\u0010L\u001a\u000204H\u0016J\b\u0010M\u001a\u000204H\u0016R\u0011\u0010\u0005\u001a\u00020\u0006¢\u0006\b\n\u0000\u001a\u0004\b\n\u0010\u000bR\u0011\u0010\u0007\u001a\u00020\b¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\rR\u001a\u0010\u000e\u001a\u00020\u000fX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0010\u0010\u0011\"\u0004\b\u0012\u0010\u0013R\u0012\u0010\u0014\u001a\u00020\u000f8Æ\u0002¢\u0006\u0006\u001a\u0004\b\u0015\u0010\u0011R\u001a\u0010\u0016\u001a\u00020\u0017X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0018\u0010\u0019\"\u0004\b\u001a\u0010\u001bR\u001c\u0010\u001c\u001a\u0004\u0018\u00010\u001dX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u001e\u0010\u001f\"\u0004\b \u0010!R\u001b\u0010\"\u001a\u00020#8FX\u0086\u0084\u0002¢\u0006\f\n\u0004\b&\u0010'\u001a\u0004\b$\u0010%R\u001a\u0010(\u001a\u00020\u000fX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b)\u0010\u0011\"\u0004\b*\u0010\u0013R\u0014\u0010+\u001a\u00020\u0004X\u0096\u0004¢\u0006\b\n\u0000\u001a\u0004\b,\u0010-R$\u0010/\u001a\u00020\b2\u0006\u0010.\u001a\u00020\b@VX\u0096\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b0\u0010\r\"\u0004\b1\u00102¨\u0006N"}, d2 = {"Lcom/adsbynimbus/render/StaticAdController;", "Lcom/adsbynimbus/render/AdController;", "Landroidx/webkit/WebViewCompat$WebMessageListener;", "layout", "Lcom/adsbynimbus/render/NimbusAdView;", "ad", "Lcom/adsbynimbus/NimbusAd;", "completionTimeout", "", "(Lcom/adsbynimbus/render/NimbusAdView;Lcom/adsbynimbus/NimbusAd;I)V", "getAd", "()Lcom/adsbynimbus/NimbusAd;", "getCompletionTimeout", "()I", "didFireImpression", "", "getDidFireImpression", "()Z", "setDidFireImpression", "(Z)V", "didUserClick", "getDidUserClick", "lastClickTime", "", "getLastClickTime", "()J", "setLastClickTime", "(J)V", "markup", "", "getMarkup", "()Ljava/lang/String;", "setMarkup", "(Ljava/lang/String;)V", "mraidHost", "Lcom/adsbynimbus/render/mraid/Host;", "getMraidHost", "()Lcom/adsbynimbus/render/mraid/Host;", "mraidHost$delegate", "Lkotlin/Lazy;", "mraidInitialized", "getMraidInitialized", "setMraidInitialized", "view", "getView", "()Lcom/adsbynimbus/render/NimbusAdView;", "value", "volume", "getVolume", "setVolume", "(I)V", "destroy", "", "maybeFireImpression", "maybeFireImpression$static_release", "onClickDetected", "onExposureChanged", "exposure", "visibleRect", "Landroid/graphics/Rect;", "onLoaded", "onLoaded$static_release", "onPostMessage", "Landroid/webkit/WebView;", "message", "Landroidx/webkit/WebMessageCompat;", "sourceOrigin", "Landroid/net/Uri;", "isMainFrame", "replyProxy", "Landroidx/webkit/JavaScriptReplyProxy;", "openClickThrough", "uri", "openClickThrough$static_release", "renderProcessGone", "renderProcessGone$static_release", "start", "stop", "static_release"}, k = 1, mv = {1, 8, 0}, xi = ConstraintLayout.LayoutParams.Table.LAYOUT_CONSTRAINT_VERTICAL_CHAINSTYLE)
public final class StaticAdController extends AdController implements WebViewCompat.WebMessageListener {
    private final NimbusAd ad;
    private final int completionTimeout;
    private boolean didFireImpression;
    private long lastClickTime;
    private String markup;

    private final Lazy mraidHost;
    private boolean mraidInitialized;
    private final NimbusAdView view;
    private int volume;

    @Metadata(k = 3, mv = {1, 8, 0}, xi = ConstraintLayout.LayoutParams.Table.LAYOUT_CONSTRAINT_VERTICAL_CHAINSTYLE)
    public class WhenMappings {
        public static final int[] $EnumSwitchMapping$0;

        static {
            int[] iArr = new int[AdState.values().length];
            try {
                iArr[AdState.LOADING.ordinal()] = 1;
            } catch (NoSuchFieldError unused) {
            }
            try {
                iArr[AdState.READY.ordinal()] = 2;
            } catch (NoSuchFieldError unused2) {
            }
            try {
                iArr[AdState.RESUMED.ordinal()] = 3;
            } catch (NoSuchFieldError unused3) {
            }
            try {
                iArr[AdState.PAUSED.ordinal()] = 4;
            } catch (NoSuchFieldError unused4) {
            }
            try {
                iArr[AdState.DESTROYED.ordinal()] = 5;
            } catch (NoSuchFieldError unused5) {
            }
            $EnumSwitchMapping$0 = iArr;
        }
    }

    public final NimbusAd getAd() {
        return this.ad;
    }

    public final int getCompletionTimeout() {
        return this.completionTimeout;
    }

    public StaticAdController(NimbusAdView layout, NimbusAd ad, int completionTimeout) {
        Intrinsics.checkNotNullParameter(layout, "layout");
        Intrinsics.checkNotNullParameter(ad, "ad");
        this.ad = ad;
        this.completionTimeout = completionTimeout;
        this.mraidHost = LazyKt.lazy(new Function0<Host>() {
            {
                super(0);
            }

            public final Host m5803invoke() {
                StaticAdController staticAdController = StaticAdController.this;
                return HostKt.mraidHost$default(staticAdController, staticAdController.getAd().isInterstitial() ? "interstitial" : HostKt.INLINE, null, null, false, 14, null);
            }
        });
        this.view = layout;
    }

    public final boolean getDidFireImpression() {
        return this.didFireImpression;
    }

    public final void setDidFireImpression(boolean z) {
        this.didFireImpression = z;
    }

    public final long getLastClickTime() {
        return this.lastClickTime;
    }

    public final void setLastClickTime(long j) {
        this.lastClickTime = j;
    }

    public final String getMarkup() {
        return this.markup;
    }

    public final void setMarkup(String str) {
        this.markup = str;
    }

    public final boolean getMraidInitialized() {
        return this.mraidInitialized;
    }

    public final void setMraidInitialized(boolean z) {
        this.mraidInitialized = z;
    }

    public final Host getMraidHost() {
        return (Host) this.mraidHost.getValue();
    }

    public final boolean getDidUserClick() {
        return System.currentTimeMillis() - getLastClickTime() < 1000;
    }

    @Override
    public int getVolume() {
        return this.volume;
    }

    @Override
    public void setVolume(int value) {
        this.volume = value;
        WebView webView = (WebView) getView().findViewById(R.id.nimbus_web_view);
        if (webView != null) {
            if (this.state == AdState.DESTROYED) {
                webView = null;
            }
            if (webView != null) {
                WebViewExtensionsKt.mute(webView, value == 0);
            }
        }
    }

    @Override
    public void start() {
        if (this.state == AdState.DESTROYED || !Components.isApi23()) {
            return;
        }
        WebView webView = (WebView) getView().findViewById(R.id.nimbus_web_view);
        WebSettings settings = webView != null ? webView.getSettings() : null;
        if (settings == null) {
            return;
        }
        settings.setOffscreenPreRaster(true);
    }

    @Override
    public void stop() {
        if (this.state != AdState.DESTROYED && Components.isApi23()) {
            WebView webView = (WebView) getView().findViewById(R.id.nimbus_web_view);
            WebSettings settings = webView != null ? webView.getSettings() : null;
            if (settings != null) {
                settings.setOffscreenPreRaster(false);
            }
        }
        if (this.state == AdState.RESUMED) {
            dispatchAdEvent(AdEvent.PAUSED);
        }
    }

    @Override
    public NimbusAdView getView() {
        return this.view;
    }

    @Override
    public void destroy() {
        if (this.state != AdState.DESTROYED) {
            dispatchAdEvent(AdEvent.DESTROYED);
            WebView webView = (WebView) getView().findViewById(R.id.nimbus_web_view);
            if (webView != null) {
                if (WebViewFeature.isFeatureSupported("WEB_MESSAGE_LISTENER")) {
                    WebViewCompat.removeWebMessageListener(webView, "Adsbynimbus");
                }
                BuildersKt.launch$default(Components.getNimbusScope(), Dispatchers.getMain(), (CoroutineStart) null, new StaticAdController$destroy$1$1(webView, null), 2, (Object) null);
            }
            NimbusAdView view = getView();
            NimbusAdView nimbusAdView = view;
            Object tag = nimbusAdView.getTag(R.id.expand_container);
            Dialog dialog = tag instanceof Dialog ? (Dialog) tag : null;
            if (dialog != null) {
                dialog.dismiss();
            }
            nimbusAdView.setTag(R.id.expand_container, null);
            nimbusAdView.setTag(R.id.placeholder, null);
            view.destroy();
        }
    }

    @Override
    protected void onExposureChanged(int exposure, Rect visibleRect) {
        WebView webView;
        WebView webView2;
        Intrinsics.checkNotNullParameter(visibleRect, "visibleRect");
        boolean z = true;
        boolean z2 = exposure >= Math.max(Nimbus.getAdVisibilityMinPercentage(), 1);
        int i = WhenMappings.$EnumSwitchMapping$0[this.state.ordinal()];
        if (i == 1) {
            String str = this.markup;
            if (str != null) {
                String str2 = z2 ? str : null;
                if (str2 != null) {
                    WebView webView3 = (WebView) getView().findViewById(R.id.nimbus_web_view);
                    if (webView3 != null) {
                        webView3.loadDataWithBaseURL(StaticAdRenderer.BASE_URL, str2, null, null, null);
                    }
                    this.markup = null;
                    return;
                }
                return;
            }
            return;
        }
        if (i != 2) {
            if (i != 3) {
                if (i != 4) {
                    if (i == 5) {
                        return;
                    }
                } else if (z2) {
                    dispatchAdEvent(AdEvent.RESUMED);
                }
            } else if (!z2) {
                dispatchAdEvent(AdEvent.PAUSED);
            }
        } else if (z2) {
            maybeFireImpression$static_release();
        }
        String updateExposure = HostKt.updateExposure(getMraidHost(), exposure, new Position(visibleRect.width(), visibleRect.height(), visibleRect.left, visibleRect.top));
        if (updateExposure.length() > 0 && (webView2 = (WebView) getView().findViewById(R.id.nimbus_web_view)) != null) {
            webView2.evaluateJavascript(updateExposure, null);
        }
        if (!WebViewFeature.isFeatureSupported("MUTE_AUDIO") || (webView = (WebView) getView().findViewById(R.id.nimbus_web_view)) == null) {
            return;
        }
        WebView webView4 = this.state != AdState.DESTROYED ? webView : null;
        if (webView4 != null) {
            if (exposure != 0 && getVolume() != 0) {
                z = false;
            }
            if (z != WebViewCompat.isAudioMuted(webView4)) {
                WebViewCompat.setAudioMuted(webView4, z);
            }
        }
    }

    public final void onLoaded$static_release() {
        if (this.state == AdState.LOADING) {
            dispatchAdEvent(AdEvent.LOADED);
            if (getView().getExposure() > 0) {
                maybeFireImpression$static_release();
            } else {
                getView().onGlobalLayout();
            }
        }
    }

    public final void maybeFireImpression$static_release() {
        if (this.didFireImpression) {
            return;
        }
        this.didFireImpression = true;
        dispatchAdEvent(AdEvent.IMPRESSION);
        if (this.completionTimeout > 0) {
            BuildersKt.launch$default(Components.getNimbusScope(), (CoroutineContext) null, (CoroutineStart) null, new StaticAdController$maybeFireImpression$1(this, null), 3, (Object) null);
        }
    }

    @Override
    protected void onClickDetected() {
        this.lastClickTime = System.currentTimeMillis();
        if (getVolume() == 0 || this.state != AdState.DESTROYED) {
            setVolume(100);
        }
    }

    public final void renderProcessGone$static_release() {
        dispatchError(new NimbusError(NimbusError.ErrorType.WEBVIEW_ERROR, "WebView render process gone", (Throwable) null));
    }

    public void onPostMessage(WebView view, WebMessageCompat message, Uri sourceOrigin, boolean isMainFrame, JavaScriptReplyProxy replyProxy) {
        Intrinsics.checkNotNullParameter(view, "view");
        Intrinsics.checkNotNullParameter(message, "message");
        Intrinsics.checkNotNullParameter(sourceOrigin, "sourceOrigin");
        Intrinsics.checkNotNullParameter(replyProxy, "replyProxy");
        String onMraidCommand = (!Intrinsics.areEqual(message.getData(), HostKt.READY) || this.mraidInitialized) ? HostKt.onMraidCommand(this, message.getData()) : HostKt.initMraid$default(this, null, false, 3, null);
        if (onMraidCommand.length() > 0) {
            view.evaluateJavascript(onMraidCommand, null);
        }
    }

    public final boolean openClickThrough$static_release(Uri uri) {
        Object obj;
        Intrinsics.checkNotNullParameter(uri, "uri");
        if (System.currentTimeMillis() - getLastClickTime() >= 1000 && !getView().getClickProtectionDisabled()) {
            return false;
        }
        try {
            Result.Companion companion = Result.Companion;
            StaticAdController staticAdController = this;
            Context context = getView().getContext();
            Intent intent = new Intent("android.intent.action.VIEW", uri);
            intent.setFlags(268435456);
            context.startActivity(intent);
            dispatchAdEvent(AdEvent.CLICKED);
            AdTrackersKt.trackEvent$default(this.ad, AdEvent.CLICKED, null, 2, null);
            obj = Result.constructor-impl(true);
        } catch (Throwable th) {
            Result.Companion companion2 = Result.Companion;
            obj = Result.constructor-impl(ResultKt.createFailure(th));
        }
        if (Result.isFailure-impl(obj)) {
            obj = false;
        }
        return ((Boolean) obj).booleanValue();
    }
}