正在查看: Jurassic World v1.83.4 应用的 MRAIDAdWidget.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Jurassic World v1.83.4 应用的 MRAIDAdWidget.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.vungle.ads.internal.ui.view;
import android.content.Context;
import android.content.ContextWrapper;
import android.os.Build;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.RelativeLayout;
import com.vungle.ads.internal.util.HandlerScheduler;
import com.vungle.ads.internal.util.Logger;
import com.vungle.ads.internal.util.ViewUtility;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
@Metadata(d1 = {"\u0000X\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\u000e\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0004\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\b\n\u0002\b\n\u0018\u0000 92\u00020\u0001:\u00076789:;<B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0010\u0010!\u001a\u00020\"2\u0006\u0010\u001f\u001a\u00020 H\u0002J\b\u0010#\u001a\u00020\"H\u0003J\u0006\u0010$\u001a\u00020\"J\u000e\u0010%\u001a\u00020\"2\u0006\u0010&\u001a\u00020'J\u000e\u0010(\u001a\u00020\"2\u0006\u0010)\u001a\u00020*J\b\u0010+\u001a\u00020\"H\u0014J\u0006\u0010,\u001a\u00020\"J\b\u0010-\u001a\u00020\"H\u0002J\u0006\u0010.\u001a\u00020\"J\u000e\u0010/\u001a\u00020\"2\u0006\u0010\u0005\u001a\u00020\u0006J\u0010\u00100\u001a\u00020\"2\b\u0010\r\u001a\u0004\u0018\u00010\u000eJ\u000e\u00101\u001a\u00020\"2\u0006\u00102\u001a\u000203J\u0010\u00104\u001a\u00020\"2\b\u0010\u0014\u001a\u0004\u0018\u00010\u0015J\u000e\u00105\u001a\u00020\"2\u0006\u0010\u001b\u001a\u00020\u001cR&\u0010\u0005\u001a\u0004\u0018\u00010\u00068\u0000@\u0000X\u0081\u000e¢\u0006\u0014\n\u0000\u0012\u0004\b\u0007\u0010\b\u001a\u0004\b\t\u0010\n\"\u0004\b\u000b\u0010\fR&\u0010\r\u001a\u0004\u0018\u00010\u000e8\u0000@\u0000X\u0081\u000e¢\u0006\u0014\n\u0000\u0012\u0004\b\u000f\u0010\b\u001a\u0004\b\u0010\u0010\u0011\"\u0004\b\u0012\u0010\u0013R&\u0010\u0014\u001a\u0004\u0018\u00010\u00158\u0000@\u0000X\u0081\u000e¢\u0006\u0014\n\u0000\u0012\u0004\b\u0016\u0010\b\u001a\u0004\b\u0017\u0010\u0018\"\u0004\b\u0019\u0010\u001aR\u0013\u0010\u001b\u001a\u0004\u0018\u00010\u001c8F¢\u0006\u0006\u001a\u0004\b\u001d\u0010\u001eR\u000e\u0010\u001f\u001a\u00020 X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006="}, d2 = {"Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget;", "Landroid/widget/RelativeLayout;", "context", "Landroid/content/Context;", "(Landroid/content/Context;)V", "closeDelegate", "Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$CloseDelegate;", "getCloseDelegate$vungle_ads_release$annotations", "()V", "getCloseDelegate$vungle_ads_release", "()Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$CloseDelegate;", "setCloseDelegate$vungle_ads_release", "(Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$CloseDelegate;)V", "onViewTouchListener", "Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$OnViewTouchListener;", "getOnViewTouchListener$vungle_ads_release$annotations", "getOnViewTouchListener$vungle_ads_release", "()Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$OnViewTouchListener;", "setOnViewTouchListener$vungle_ads_release", "(Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$OnViewTouchListener;)V", "orientationDelegate", "Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$OrientationDelegate;", "getOrientationDelegate$vungle_ads_release$annotations", "getOrientationDelegate$vungle_ads_release", "()Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$OrientationDelegate;", "setOrientationDelegate$vungle_ads_release", "(Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$OrientationDelegate;)V", "url", "", "getUrl", "()Ljava/lang/String;", "webView", "Landroid/webkit/WebView;", "applyDefault", "", "bindListeners", "close", "destroyWebView", "webViewDestroyDelay", "", "linkWebView", "vngWebViewClient", "Landroid/webkit/WebViewClient;", "onAttachedToWindow", "pauseWeb", "prepare", "resumeWeb", "setCloseDelegate", "setOnViewTouchListener", "setOrientation", "requestedOrientation", "", "setOrientationDelegate", "showWebsite", "AdStopReason", "AudioContextWrapper", "CloseDelegate", "Companion", "DestroyRunnable", "OnViewTouchListener", "OrientationDelegate", "vungle-ads_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public final class MRAIDAdWidget extends RelativeLayout {
private static final String TAG = "MRAIDAdWidget";
private CloseDelegate closeDelegate;
private OnViewTouchListener onViewTouchListener;
private OrientationDelegate orientationDelegate;
private final WebView webView;
@Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\bf\u0018\u00002\u00020\u0001J\b\u0010\u0002\u001a\u00020\u0003H&¨\u0006\u0004"}, d2 = {"Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$CloseDelegate;", "", "close", "", "vungle-ads_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public interface CloseDelegate {
void close();
}
@Metadata(d1 = {"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\bf\u0018\u00002\u00020\u0001J\u0012\u0010\u0002\u001a\u00020\u00032\b\u0010\u0004\u001a\u0004\u0018\u00010\u0005H&¨\u0006\u0006"}, d2 = {"Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$OnViewTouchListener;", "", "onTouch", "", "event", "Landroid/view/MotionEvent;", "vungle-ads_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public interface OnViewTouchListener {
boolean onTouch(MotionEvent event);
}
@Metadata(d1 = {"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\b\n\u0000\bf\u0018\u00002\u00020\u0001J\u0010\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0005H&¨\u0006\u0006"}, d2 = {"Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$OrientationDelegate;", "", "setOrientation", "", "orientation", "", "vungle-ads_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public interface OrientationDelegate {
void setOrientation(int orientation);
}
public static void getCloseDelegate$vungle_ads_release$annotations() {
}
public static void getOnViewTouchListener$vungle_ads_release$annotations() {
}
public static void getOrientationDelegate$vungle_ads_release$annotations() {
}
public MRAIDAdWidget(Context context) throws InstantiationException {
super(context);
Intrinsics.checkNotNullParameter(context, "context");
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(-1, -1);
setLayoutParams(layoutParams);
WebView webView = ViewUtility.INSTANCE.getWebView(context);
this.webView = webView;
webView.setLayoutParams(layoutParams);
webView.setTag("VungleWebView");
addView(webView, layoutParams);
bindListeners();
prepare();
}
public final OnViewTouchListener getOnViewTouchListener() {
return this.onViewTouchListener;
}
public final void setOnViewTouchListener$vungle_ads_release(OnViewTouchListener onViewTouchListener) {
this.onViewTouchListener = onViewTouchListener;
}
public final CloseDelegate getCloseDelegate() {
return this.closeDelegate;
}
public final void setCloseDelegate$vungle_ads_release(CloseDelegate closeDelegate) {
this.closeDelegate = closeDelegate;
}
public final OrientationDelegate getOrientationDelegate() {
return this.orientationDelegate;
}
public final void setOrientationDelegate$vungle_ads_release(OrientationDelegate orientationDelegate) {
this.orientationDelegate = orientationDelegate;
}
private final void bindListeners() {
this.webView.setOnTouchListener(new View.OnTouchListener() {
@Override
public final boolean onTouch(View view, MotionEvent motionEvent) {
boolean m20bindListeners$lambda0;
m20bindListeners$lambda0 = MRAIDAdWidget.m20bindListeners$lambda0(MRAIDAdWidget.this, view, motionEvent);
return m20bindListeners$lambda0;
}
});
}
public static final boolean m20bindListeners$lambda0(MRAIDAdWidget this$0, View view, MotionEvent motionEvent) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
OnViewTouchListener onViewTouchListener = this$0.onViewTouchListener;
if (onViewTouchListener != null) {
return onViewTouchListener.onTouch(motionEvent);
}
return false;
}
private final void prepare() {
WebView webView = this.webView;
webView.setLayerType(2, null);
webView.setBackgroundColor(0);
if (Build.VERSION.SDK_INT >= 17) {
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
}
webView.setVisibility(8);
}
public final void setCloseDelegate(CloseDelegate closeDelegate) {
Intrinsics.checkNotNullParameter(closeDelegate, "closeDelegate");
this.closeDelegate = closeDelegate;
}
public final void setOnViewTouchListener(OnViewTouchListener onViewTouchListener) {
this.onViewTouchListener = onViewTouchListener;
}
public final void setOrientationDelegate(OrientationDelegate orientationDelegate) {
this.orientationDelegate = orientationDelegate;
}
public final void close() {
CloseDelegate closeDelegate = this.closeDelegate;
if (closeDelegate != null) {
closeDelegate.close();
}
}
public final void setOrientation(int requestedOrientation) {
OrientationDelegate orientationDelegate = this.orientationDelegate;
if (orientationDelegate != null) {
orientationDelegate.setOrientation(requestedOrientation);
}
}
public final void linkWebView(WebViewClient vngWebViewClient) {
Intrinsics.checkNotNullParameter(vngWebViewClient, "vngWebViewClient");
WebView webView = this.webView;
applyDefault(webView);
webView.setWebViewClient(vngWebViewClient);
}
public final void showWebsite(String url) {
Intrinsics.checkNotNullParameter(url, "url");
Logger.INSTANCE.d(TAG, "loadUrl: " + url);
WebView webView = this.webView;
webView.setVisibility(0);
webView.loadUrl(url);
}
private final void applyDefault(WebView webView) {
WebSettings settings = webView.getSettings();
Intrinsics.checkNotNullExpressionValue(settings, "webView.settings");
settings.setBuiltInZoomControls(false);
settings.setJavaScriptEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setSaveFormData(true);
settings.setUseWideViewPort(false);
settings.setAllowFileAccess(true);
if (Build.VERSION.SDK_INT >= 16) {
settings.setAllowFileAccessFromFileURLs(true);
settings.setAllowUniversalAccessFromFileURLs(true);
}
webView.setVisibility(4);
if (Build.VERSION.SDK_INT >= 17) {
settings.setMediaPlaybackRequiresUserGesture(false);
}
}
public final void pauseWeb() {
this.webView.onPause();
}
public final void resumeWeb() {
this.webView.onResume();
}
public final String getUrl() {
return this.webView.getUrl();
}
public final void destroyWebView(long webViewDestroyDelay) {
WebView webView = this.webView;
webView.setWebChromeClient(null);
removeAllViews();
if (webViewDestroyDelay <= 0) {
new DestroyRunnable(webView).run();
} else {
new HandlerScheduler().schedule(new DestroyRunnable(webView), webViewDestroyDelay);
}
}
@Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\b\u0002\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\b\u0010\u0005\u001a\u00020\u0006H\u0016R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0007"}, d2 = {"Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$DestroyRunnable;", "Ljava/lang/Runnable;", "webView", "Landroid/webkit/WebView;", "(Landroid/webkit/WebView;)V", "run", "", "vungle-ads_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
private static final class DestroyRunnable implements Runnable {
private final WebView webView;
public DestroyRunnable(WebView webView) {
Intrinsics.checkNotNullParameter(webView, "webView");
this.webView = webView;
}
@Override
public void run() {
try {
this.webView.stopLoading();
if (Build.VERSION.SDK_INT >= 29) {
this.webView.setWebViewRenderProcessClient(null);
}
this.webView.loadData("", null, null);
this.webView.destroy();
} catch (Throwable unused) {
}
}
}
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
ViewGroup.LayoutParams layoutParams = getLayoutParams();
if (layoutParams != null) {
layoutParams.height = -1;
layoutParams.width = -1;
}
ViewGroup.LayoutParams layoutParams2 = this.webView.getLayoutParams();
if (layoutParams2 != null) {
layoutParams2.height = -1;
layoutParams2.width = -1;
}
}
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0000\u0018\u00002\u00020\u0001B\u000f\u0012\b\u0010\u0002\u001a\u0004\u0018\u00010\u0003¢\u0006\u0002\u0010\u0004J\u0010\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\bH\u0016¨\u0006\t"}, d2 = {"Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$AudioContextWrapper;", "Landroid/content/ContextWrapper;", "base", "Landroid/content/Context;", "(Landroid/content/Context;)V", "getSystemService", "", "name", "", "vungle-ads_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public static final class AudioContextWrapper extends ContextWrapper {
public AudioContextWrapper(Context context) {
super(context);
}
@Override
public Object getSystemService(String name) {
Object systemService;
Intrinsics.checkNotNullParameter(name, "name");
if (Intrinsics.areEqual("audio", name)) {
systemService = getApplicationContext().getSystemService(name);
} else {
systemService = super.getSystemService(name);
}
Intrinsics.checkNotNullExpressionValue(systemService, "if (AUDIO_SERVICE == nam…rvice(name)\n }");
return systemService;
}
}
@Metadata(d1 = {"\u0000\f\n\u0002\u0018\u0002\n\u0002\u0010\u001b\n\u0002\b\u0002\b\u0086\u0002\u0018\u0000 \u00022\u00020\u0001:\u0001\u0002B\u0000¨\u0006\u0003"}, d2 = {"Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$AdStopReason;", "", "Companion", "vungle-ads_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
@Retention(RetentionPolicy.RUNTIME)
public @interface AdStopReason {
public static final Companion INSTANCE = Companion.$$INSTANCE;
public static final int IS_AD_FINISHED_BY_API = 4;
public static final int IS_AD_FINISHING = 2;
public static final int IS_CHANGING_CONFIGURATION = 1;
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0004X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0004X\u0086T¢\u0006\u0002\n\u0000¨\u0006\u0007"}, d2 = {"Lcom/vungle/ads/internal/ui/view/MRAIDAdWidget$AdStopReason$Companion;", "", "()V", "IS_AD_FINISHED_BY_API", "", "IS_AD_FINISHING", "IS_CHANGING_CONFIGURATION", "vungle-ads_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public static final class Companion {
static final Companion $$INSTANCE = new Companion();
public static final int IS_AD_FINISHED_BY_API = 4;
public static final int IS_AD_FINISHING = 2;
public static final int IS_CHANGING_CONFIGURATION = 1;
private Companion() {
}
}
}
}