导航菜单

页面标题

页面副标题

Barstool v5.21.2 - DTBAdMRAIDInterstitialController.java 源代码

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

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


package com.amazon.device.ads;

import android.app.Activity;
import android.os.Handler;
import android.os.Looper;
import com.amazon.aps.shared.APSAnalytics;
import com.amazon.aps.shared.ApsMetrics;
import com.amazon.aps.shared.analytics.APSEventSeverity;
import com.amazon.aps.shared.analytics.APSEventType;
import java.util.Map;
import org.json.JSONException;

public class DTBAdMRAIDInterstitialController extends DTBAdMRAIDController implements DTBAdViewDisplayListener {
    private String bidId;
    DTBAdInterstitialListener interstitialListener;
    boolean pageDisplayed;
    boolean pageLoaded;

    DTBAdMRAIDInterstitialController(DTBAdView dTBAdView, DTBAdInterstitialListener dTBAdInterstitialListener) {
        super(dTBAdView);
        this.pageLoaded = false;
        this.pageDisplayed = false;
        this.interstitialListener = dTBAdInterstitialListener;
    }

    DTBAdInterstitialListener getInterstitialListener() {
        return this.interstitialListener;
    }

    void setInterstitialListener(DTBAdInterstitialListener dTBAdInterstitialListener) {
        this.interstitialListener = dTBAdInterstitialListener;
    }

    @Override
    public void onPageLoad() {
        this.pageLoaded = true;
        try {
            initializeOnLoadAndDisplay();
            if (DTBMetricsConfiguration.getInstance().isFeatureEnabled("additional_webview_metric")) {
                String bidId = getAdView().getBidId();
                this.bidId = bidId;
                ApsMetrics.customEvent("interstitialCreativeFinished", bidId, null);
            }
        } catch (JSONException e) {
            DtbLog.error("Error:" + e.getMessage());
        }
    }

    void initializeOnLoadAndDisplay() throws JSONException {
        if (this.pageLoaded && this.pageDisplayed) {
            prepareMraid();
        } else {
            createLoadReport();
        }
    }

    @Override
    protected String getPlacementType() {
        return "interstitial";
    }

    @Override
    public void onInitialDisplay() {
        this.pageDisplayed = true;
        try {
            initializeOnLoadAndDisplay();
        } catch (JSONException e) {
            DtbLog.error("JSON exception:" + e.getMessage());
        }
    }

    @Override
    protected void onMRAIDClose() {
        executeClose("close");
    }

    private void executeClose(String str) {
        if (getDtbOmSdkSessionManager() != null) {
            getDtbOmSdkSessionManager().stopOmAdSession();
        }
        commandCompleted(str);
        setState(MraidStateType.HIDDEN);
        fireViewableChange(false);
        new Handler(Looper.getMainLooper()).post(new Runnable() {
            @Override
            public final void run() {
                DTBAdMRAIDInterstitialController.this.m5919xb0f4179();
            }
        });
    }

    public void m5919xb0f4179() {
        try {
            if (this.adView != null) {
                this.adView.setWebViewClient(null);
                this.adView.removeAllViews();
                this.adView.cleanup();
                DTBAdInterstitialListener dTBAdInterstitialListener = this.interstitialListener;
                if (dTBAdInterstitialListener != null) {
                    dTBAdInterstitialListener.onAdClosed(this.adView);
                }
            }
            Activity currentActivity = ActivityMonitor.getInstance().getCurrentActivity();
            if (this.useCustomClose && !currentActivity.isFinishing() && (currentActivity instanceof DTBInterstitialActivity)) {
                DTBInterstitialActivity dTBInterstitialActivity = (DTBInterstitialActivity) currentActivity;
                dTBInterstitialActivity.cleanup();
                dTBInterstitialActivity.finish();
            }
        } catch (RuntimeException e) {
            DtbLog.error(LOG_TAG, "Failed to execute cleanOnCloseHandler method");
            APSAnalytics.logEvent(APSEventSeverity.FATAL, APSEventType.LOG, "Failed to execute cleanOnCloseHandler method", e);
        }
    }

    @Override
    protected void onMRAIDUnload() {
        executeClose("unload");
    }

    @Override
    protected void onResize(Map<String, Object> map) {
        fireErrorEvent("resize", "invalid placement type");
        commandCompleted("resize");
    }

    @Override
    protected void expand(Map<String, Object> map) {
        fireErrorEvent("expand", "invalid placement type for interstitial ");
        commandCompleted("expand");
    }

    @Override
    public void onAdOpened() {
        DTBAdInterstitialListener dTBAdInterstitialListener = this.interstitialListener;
        if (dTBAdInterstitialListener != null) {
            dTBAdInterstitialListener.onAdOpen(this.adView);
        }
    }

    @Override
    public void onAdClicked() {
        if (this.interstitialListener != null) {
            new Handler(Looper.getMainLooper()).post(new Runnable() {
                @Override
                public final void run() {
                    DTBAdMRAIDInterstitialController.this.m5921xf2589090();
                }
            });
        }
    }

    void m5921xf2589090() {
        this.interstitialListener.onAdClicked(this.adView);
    }

    @Override
    public void onAdLoaded() {
        if (this.interstitialListener == null) {
            APSAnalytics.logEvent(APSEventSeverity.FATAL, APSEventType.LOG, "Failed to get interstitialListener on OnAdLoaded");
        } else {
            DtbThreadService.executeOnMainThread(new Runnable() {
                @Override
                public final void run() {
                    DTBAdMRAIDInterstitialController.this.m5925xb60742f3();
                }
            });
        }
    }

    void m5925xb60742f3() {
        this.interstitialListener.onAdLoaded(this.adView);
    }

    @Override
    public void onAdFailedToLoad() {
        if (this.interstitialListener == null) {
            APSAnalytics.logEvent(APSEventSeverity.FATAL, APSEventType.LOG, "Failed to get interstitialListener on onAdFailedToLoad");
        } else {
            DtbThreadService.executeOnMainThread(new Runnable() {
                @Override
                public final void run() {
                    DTBAdMRAIDInterstitialController.this.m5923x2e63fa99();
                }
            });
        }
    }

    void m5923x2e63fa99() {
        this.interstitialListener.onAdFailed(this.adView);
    }

    public void onAdError() {
        if (this.interstitialListener == null) {
            APSAnalytics.logEvent(APSEventSeverity.FATAL, APSEventType.LOG, "Failed to get interstitialListener on onAdError");
        } else {
            DtbThreadService.executeOnMainThread(new Runnable() {
                @Override
                public final void run() {
                    DTBAdMRAIDInterstitialController.this.m5922x6f47fe2c();
                }
            });
        }
    }

    void m5922x6f47fe2c() {
        this.interstitialListener.onAdError(this.adView);
    }

    @Override
    void passLoadError() {
        onAdError();
    }

    @Override
    public void onAdLeftApplication() {
        new Handler(Looper.getMainLooper()).post(new Runnable() {
            @Override
            public final void run() {
                DTBAdMRAIDInterstitialController.this.m5924xcd830caa();
            }
        });
        ActivityMonitor.getInstance().setActivityListener(this);
    }

    void m5924xcd830caa() {
        this.interstitialListener.onAdLeftApplication(this.adView);
    }

    @Override
    public void onActivityResumed(Activity activity) {
        ActivityMonitor.getInstance().setActivityListener(null);
    }

    @Override
    public void onActivityDestroyed(Activity activity) {
        if (getDtbOmSdkSessionManager() != null) {
            getDtbOmSdkSessionManager().stopOmAdSession();
        }
        ActivityMonitor.getInstance().setActivityListener(null);
    }

    @Override
    public void impressionFired() {
        if (this.interstitialListener == null) {
            APSAnalytics.logEvent(APSEventSeverity.FATAL, APSEventType.LOG, "Failed to get interstitialListener on onAdError");
        } else {
            DtbThreadService.executeOnMainThread(new Runnable() {
                @Override
                public final void run() {
                    DTBAdMRAIDInterstitialController.this.m5920x7950776b();
                }
            });
            super.impressionFired();
        }
    }

    void m5920x7950776b() {
        this.interstitialListener.onImpressionFired(this.adView);
    }

    @Override
    public void onVideoCompleted() {
        if (this.interstitialListener == null) {
            APSAnalytics.logEvent(APSEventSeverity.FATAL, APSEventType.LOG, "Failed to get interstitialListener on onAdError");
        } else {
            DtbThreadService.executeOnMainThread(new Runnable() {
                @Override
                public final void run() {
                    DTBAdMRAIDInterstitialController.this.m5926xc8a98d46();
                }
            });
        }
    }

    void m5926xc8a98d46() {
        this.interstitialListener.onVideoCompleted(this.adView);
    }

    @Override
    public void startOMSDKSession() {
        if (getDtbOmSdkSessionManager() == null || getAdView() == null) {
            APSAnalytics.logEvent(APSEventSeverity.ERROR, APSEventType.LOG, "OMSDK : Aps OMSDK Session Manager or AdView is null on start");
            return;
        }
        try {
            if (getDtbOmSdkSessionManager().getCurrentAdSession() != null) {
                getDtbOmSdkSessionManager().stopOmAdSession();
            }
            if (!getAdView().getIsVideo()) {
                getDtbOmSdkSessionManager().initHtmlDisplayOmAdSession(getAdView(), "https://c.amazon-adsystem.com/");
            } else {
                getDtbOmSdkSessionManager().initJavaScriptOmAdSession(getAdView(), "https://c.amazon-adsystem.com/");
            }
            getDtbOmSdkSessionManager().registerAdView(getAdView());
            getDtbOmSdkSessionManager().startAdSession();
            getDtbOmSdkSessionManager().displayAdEventLoaded();
        } catch (RuntimeException e) {
            APSAnalytics.logEvent(APSEventSeverity.FATAL, APSEventType.EXCEPTION, "OMSDK :Unable to start OM SDK session", e);
        }
    }

    @Override
    public void stopOMSDKSession() {
        if (getDtbOmSdkSessionManager() == null) {
            APSAnalytics.logEvent(APSEventSeverity.FATAL, APSEventType.LOG, "OMSDK : Aps OmSdk Session Manager is null on Stop Session");
        } else {
            getDtbOmSdkSessionManager().stopOmAdSession();
        }
    }

    @Override
    public void startEndCardDisplayOMSDKSession() {
        if (getDtbOmSdkSessionManager() == null || getAdView() == null) {
            APSAnalytics.logEvent(APSEventSeverity.ERROR, APSEventType.LOG, "OMSDK : Aps OMSDK Session Manager or AdView is null on start");
            return;
        }
        try {
            if (getDtbOmSdkSessionManager().getCurrentAdSession() != null) {
                getDtbOmSdkSessionManager().stopOmAdSession();
            }
            getDtbOmSdkSessionManager().initHtmlDisplayOmAdSession(getAdView(), "https://c.amazon-adsystem.com/");
            getDtbOmSdkSessionManager().registerAdView(getAdView());
            getDtbOmSdkSessionManager().startAdSession();
        } catch (RuntimeException e) {
            APSAnalytics.logEvent(APSEventSeverity.FATAL, APSEventType.EXCEPTION, "OMSDK : End Card display : Unable to restart OM SDK session", e);
        }
    }
}