正在查看: CallApp v2.226 应用的 POBMraidRenderer.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: CallApp v2.226 应用的 POBMraidRenderer.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.pubmatic.sdk.webrendering.mraid;
import a1.d0;
import android.content.Context;
import android.os.Trace;
import android.view.View;
import android.widget.ImageButton;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.pubmatic.sdk.common.POBError;
import com.pubmatic.sdk.common.POBInstanceProvider;
import com.pubmatic.sdk.common.base.POBAdDescriptor;
import com.pubmatic.sdk.common.base.POBAdRendererListener;
import com.pubmatic.sdk.common.log.POBLog;
import com.pubmatic.sdk.common.models.POBDeviceInfo;
import com.pubmatic.sdk.common.models.POBImpressionCountingMethod;
import com.pubmatic.sdk.common.network.POBTrackerHandler;
import com.pubmatic.sdk.common.ui.POBBannerRendering;
import com.pubmatic.sdk.common.ui.POBHtmlRendererListener;
import com.pubmatic.sdk.common.utility.POBUrlHandler;
import com.pubmatic.sdk.common.utility.POBUtils;
import com.pubmatic.sdk.common.view.POBWebView;
import com.pubmatic.sdk.common.viewability.POBHTMLMeasurementProvider;
import com.pubmatic.sdk.common.viewability.POBMeasurementProvider;
import com.pubmatic.sdk.common.viewability.POBObstructionUpdateListener;
import com.pubmatic.sdk.webrendering.dsa.POBDsaHtmlContent;
import com.pubmatic.sdk.webrendering.dsa.POBDsaInfoPresenterHelper;
import com.pubmatic.sdk.webrendering.ui.POBAdViewContainer;
import com.pubmatic.sdk.webrendering.ui.POBAdVisibilityListener;
import com.pubmatic.sdk.webrendering.ui.POBHTMLRenderer;
import com.pubmatic.sdk.webrendering.ui.POBHTMLViewClient;
import com.pubmatic.sdk.webrendering.ui.POBViewabilityTracker;
public class POBMraidRenderer implements n, POBBannerRendering, POBHtmlRendererListener, POBObstructionUpdateListener, POBHTMLViewClient.OnRenderProcessGoneListener {
private final String a;
private final POBMraidController b;
private final POBMraidBridge c;
private final POBHTMLRenderer d;
private POBAdRendererListener e;
private POBUseCustomCloseListener f;
private final POBAdViewContainer g;
private boolean h;
private View.OnLayoutChangeListener i;
private POBAdVisibilityListener j;
private POBHTMLMeasurementProvider k;
private String l;
private final Context m;
private POBWebView n;
private POBAdDescriptor o;
private POBUrlHandler p;
private POBTrackerHandler q;
private boolean r;
public class a implements POBWebView.OnFocusChangedListener {
public a() {
}
@Override
public void onFocusChanged(boolean z) {
if (POBMraidRenderer.this.j != null) {
POBMraidRenderer.this.j.onVisibilityChange(z);
}
}
}
public class b implements POBMeasurementProvider.POBScriptListener {
final String a;
final boolean b;
public b(String str, boolean z) {
this.a = str;
this.b = z;
}
@Override
public void onFailedToReceiveMeasurementScript(int i) {
POBLog.error("POBMraidRenderer", "Failed to fetch OMID JS script.", new Object[0]);
POBMraidRenderer.this.d.loadHTML(this.a, POBMraidRenderer.this.l, this.b);
}
@Override
public void onMeasurementScriptReceived(String str) {
StringBuilder s = com.mobilefuse.sdk.assetsmanager.a.s("<script>", str, "</script>");
s.append(this.a);
POBMraidRenderer.this.d.loadHTML(s.toString(), POBMraidRenderer.this.l, this.b);
}
}
public class c implements POBViewabilityTracker.OnViewabilityChangedListener {
final POBViewabilityTracker a;
public c(POBViewabilityTracker pOBViewabilityTracker) {
this.a = pOBViewabilityTracker;
}
@Override
public void onViewabilityChanged(boolean z) {
if (z) {
POBMraidRenderer.this.d();
this.a.destroy();
}
}
}
public class d implements View.OnClickListener {
final POBAdDescriptor a;
public class a implements POBDsaHtmlContent.OnContentListener {
public a() {
}
@Override
public void onPageContentReceived(String str) {
POBDsaInfoPresenterHelper.show(POBMraidRenderer.this.m, d.this.a, str);
}
}
public d(POBAdDescriptor pOBAdDescriptor) {
this.a = pOBAdDescriptor;
}
@Override
public void onClick(View view) {
POBDsaHtmlContent.getHtmlContent(POBMraidRenderer.this.m, new a());
}
}
public class e implements Runnable {
public e() {
}
@Override
public void run() {
if (POBMraidRenderer.this.h) {
POBMraidRenderer.this.c.setMraidState(com.pubmatic.sdk.webrendering.mraid.b.DEFAULT);
}
POBMraidRenderer.this.b.initProperties(POBMraidRenderer.this.c, POBMraidRenderer.this.h);
POBMraidRenderer.this.h = false;
}
}
public class f implements View.OnLayoutChangeListener {
public f() {
}
@Override
public void onLayoutChange(View view, int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8) {
POBMraidRenderer.this.h();
}
}
public class g implements POBUrlHandler.UrlHandlerListener {
public g() {
}
@Override
public void onErrorOpenUrl(String str) {
POBLog.warn("POBMraidRenderer", "Error opening url %s", str);
}
@Override
public void onInternalBrowserClose(String str) {
POBMraidRenderer.this.c();
}
@Override
public void onInternalBrowserOpen(String str) {
POBMraidRenderer.this.b();
}
@Override
public void onLeaveApp(String str) {
POBMraidRenderer.this.onLeavingApplication();
}
}
public class h implements Runnable {
public h() {
}
@Override
public void run() {
if (POBMraidRenderer.this.k != null) {
POBMraidRenderer.this.k.signalAdEvent(POBHTMLMeasurementProvider.POBHTMLAdEventType.IMPRESSION);
}
}
}
public POBMraidRenderer(@NonNull Context context, @NonNull String str, @NonNull POBAdViewContainer pOBAdViewContainer, int i) {
this.r = false;
this.m = context;
this.a = str;
this.g = pOBAdViewContainer;
this.n = pOBAdViewContainer.getAdView();
this.r = "interstitial".equals(str);
this.n.getSettings().setJavaScriptEnabled(true);
this.n.getSettings().setCacheMode(2);
this.n.setScrollBarStyle(0);
POBMraidWebClient pOBMraidWebClient = new POBMraidWebClient(this);
pOBMraidWebClient.disableMultipleOnPageFinished(true);
POBHTMLRenderer pOBHTMLRenderer = new POBHTMLRenderer(this.n, pOBMraidWebClient);
this.d = pOBHTMLRenderer;
pOBHTMLRenderer.setRendererViewListener(this);
POBMraidBridge pOBMraidBridge = new POBMraidBridge(pOBAdViewContainer);
this.c = pOBMraidBridge;
POBMraidController pOBMraidController = new POBMraidController(context, pOBMraidBridge, str, i);
this.b = pOBMraidController;
pOBMraidController.setMraidControllerListener(this);
pOBMraidController.addInlineVideoSupportToWebView(this.n);
g();
a(pOBMraidController);
}
@Nullable
public static POBMraidRenderer createInstance(@NonNull Context context, @NonNull String str, int i) {
POBWebView createInstance = POBWebView.createInstance(context);
if (createInstance != null) {
return new POBMraidRenderer(context, str, new POBAdViewContainer(context, createInstance), i);
}
return null;
}
@Override
public void addFriendlyObstructions(@NonNull View view, @NonNull POBObstructionUpdateListener.POBFriendlyObstructionPurpose pOBFriendlyObstructionPurpose) {
POBHTMLMeasurementProvider pOBHTMLMeasurementProvider = this.k;
if (pOBHTMLMeasurementProvider != null) {
pOBHTMLMeasurementProvider.addFriendlyObstructions(view, pOBFriendlyObstructionPurpose);
}
}
@Override
public void destroy() {
invalidate();
this.d.destroy();
}
public void invalidate() {
this.b.destroy();
POBWebView pOBWebView = this.n;
if (pOBWebView != null) {
pOBWebView.removeOnLayoutChangeListener(this.i);
this.n.setOnfocusChangedListener(null);
this.n = null;
}
this.i = null;
POBHTMLMeasurementProvider pOBHTMLMeasurementProvider = this.k;
if (pOBHTMLMeasurementProvider != null) {
pOBHTMLMeasurementProvider.finishAdSession();
this.k = null;
}
}
@Override
public void invalidateExpiration() {
}
@Override
public boolean isUserInteracted(boolean z) {
boolean isUserInteracted = this.d.isUserInteracted();
if (z) {
this.d.setUserInteracted(false);
}
return isUserInteracted;
}
@Override
public void onAdInteractionStarted() {
if (!this.r) {
this.g.resizeDsaIcon(true);
}
b();
}
@Override
public void onAdInteractionStopped() {
if (!this.r) {
this.g.resizeDsaIcon(false);
}
c();
}
@Override
public void onAdUnload() {
POBAdRendererListener pOBAdRendererListener = this.e;
if (pOBAdRendererListener != null) {
pOBAdRendererListener.onAdUnload();
}
}
@Override
public void onAdViewChanged(@NonNull View view) {
POBHTMLMeasurementProvider pOBHTMLMeasurementProvider = this.k;
if (pOBHTMLMeasurementProvider != null) {
pOBHTMLMeasurementProvider.setTrackView(view);
}
}
@Override
public void onLeavingApplication() {
POBAdRendererListener pOBAdRendererListener = this.e;
if (pOBAdRendererListener != null) {
pOBAdRendererListener.onLeavingApplication();
}
}
@Override
public void onMRAIDAdClick() {
a();
POBAdRendererListener pOBAdRendererListener = this.e;
if (pOBAdRendererListener != null) {
pOBAdRendererListener.onRenderAdClick();
}
}
@Override
public void onOpen(@Nullable String str) {
a(str);
}
@Override
public void onRenderProcessGone() {
POBAdRendererListener pOBAdRendererListener = this.e;
if (pOBAdRendererListener != null) {
pOBAdRendererListener.onRenderProcessGone();
}
invalidate();
this.d.invalidateWebView();
}
@Override
public void onViewClicked(@Nullable String str) {
a(str);
}
@Override
public void onViewRendered(@NonNull View view) {
Trace.endSection();
if (!this.r) {
this.b.close();
}
this.c.resetPropertyMap();
this.h = true;
if (!this.r) {
h();
}
f();
i();
POBAdDescriptor pOBAdDescriptor = this.o;
if (pOBAdDescriptor != null && pOBAdDescriptor.enableDsaInfoIcon()) {
a(this.o);
}
if (this.e != null) {
a(this.m);
this.e.onAdRender(this.g, this.o);
POBAdDescriptor pOBAdDescriptor2 = this.o;
if (pOBAdDescriptor2 != null && pOBAdDescriptor2.getImpressionCountingMethod() == POBImpressionCountingMethod.ON_LOAD) {
d();
}
POBAdDescriptor pOBAdDescriptor3 = this.o;
this.e.onAdReadyToRefresh(pOBAdDescriptor3 != null ? pOBAdDescriptor3.getRefreshInterval() : 0);
}
}
@Override
public void onViewRenderingFailed(@NonNull POBError pOBError) {
Trace.endSection();
POBAdRendererListener pOBAdRendererListener = this.e;
if (pOBAdRendererListener != null) {
pOBAdRendererListener.onAdRenderingFailed(pOBError);
}
}
@Override
public void removeFriendlyObstructions(@Nullable View view) {
POBHTMLMeasurementProvider pOBHTMLMeasurementProvider = this.k;
if (pOBHTMLMeasurementProvider != null) {
pOBHTMLMeasurementProvider.removeFriendlyObstructions(view);
}
}
@Override
public void renderAd(@NonNull POBAdDescriptor pOBAdDescriptor) {
Trace.beginSection("POB Mraid Parsing");
this.o = pOBAdDescriptor;
if (pOBAdDescriptor.getImpressionCountingMethod() == POBImpressionCountingMethod.ONE_PX_VIEWABLE) {
e();
}
this.b.addCommandHandlers(this.c, false, this.o.isCompanion());
String renderableContent = pOBAdDescriptor.getRenderableContent();
boolean isCompanion = pOBAdDescriptor.isCompanion();
if (isCompanion && !POBUtils.isNullOrEmpty(renderableContent) && renderableContent.toLowerCase().startsWith("http")) {
this.d.loadHTML(null, renderableContent, isCompanion);
return;
}
Context applicationContext = this.m.getApplicationContext();
POBDeviceInfo deviceInfo = POBInstanceProvider.getDeviceInfo(applicationContext);
StringBuilder y = d0.y(POBMRAIDUtil.getMRAIDEnvironment(POBInstanceProvider.getAppInfo(applicationContext).getPackageName(), deviceInfo.getAdvertisingID(), deviceInfo.getLmtEnabled(), POBInstanceProvider.getSdkConfig().isCoppa()));
y.append(pOBAdDescriptor.getRenderableContent());
String sb = y.toString();
POBHTMLMeasurementProvider pOBHTMLMeasurementProvider = this.k;
if (pOBHTMLMeasurementProvider != null) {
pOBHTMLMeasurementProvider.omidJsServiceScript(this.m.getApplicationContext(), new b(sb, isCompanion));
} else {
this.d.loadHTML(sb, this.l, isCompanion);
}
}
@Override
public void setAdRendererListener(@Nullable POBAdRendererListener pOBAdRendererListener) {
this.e = pOBAdRendererListener;
}
public void setBaseURL(@Nullable String str) {
this.l = str;
}
public void setCustomCloseListener(@Nullable POBUseCustomCloseListener pOBUseCustomCloseListener) {
this.f = pOBUseCustomCloseListener;
}
public void setHTMLMeasurementListener(POBHTMLMeasurementProvider pOBHTMLMeasurementProvider) {
this.k = pOBHTMLMeasurementProvider;
}
public void setRenderingTimeout(int i) {
this.d.setRenderingTimeout(i);
}
public void setTrackerHandler(@NonNull POBTrackerHandler pOBTrackerHandler) {
this.q = pOBTrackerHandler;
}
@Override
public void shouldUseCustomClose(boolean z) {
POBLog.debug("POBMraidRenderer", "MRAID useCustomClose: %s", Boolean.valueOf(z));
POBUseCustomCloseListener pOBUseCustomCloseListener = this.f;
if (pOBUseCustomCloseListener != null) {
pOBUseCustomCloseListener.useCustomClose(z);
}
}
public void signalImpressionEvent() {
POBWebView pOBWebView;
if (this.k == null || (pOBWebView = this.n) == null) {
return;
}
pOBWebView.postDelayed(new h(), 1000L);
}
private void b(String str) {
if (this.p == null || POBUtils.isNullOrEmpty(str) || "https://obplaceholder.click.com/".equals(str)) {
POBLog.warn("POBMraidRenderer", "Click through url is missing.", new Object[0]);
} else {
this.p.open(str);
}
}
public void c() {
POBAdRendererListener pOBAdRendererListener = this.e;
if (pOBAdRendererListener != null) {
pOBAdRendererListener.onAdInteractionStopped();
}
}
public void d() {
POBAdRendererListener pOBAdRendererListener = this.e;
if (pOBAdRendererListener != null) {
pOBAdRendererListener.onAdImpression();
}
}
private void e() {
POBWebView pOBWebView = this.n;
if (pOBWebView != null) {
POBViewabilityTracker pOBViewabilityTracker = new POBViewabilityTracker((View) pOBWebView, 1);
pOBViewabilityTracker.setAllowViewTreeObserverRegistration(true);
pOBViewabilityTracker.setOnExposureChangeWithThresholdListener(new c(pOBViewabilityTracker));
}
}
private void f() {
if (this.i != null || this.n == null) {
POBLog.debug("POBMraidRenderer", "layoutChangeListener null", new Object[0]);
return;
}
f fVar = new f();
this.i = fVar;
this.n.addOnLayoutChangeListener(fVar);
}
private void g() {
POBWebView pOBWebView = this.n;
if (pOBWebView != null) {
pOBWebView.setOnfocusChangedListener(new a());
}
}
public void h() {
POBWebView pOBWebView = this.n;
if (pOBWebView != null) {
pOBWebView.post(new e());
}
}
private void i() {
POBWebView pOBWebView;
POBHTMLMeasurementProvider pOBHTMLMeasurementProvider = this.k;
if (pOBHTMLMeasurementProvider == null || (pOBWebView = this.n) == null) {
return;
}
pOBHTMLMeasurementProvider.startAdSession(pOBWebView);
this.k.signalAdEvent(POBHTMLMeasurementProvider.POBHTMLAdEventType.LOADED);
if (this.r) {
return;
}
signalImpressionEvent();
}
private void a(POBAdVisibilityListener pOBAdVisibilityListener) {
this.j = pOBAdVisibilityListener;
}
private void a(String str) {
a();
b(str);
POBAdRendererListener pOBAdRendererListener = this.e;
if (pOBAdRendererListener != null) {
pOBAdRendererListener.onRenderAdClick();
}
}
public void b() {
POBAdRendererListener pOBAdRendererListener = this.e;
if (pOBAdRendererListener != null) {
pOBAdRendererListener.onAdInteractionStarted();
}
}
private void a() {
POBAdDescriptor pOBAdDescriptor = this.o;
if (pOBAdDescriptor == null || this.q == null) {
return;
}
this.q.sendTrackers(pOBAdDescriptor.getClickTrackers());
}
private void a(POBAdDescriptor pOBAdDescriptor) {
POBHTMLMeasurementProvider pOBHTMLMeasurementProvider;
this.g.addDsaIcon(this.r, pOBAdDescriptor.isVideo(), new d(pOBAdDescriptor));
ImageButton dsaIcon = this.g.getDsaIcon();
if (dsaIcon == null || (pOBHTMLMeasurementProvider = this.k) == null) {
return;
}
pOBHTMLMeasurementProvider.addFriendlyObstructions(dsaIcon, POBObstructionUpdateListener.POBFriendlyObstructionPurpose.OTHER);
}
private void a(Context context) {
this.p = new POBUrlHandler(context, new g());
}
}