正在查看: CallApp v2.226 应用的 RichMediaAdContentView.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: CallApp v2.226 应用的 RichMediaAdContentView.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.smaato.sdk.richmedia.widget;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Rect;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.URLUtil;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.smaato.sdk.core.lifecycle.ActivityProvider;
import com.smaato.sdk.core.log.LogDomain;
import com.smaato.sdk.core.log.Logger;
import com.smaato.sdk.core.openmeasurement.ViewabilityVerificationResource;
import com.smaato.sdk.core.ui.AdContentView;
import com.smaato.sdk.core.ui.ProgressView;
import com.smaato.sdk.core.ui.WatermarkImageButton;
import com.smaato.sdk.core.util.TextUtils;
import com.smaato.sdk.core.util.Threads;
import com.smaato.sdk.core.util.UIUtils;
import com.smaato.sdk.core.util.Whatever;
import com.smaato.sdk.core.util.fi.BiConsumer;
import com.smaato.sdk.core.util.fi.Consumer;
import com.smaato.sdk.richmedia.mraid.RichMediaWebViewFactory;
import com.smaato.sdk.richmedia.mraid.Views;
import com.smaato.sdk.richmedia.mraid.dataprovider.MraidEnvironmentProperties;
import com.smaato.sdk.richmedia.mraid.dataprovider.MraidExpandProperties;
import com.smaato.sdk.richmedia.mraid.mvp.BaseView;
import com.smaato.sdk.richmedia.mraid.presenter.MraidPresenter;
import com.smaato.sdk.richmedia.mraid.presenter.ResizeParams;
import com.smaato.sdk.richmedia.util.ViewUtils;
import com.smaato.sdk.richmedia.widget.ClosableView;
import com.smaato.sdk.richmedia.widget.ResizeManager;
import com.smaato.sdk.richmedia.widget.RichMediaAdContentView;
import com.smaato.sdk.richmedia.widget.RichMediaWebView;
import com.smaato.sdk.richmedia_light.R;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
public final class RichMediaAdContentView extends AdContentView implements BaseView {
private final FrameLayout content;
private e expandManager;
private final Logger logger;
private final MraidEnvironmentProperties mraidEnvironmentProperties;
private final MraidPresenter mraidPresenter;
private ResizeManager resizeManager;
private final String richMediaCreative;
private final Callback richMediaViewCallback;
private RichMediaWebView twoPartWebView;
private final RichMediaWebView webView;
private final RichMediaWebViewFactory webViewFactory;
public interface Callback {
default void onAdCollapsed(@NonNull RichMediaAdContentView richMediaAdContentView) {
}
default void onAdExpanded(@NonNull RichMediaAdContentView richMediaAdContentView) {
}
default void onAdResized(@NonNull RichMediaAdContentView richMediaAdContentView) {
}
default void onAdViolation(@NonNull String str, @Nullable String str2) {
}
default void onHidden(@NonNull RichMediaAdContentView richMediaAdContentView) {
}
default void onPlayVideo(@NonNull RichMediaAdContentView richMediaAdContentView, @NonNull String str) {
}
default void onRenderProcessGone(@NonNull RichMediaAdContentView richMediaAdContentView) {
}
default void onUnloadView(@NonNull RichMediaAdContentView richMediaAdContentView) {
}
default void onUrlClicked(@NonNull RichMediaAdContentView richMediaAdContentView, @NonNull String str) {
}
default void onUseCustomClose(@NonNull Boolean bool) {
}
default void onWebViewError() {
}
default void onWebViewLoaded(@NonNull RichMediaAdContentView richMediaAdContentView) {
}
default void registerFriendlyObstruction(@NonNull View view) {
}
default void removeFriendlyObstruction(@NonNull View view) {
}
default void updateAdView(@NonNull RichMediaWebView richMediaWebView) {
}
}
public class a extends RichMediaWebViewCallbackAdapter {
public boolean a;
public final FrameLayout b;
public final boolean c;
public a(FrameLayout frameLayout, boolean z) {
this.b = frameLayout;
this.c = z;
}
@Override
public final void onAdViolation(String str, String str2) {
this.a = true;
RichMediaAdContentView.this.richMediaViewCallback.onAdViolation(str, str2);
}
@Override
public final void onRenderProcessGone() {
RichMediaAdContentView.this.mraidPresenter.onFailedToExpand();
}
@Override
public final void onUrlClicked(String str) {
RichMediaAdContentView richMediaAdContentView = RichMediaAdContentView.this;
richMediaAdContentView.richMediaViewCallback.onUrlClicked(richMediaAdContentView, str);
}
@Override
public final void onWebViewLoaded() {
boolean z = this.a;
RichMediaAdContentView richMediaAdContentView = RichMediaAdContentView.this;
if (z) {
richMediaAdContentView.mraidPresenter.onFailedToExpand();
} else {
if (richMediaAdContentView.expandManager != null) {
return;
}
richMediaAdContentView.performExpand(this.b, this.c);
richMediaAdContentView.richMediaViewCallback.updateAdView(richMediaAdContentView.twoPartWebView);
}
}
}
public class b {
public final boolean a;
public b(boolean z) {
this.a = z;
}
}
public class c implements ResizeManager.Listener {
public c() {
}
@Override
public final void onCloseClicked(ImageButton imageButton) {
RichMediaAdContentView richMediaAdContentView = RichMediaAdContentView.this;
richMediaAdContentView.mraidPresenter.handleClose();
richMediaAdContentView.richMediaViewCallback.removeFriendlyObstruction(imageButton);
}
@Override
public final void onResizeFailed(String str) {
RichMediaAdContentView.this.mraidPresenter.onFailedToResize(str);
}
@Override
public final void onResized(ImageButton imageButton) {
RichMediaAdContentView richMediaAdContentView = RichMediaAdContentView.this;
richMediaAdContentView.mraidPresenter.onWasResized();
richMediaAdContentView.richMediaViewCallback.onAdResized(richMediaAdContentView);
}
}
public class d extends RichMediaWebViewCallbackAdapter {
public d() {
}
@Override
public final void handleMraidUrl(String str, boolean z) {
RichMediaAdContentView.this.mraidPresenter.handleMraidUrl(str, z);
}
@Override
public final void onAdViolation(String str, String str2) {
RichMediaAdContentView.this.richMediaViewCallback.onAdViolation(str, str2);
}
@Override
public final void onError() {
super.onError();
RichMediaAdContentView.this.richMediaViewCallback.onWebViewError();
}
@Override
public final void onRenderProcessGone() {
RichMediaAdContentView richMediaAdContentView = RichMediaAdContentView.this;
richMediaAdContentView.richMediaViewCallback.onRenderProcessGone(richMediaAdContentView);
}
@Override
public final void onUrlClicked(String str) {
RichMediaAdContentView richMediaAdContentView = RichMediaAdContentView.this;
richMediaAdContentView.richMediaViewCallback.onUrlClicked(richMediaAdContentView, str);
}
@Override
public final void onWebViewLoaded() {
RichMediaAdContentView richMediaAdContentView = RichMediaAdContentView.this;
richMediaAdContentView.richMediaViewCallback.onWebViewLoaded(richMediaAdContentView);
richMediaAdContentView.mraidPresenter.onHtmlLoaded();
}
}
private RichMediaAdContentView(Logger logger, Context context, String str, final Callback callback, RichMediaWebViewFactory richMediaWebViewFactory, final RichMediaWebView richMediaWebView, MraidPresenter mraidPresenter, MraidEnvironmentProperties mraidEnvironmentProperties, int i, int i2) {
super(context);
this.logger = logger;
this.richMediaCreative = str;
this.richMediaViewCallback = callback;
this.webViewFactory = richMediaWebViewFactory;
this.mraidPresenter = mraidPresenter;
this.webView = richMediaWebView;
this.mraidEnvironmentProperties = mraidEnvironmentProperties;
i = i > 0 ? UIUtils.dpToPx(context, i) : i;
i2 = i2 > 0 ? UIUtils.dpToPx(context, i2) : i2;
FrameLayout frameLayout = new FrameLayout(context);
this.content = frameLayout;
addView(frameLayout, AdContentView.generateDefaultLayoutParams(i, i2));
richMediaWebView.setCallback(createRichMediaWebViewCallback());
richMediaWebView.setId(R.id.webView);
frameLayout.addView(richMediaWebView, new FrameLayout.LayoutParams(-1, -1));
frameLayout.addView(new WatermarkImageButton(getContext()));
setLayoutParams(new FrameLayout.LayoutParams(i, i2, 17));
mraidPresenter.setOnExpandCallback(new BiConsumer() {
@Override
public final void accept(Object obj, Object obj2) {
RichMediaAdContentView.this.lambda$new$0(richMediaWebView, (String) obj, (MraidExpandProperties) obj2);
}
});
final int i3 = 0;
mraidPresenter.setOnOpenCallback(new Consumer(this) {
public final RichMediaAdContentView b;
{
this.b = this;
}
@Override
public final void accept(Object obj) {
String str2 = (String) obj;
switch (i3) {
case 0:
this.b.lambda$new$1(richMediaWebView, callback, str2);
break;
default:
this.b.lambda$new$2(richMediaWebView, callback, str2);
break;
}
}
});
final int i4 = 1;
mraidPresenter.setOnPlayVideoCallback(new Consumer(this) {
public final RichMediaAdContentView b;
{
this.b = this;
}
@Override
public final void accept(Object obj) {
String str2 = (String) obj;
switch (i4) {
case 0:
this.b.lambda$new$1(richMediaWebView, callback, str2);
break;
default:
this.b.lambda$new$2(richMediaWebView, callback, str2);
break;
}
}
});
final int i5 = 0;
mraidPresenter.setOnUnloadCallback(new Consumer(this) {
public final RichMediaAdContentView b;
{
this.b = this;
}
@Override
public final void accept(Object obj) {
Whatever whatever = (Whatever) obj;
switch (i5) {
case 0:
this.b.lambda$new$3(callback, whatever);
break;
default:
this.b.lambda$new$6(callback, whatever);
break;
}
}
});
mraidPresenter.setResizeCallback(new com.smaato.sdk.banner.view.a(10, this, richMediaWebView));
mraidPresenter.setOnCollapseCallback(new k(this, 2));
final int i6 = 1;
mraidPresenter.setOnHideCallback(new Consumer(this) {
public final RichMediaAdContentView b;
{
this.b = this;
}
@Override
public final void accept(Object obj) {
Whatever whatever = (Whatever) obj;
switch (i6) {
case 0:
this.b.lambda$new$3(callback, whatever);
break;
default:
this.b.lambda$new$6(callback, whatever);
break;
}
}
});
Objects.requireNonNull(callback);
mraidPresenter.setAdViolationCallback(new j(callback, 0));
mraidPresenter.setUseCustomCloseCallback(new com.smaato.sdk.core.mvvm.viewmodel.a(callback, 5));
}
@NonNull
public static RichMediaAdContentView create(@NonNull Logger logger, @NonNull Context context, @NonNull String str, @NonNull Callback callback, @NonNull RichMediaWebViewFactory richMediaWebViewFactory, @NonNull RichMediaWebView richMediaWebView, @NonNull MraidPresenter mraidPresenter, @NonNull MraidEnvironmentProperties mraidEnvironmentProperties, int i, int i2) {
return new RichMediaAdContentView((Logger) com.smaato.sdk.core.util.Objects.requireNonNull(logger), (Context) com.smaato.sdk.core.util.Objects.requireNonNull(context), (String) com.smaato.sdk.core.util.Objects.requireNonNull(str), (Callback) com.smaato.sdk.core.util.Objects.requireNonNull(callback), (RichMediaWebViewFactory) com.smaato.sdk.core.util.Objects.requireNonNull(richMediaWebViewFactory), (RichMediaWebView) com.smaato.sdk.core.util.Objects.requireNonNull(richMediaWebView), (MraidPresenter) com.smaato.sdk.core.util.Objects.requireNonNull(mraidPresenter), (MraidEnvironmentProperties) com.smaato.sdk.core.util.Objects.requireNonNull(mraidEnvironmentProperties), i, i2);
}
private RichMediaWebView.Callback createRichMediaWebViewCallback() {
return new d();
}
private void expand(String str) {
if (this.expandManager != null) {
return;
}
boolean z = !TextUtils.isEmpty(str) && URLUtil.isNetworkUrl(str);
if (!z) {
performExpand(this.content, z);
return;
}
FrameLayout frameLayout = new FrameLayout(getContext());
WatermarkImageButton watermarkImageButton = new WatermarkImageButton(getContext());
RichMediaWebView create = this.webViewFactory.create(getContext(), true);
this.twoPartWebView = create;
frameLayout.addView(create);
frameLayout.addView(watermarkImageButton);
this.twoPartWebView.setCallback(new a(frameLayout, z));
this.twoPartWebView.loadUrlContent(str);
}
public void lambda$new$0(RichMediaWebView richMediaWebView, String str, MraidExpandProperties mraidExpandProperties) {
richMediaWebView.resetClickedFlag();
expand(str);
}
public void lambda$new$1(RichMediaWebView richMediaWebView, Callback callback, String str) {
richMediaWebView.resetClickedFlag();
callback.onUrlClicked(this, str);
}
public void lambda$new$2(RichMediaWebView richMediaWebView, Callback callback, String str) {
richMediaWebView.resetClickedFlag();
callback.onPlayVideo(this, str);
}
public void lambda$new$3(Callback callback, Whatever whatever) {
callback.onUnloadView(this);
}
public void lambda$new$4(RichMediaWebView richMediaWebView, ResizeParams resizeParams) {
richMediaWebView.resetClickedFlag();
resize(resizeParams);
}
public void lambda$new$5(Whatever whatever) {
restoreDefaultSize();
}
public void lambda$new$6(Callback callback, Whatever whatever) {
callback.onHidden(this);
}
public void lambda$restoreDefaultSize$7() {
this.mraidPresenter.onWasClosed();
this.richMediaViewCallback.onAdCollapsed(this);
}
public void lambda$restoreDefaultSize$8(ResizeManager resizeManager) {
resizeManager.getClass();
Threads.runOnNextUiFrame(new g(resizeManager, 1));
this.resizeManager = null;
}
public void lambda$restoreDefaultSize$9(e eVar) {
com.smaato.sdk.core.util.Objects.onNotNull(eVar.a, new com.smaato.sdk.core.mvvm.viewmodel.a(eVar, 4));
this.expandManager = null;
}
public void performExpand(View view, boolean z) {
final e eVar = new e();
this.expandManager = eVar;
final b bVar = new b(z);
Activity currentActivity = ActivityProvider.get().getCurrentActivity();
if (currentActivity == null) {
RichMediaAdContentView richMediaAdContentView = RichMediaAdContentView.this;
richMediaAdContentView.logger.error(LogDomain.RICH_MEDIA, "Failed to expand creative", new Object[0]);
richMediaAdContentView.mraidPresenter.onFailedToExpand();
return;
}
final ClosableView closableView = new ClosableView(currentActivity);
closableView.setOnCloseClickListener(new ClosableView.OnCloseClickListener(eVar, bVar, closableView) {
public final RichMediaAdContentView.b a;
public final ClosableView b;
{
this.a = bVar;
this.b = closableView;
}
@Override
public final void onCloseClick() {
e.a(this.a, this.b);
}
});
ViewUtils.removeFromParent(view);
closableView.addContent(view);
Dialog dialog = new Dialog(currentActivity, R.style.smaato_sdk_richmedia_expandable_dialog);
eVar.a = dialog;
dialog.setContentView(closableView);
eVar.a.setCanceledOnTouchOutside(false);
eVar.a.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public final void onShow(DialogInterface dialogInterface) {
closableView.getCloseButton();
RichMediaAdContentView richMediaAdContentView2 = RichMediaAdContentView.this;
richMediaAdContentView2.mraidPresenter.onWasExpanded();
richMediaAdContentView2.richMediaViewCallback.onAdExpanded(richMediaAdContentView2);
}
});
eVar.a.setOnKeyListener(new DialogInterface.OnKeyListener(eVar, bVar, closableView) {
public final RichMediaAdContentView.b a;
public final ClosableView b;
{
this.a = bVar;
this.b = closableView;
}
@Override
public final boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) {
if (i != 4 || keyEvent.getAction() != 1) {
return false;
}
e.a(this.a, this.b);
return false;
}
});
eVar.a.show();
}
private void resize(ResizeParams resizeParams) {
if (this.resizeManager == null) {
ResizeManager resizeManager = new ResizeManager(this.logger, this.content, resizeParams.maxSizeRectInPx);
this.resizeManager = resizeManager;
resizeManager.e = new c();
}
ResizeManager resizeManager2 = this.resizeManager;
Rect rect = resizeParams.resizeRectInPx;
View view = resizeManager2.c;
View rootView = ViewUtils.getRootView(view);
boolean z = rootView instanceof ViewGroup;
Logger logger = resizeManager2.a;
if (!z) {
logger.error(LogDomain.RICH_MEDIA, "Cannot find a root view for a resizable-view", new Object[0]);
com.smaato.sdk.core.util.Objects.onNotNull(resizeManager2.e, new h("Cannot find a root view for a resizable-view", 0));
return;
}
ViewGroup viewGroup = (ViewGroup) rootView;
Rect rect2 = resizeManager2.b;
ClosableView closableView = resizeManager2.d;
if (!closableView.isCloseRegionVisible(rect2, rect)) {
logger.error(LogDomain.RICH_MEDIA, "The close region cannot appear within the maximum allowed size", new Object[0]);
com.smaato.sdk.core.util.Objects.onNotNull(resizeManager2.e, new h("The close region cannot appear within the maximum allowed size", 0));
return;
}
if (!closableView.hasContent()) {
ViewUtils.removeFromParent(view);
closableView.addContent(view);
viewGroup.addView(closableView);
}
ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) closableView.getLayoutParams();
marginLayoutParams.width = rect.width();
marginLayoutParams.height = rect.height();
marginLayoutParams.topMargin = rect.top;
marginLayoutParams.leftMargin = rect.left;
closableView.setLayoutParams(marginLayoutParams);
Views.addOnPreDrawListener(closableView, new g(resizeManager2, 0));
}
private void restoreDefaultSize() {
if (this.resizeManager != null || this.expandManager != null) {
ViewUtils.removeFromParent(this.content);
addView(this.content);
Views.addOnPreDrawListener(this.content, new com.sinch.verification.core.verification.interceptor.a(this, 12));
}
com.smaato.sdk.core.util.Objects.onNotNull(this.resizeManager, new k(this, 0));
com.smaato.sdk.core.util.Objects.onNotNull(this.expandManager, new k(this, 1));
}
@Override
public void destroy() {
Threads.ensureMainThread();
restoreDefaultSize();
com.smaato.sdk.core.util.Objects.onNotNull(this.twoPartWebView, new com.smaato.sdk.interstitial.view.j(5));
this.mraidPresenter.destroy();
Handler newUiHandler = Threads.newUiHandler();
RichMediaWebView richMediaWebView = this.webView;
Objects.requireNonNull(richMediaWebView);
newUiHandler.postDelayed(new com.sinch.verification.core.verification.interceptor.a(richMediaWebView, 13), 1000L);
}
@Override
@NonNull
public View getViewForOmTracking() {
return getWebView();
}
@Override
@NonNull
public View getViewForVisibilityTracking() {
View rootView = getRootView();
if (rootView != null) {
return rootView;
}
throw new IllegalStateException("No root view for RichMediaAdContentView found");
}
@Override
public Map<String, List<ViewabilityVerificationResource>> getViewabilityVerificationResourcesMap() {
return new HashMap();
}
@NonNull
public RichMediaWebView getWebView() {
return this.webView;
}
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.mraidPresenter.attachView(this);
}
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
this.mraidPresenter.detachView();
}
@Override
public void showProgressIndicator(boolean z) {
Threads.ensureMainThread();
if (z) {
this.content.addView(new ProgressView(getContext()));
} else {
this.content.removeView((ProgressView) this.content.findViewById(R.id.smaato_sdk_core_progress_view_id));
}
}
@Override
public void startShowingView() {
Threads.ensureMainThread();
this.webView.loadData(this.richMediaCreative, this.mraidEnvironmentProperties);
}
}