Add decompiled APK source code (JADX)

- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-02-18 14:52:23 -08:00
parent cc210a65ea
commit f9d20bb3fc
26991 changed files with 2541449 additions and 0 deletions

View File

@@ -0,0 +1,247 @@
package com.applovin.mediation.nativeAds;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.UiThread;
import com.applovin.impl.mediation.nativeAds.MaxNativeAdImpl;
import com.applovin.mediation.MaxAdFormat;
import java.util.List;
/* loaded from: classes2.dex */
public class MaxNativeAd extends MaxNativeAdImpl {
private static final float MINIMUM_STARS_TO_RENDER = 3.0f;
private final String advertiser;
private final String body;
private final String callToAction;
private final MaxAdFormat format;
private final MaxNativeAdImage icon;
private final View iconView;
private boolean isExpired;
private final MaxNativeAdImage mainImage;
private final float mediaContentAspectRatio;
private final View mediaView;
private MaxNativeAdView nativeAdView;
private final View optionsView;
private final Double starRating;
private final String title;
public static class Builder {
private MaxAdFormat a;
private String b;
private String c;
private String d;
private String e;
private MaxNativeAdImage f;
private View g;
private View h;
private View i;
private MaxNativeAdImage j;
private float k;
private Double l;
public MaxNativeAd build() {
return new MaxNativeAd(this);
}
public Builder setAdFormat(MaxAdFormat maxAdFormat) {
this.a = maxAdFormat;
return this;
}
public Builder setAdvertiser(String str) {
this.c = str;
return this;
}
public Builder setBody(String str) {
this.d = str;
return this;
}
public Builder setCallToAction(String str) {
this.e = str;
return this;
}
public Builder setIcon(MaxNativeAdImage maxNativeAdImage) {
this.f = maxNativeAdImage;
return this;
}
public Builder setIconView(View view) {
this.g = view;
return this;
}
public Builder setMainImage(MaxNativeAdImage maxNativeAdImage) {
this.j = maxNativeAdImage;
return this;
}
public Builder setMediaContentAspectRatio(float f) {
this.k = f;
return this;
}
public Builder setMediaView(View view) {
this.i = view;
return this;
}
public Builder setOptionsView(View view) {
this.h = view;
return this;
}
public Builder setStarRating(Double d) {
this.l = d;
return this;
}
public Builder setTitle(String str) {
this.b = str;
return this;
}
}
public MaxNativeAd(Builder builder) {
this.format = builder.a;
this.title = builder.b;
this.advertiser = builder.c;
this.body = builder.d;
this.callToAction = builder.e;
this.icon = builder.f;
this.iconView = builder.g;
this.optionsView = builder.h;
this.mediaView = builder.i;
this.mainImage = builder.j;
this.mediaContentAspectRatio = builder.k;
Double d = builder.l;
this.starRating = (d == null || d.doubleValue() < 3.0d) ? null : d;
}
@Nullable
public final String getAdvertiser() {
return this.advertiser;
}
@Nullable
public final String getBody() {
return this.body;
}
@Nullable
public final String getCallToAction() {
return this.callToAction;
}
@NonNull
public final MaxAdFormat getFormat() {
return this.format;
}
@Nullable
public final MaxNativeAdImage getIcon() {
return this.icon;
}
@Nullable
public final View getIconView() {
return this.iconView;
}
@Nullable
public final MaxNativeAdImage getMainImage() {
return this.mainImage;
}
public final float getMediaContentAspectRatio() {
return this.mediaContentAspectRatio;
}
@Nullable
public final View getMediaView() {
return this.mediaView;
}
@Nullable
public final View getOptionsView() {
return this.optionsView;
}
@Nullable
public final Double getStarRating() {
return this.starRating;
}
@Nullable
public final String getTitle() {
return this.title;
}
public boolean isContainerClickable() {
return false;
}
public final boolean isExpired() {
return this.isExpired;
}
public boolean prepareForInteraction(List<View> list, ViewGroup viewGroup) {
return false;
}
@Deprecated
public void prepareViewForInteraction(MaxNativeAdView maxNativeAdView) {
}
public void setExpired() {
this.isExpired = true;
}
public void setNativeAdView(MaxNativeAdView maxNativeAdView) {
this.nativeAdView = maxNativeAdView;
}
public boolean shouldPrepareViewForInteractionOnMainThread() {
return true;
}
public static class MaxNativeAdImage {
private Drawable a;
private Uri b;
public MaxNativeAdImage(Drawable drawable) {
this.a = drawable;
}
@Nullable
public Drawable getDrawable() {
return this.a;
}
@Nullable
public Uri getUri() {
return this.b;
}
public MaxNativeAdImage(Uri uri) {
this.b = uri;
}
}
@UiThread
public void performClick() {
Button callToActionButton;
MaxNativeAdView maxNativeAdView = this.nativeAdView;
if (maxNativeAdView == null || (callToActionButton = maxNativeAdView.getCallToActionButton()) == null) {
return;
}
callToActionButton.performClick();
}
}

View File

@@ -0,0 +1,21 @@
package com.applovin.mediation.nativeAds;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.applovin.mediation.MaxAd;
import com.applovin.mediation.MaxError;
/* loaded from: classes2.dex */
public abstract class MaxNativeAdListener {
public void onNativeAdClicked(@NonNull MaxAd maxAd) {
}
public void onNativeAdExpired(@NonNull MaxAd maxAd) {
}
public void onNativeAdLoadFailed(@NonNull String str, @NonNull MaxError maxError) {
}
public void onNativeAdLoaded(@Nullable MaxNativeAdView maxNativeAdView, @NonNull MaxAd maxAd) {
}
}

View File

@@ -0,0 +1,117 @@
package com.applovin.mediation.nativeAds;
import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import com.applovin.impl.mediation.ads.MaxNativeAdLoaderImpl;
import com.applovin.impl.mediation.ads.a;
import com.applovin.mediation.MaxAd;
import com.applovin.mediation.MaxAdRevenueListener;
import com.applovin.mediation.MaxAdReviewListener;
import com.applovin.sdk.AppLovinSdk;
import java.util.List;
/* loaded from: classes2.dex */
public class MaxNativeAdLoader {
private final MaxNativeAdLoaderImpl a;
public MaxNativeAdLoader(String str, Context context) {
this(str, AppLovinSdk.getInstance(context), context);
}
public void a(List<View> list, ViewGroup viewGroup, MaxAd maxAd) {
this.a.logApiCall("a()");
this.a.registerClickableViews(list, viewGroup, maxAd);
}
public void b(MaxAd maxAd) {
this.a.logApiCall("b()");
this.a.handleNativeAdViewRendered(maxAd);
}
public void destroy() {
this.a.logApiCall("destroy()");
this.a.destroy();
}
public String getAdUnitId() {
return this.a.getAdUnitId();
}
public String getPlacement() {
this.a.logApiCall("getPlacement()");
return this.a.getPlacement();
}
public void loadAd() {
loadAd(null);
}
public boolean render(MaxNativeAdView maxNativeAdView, MaxAd maxAd) {
this.a.logApiCall("render(adView=" + maxNativeAdView + ", ad=" + maxAd + ")");
return this.a.render(maxNativeAdView, maxAd);
}
public void setAdReviewListener(MaxAdReviewListener maxAdReviewListener) {
this.a.logApiCall("setAdReviewListener(listener=" + maxAdReviewListener + ")");
this.a.setAdReviewListener(maxAdReviewListener);
}
public void setCustomData(String str) {
this.a.logApiCall("setCustomData(value=" + str + ")");
this.a.setCustomData(str);
}
public void setExtraParameter(String str, String str2) {
this.a.logApiCall("setExtraParameter(key=" + str + ", value=" + str2 + ")");
this.a.setExtraParameter(str, str2);
}
public void setLocalExtraParameter(String str, Object obj) {
this.a.logApiCall("setLocalExtraParameter(key=" + str + ", value=" + obj + ")");
this.a.setLocalExtraParameter(str, obj);
}
public void setNativeAdListener(MaxNativeAdListener maxNativeAdListener) {
this.a.logApiCall("setNativeAdListener(listener=" + maxNativeAdListener + ")");
this.a.setNativeAdListener(maxNativeAdListener);
}
public void setPlacement(String str) {
this.a.logApiCall("setPlacement(placement=" + str + ")");
this.a.setPlacement(str);
}
public void setRevenueListener(MaxAdRevenueListener maxAdRevenueListener) {
this.a.logApiCall("setRevenueListener(listener=" + maxAdRevenueListener + ")");
this.a.setRevenueListener(maxAdRevenueListener);
}
public MaxNativeAdLoader(String str, AppLovinSdk appLovinSdk, Context context) {
a.logApiCall("MaxNativeAdLoader", "MaxNativeAdLoader(adUnitId=" + str + ", sdk=" + appLovinSdk + ")");
if (str == null) {
throw new IllegalArgumentException("No ad unit ID specified");
}
if (TextUtils.isEmpty(str)) {
throw new IllegalArgumentException("Empty ad unit ID specified");
}
if (appLovinSdk == null) {
throw new IllegalArgumentException("No sdk specified");
}
if (context == null) {
throw new IllegalArgumentException("No context specified");
}
this.a = new MaxNativeAdLoaderImpl(str, appLovinSdk.a());
}
public void loadAd(MaxNativeAdView maxNativeAdView) {
this.a.logApiCall("loadAd(adView=" + maxNativeAdView + ")");
this.a.loadAd(maxNativeAdView);
}
public void destroy(MaxAd maxAd) {
this.a.logApiCall("destroy(nativeAd=" + maxAd + ")");
this.a.destroy(maxAd);
}
}

View File

@@ -0,0 +1,480 @@
package com.applovin.mediation.nativeAds;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.ViewTreeObserver;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.applovin.impl.je;
import com.applovin.impl.mediation.ads.a;
import com.applovin.impl.mediation.ads.b;
import com.applovin.impl.sdk.j;
import com.applovin.impl.sdk.n;
import com.applovin.impl.sdk.nativeAd.AppLovinStarRatingView;
import com.applovin.impl.sdk.utils.ImageViewUtils;
import com.applovin.impl.sdk.utils.StringUtils;
import com.applovin.mediation.MaxAdFormat;
import com.applovin.mediation.nativeAds.MaxNativeAd;
import com.applovin.mediation.nativeAds.MaxNativeAdViewBinder;
import com.applovin.sdk.R;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
@SuppressLint({"ViewConstructor"})
/* loaded from: classes2.dex */
public class MaxNativeAdView extends FrameLayout {
public static final String MEDIUM_TEMPLATE_1 = "medium_template_1";
private final View a;
private final TextView b;
private final TextView c;
private final TextView d;
private final Button f;
private final ImageView g;
private final FrameLayout h;
private final ViewGroup i;
private final FrameLayout j;
private final ViewGroup k;
private final ViewGroup l;
private final FrameLayout m;
private b n;
public class a implements ViewTreeObserver.OnPreDrawListener {
final /* synthetic */ WeakReference a;
final /* synthetic */ ViewGroup b;
public a(WeakReference weakReference, ViewGroup viewGroup) {
this.a = weakReference;
this.b = viewGroup;
}
@Override // android.view.ViewTreeObserver.OnPreDrawListener
public boolean onPreDraw() {
ViewTreeObserver viewTreeObserver = (ViewTreeObserver) this.a.get();
if (viewTreeObserver == null || !viewTreeObserver.isAlive()) {
j.v0.J();
if (n.a()) {
j.v0.J().k("MaxNativeAdView", "Failed to remove onPreDrawListener since the view tree observer is not alive.");
}
} else {
viewTreeObserver.removeOnPreDrawListener(this);
}
this.a.clear();
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) this.b.getLayoutParams();
layoutParams.height = ((View) this.b.getParent()).getWidth();
this.b.setLayoutParams(layoutParams);
return true;
}
}
public MaxNativeAdView(MaxNativeAd maxNativeAd, Activity activity) {
this(maxNativeAd, (String) null, activity);
}
private void b() {
ViewGroup viewGroup = (ViewGroup) findViewById(R.id.applovin_native_inner_parent_layout);
if (viewGroup == null) {
return;
}
ViewTreeObserver viewTreeObserver = getViewTreeObserver();
if (viewTreeObserver.isAlive()) {
viewTreeObserver.addOnPreDrawListener(new a(new WeakReference(viewTreeObserver), viewGroup));
}
}
@Nullable
public b getAdViewTracker() {
return this.n;
}
public TextView getAdvertiserTextView() {
return this.c;
}
public TextView getBodyTextView() {
return this.d;
}
public Button getCallToActionButton() {
return this.f;
}
public List<View> getClickableViews() {
ArrayList arrayList = new ArrayList(5);
TextView textView = this.b;
if (textView != null) {
arrayList.add(textView);
}
TextView textView2 = this.c;
if (textView2 != null) {
arrayList.add(textView2);
}
TextView textView3 = this.d;
if (textView3 != null) {
arrayList.add(textView3);
}
Button button = this.f;
if (button != null) {
arrayList.add(button);
}
ImageView imageView = this.g;
if (imageView != null) {
arrayList.add(imageView);
}
return arrayList;
}
@Deprecated
public FrameLayout getIconContentView() {
return this.h;
}
public ImageView getIconImageView() {
return this.g;
}
public View getMainView() {
return this.a;
}
@Deprecated
public FrameLayout getMediaContentView() {
return this.m;
}
public ViewGroup getMediaContentViewGroup() {
ViewGroup viewGroup = this.l;
return viewGroup != null ? viewGroup : this.m;
}
@Deprecated
public FrameLayout getOptionsContentView() {
return this.j;
}
public ViewGroup getOptionsContentViewGroup() {
ViewGroup viewGroup = this.i;
return viewGroup != null ? viewGroup : this.j;
}
public ViewGroup getStarRatingContentViewGroup() {
return this.k;
}
public TextView getTitleTextView() {
return this.b;
}
@Override // android.view.ViewGroup, android.view.View
public void onAttachedToWindow() {
super.onAttachedToWindow();
b bVar = this.n;
if (bVar != null) {
bVar.c();
}
if (isHardwareAccelerated()) {
return;
}
n.j("MaxNativeAdView", "Attached to non-hardware accelerated window: some native ad views require hardware accelerated Activities to render properly.");
}
public void recycle() {
setOnClickListener(null);
b bVar = this.n;
if (bVar != null) {
bVar.a();
this.n = null;
}
View view = this.a;
if (view == null || view.getParent() == this) {
return;
}
ViewGroup viewGroup = (ViewGroup) this.a.getParent();
if (viewGroup != null) {
viewGroup.removeAllViews();
removeView(viewGroup);
}
addView(this.a);
}
public MaxNativeAdView(String str, Context context) {
this((MaxNativeAd) null, str, context);
}
private int a(String str, MaxAdFormat maxAdFormat) {
if (maxAdFormat == MaxAdFormat.NATIVE) {
if ("small_template_1".equalsIgnoreCase(str)) {
return R.layout.max_native_ad_small_template_1;
}
if (MEDIUM_TEMPLATE_1.equalsIgnoreCase(str)) {
return R.layout.max_native_ad_medium_template_1;
}
throw new IllegalArgumentException("Attempting to render MAX native ad with invalid format: " + str);
}
if (maxAdFormat == MaxAdFormat.BANNER) {
return "vertical_banner_template".equals(str) ? R.layout.max_native_ad_vertical_banner_view : ("media_banner_template".equals(str) || "no_body_banner_template".equals(str)) ? R.layout.max_native_ad_media_banner_view : "vertical_media_banner_template".equals(str) ? R.layout.max_native_ad_vertical_media_banner_view : R.layout.max_native_ad_banner_view;
}
if (maxAdFormat == MaxAdFormat.LEADER) {
return "vertical_leader_template".equals(str) ? R.layout.max_native_ad_vertical_leader_view : R.layout.max_native_ad_leader_view;
}
if (maxAdFormat == MaxAdFormat.MREC) {
return R.layout.max_native_ad_mrec_view;
}
throw new IllegalArgumentException("Unsupported ad format: " + maxAdFormat);
}
@Deprecated
public MaxNativeAdView(@Nullable MaxNativeAd maxNativeAd, @Nullable String str, Activity activity) {
this(maxNativeAd, str, activity.getApplicationContext());
}
public void renderCustomNativeAdView(MaxNativeAd maxNativeAd) {
TextView textView = this.b;
if (textView != null) {
textView.setText(maxNativeAd.getTitle());
}
TextView textView2 = this.d;
if (textView2 != null) {
textView2.setText(maxNativeAd.getBody());
}
TextView textView3 = this.c;
if (textView3 != null) {
textView3.setText(maxNativeAd.getAdvertiser());
}
Button button = this.f;
if (button != null) {
button.setText(maxNativeAd.getCallToAction());
}
MaxNativeAd.MaxNativeAdImage icon = maxNativeAd.getIcon();
ImageView imageView = this.g;
if (imageView != null) {
if (icon != null) {
if (icon.getDrawable() != null) {
this.g.setImageDrawable(icon.getDrawable());
} else if (icon.getUri() != null) {
ImageViewUtils.setAndDownscaleImageUri(this.g, icon.getUri());
} else {
this.g.setImageDrawable(null);
}
} else {
imageView.setImageDrawable(null);
}
}
View mediaView = maxNativeAd.getMediaView();
ViewGroup viewGroup = this.l;
if (viewGroup != null) {
viewGroup.removeAllViews();
if (mediaView != null) {
ViewParent parent = mediaView.getParent();
if (parent != null) {
((ViewGroup) parent).removeAllViews();
}
mediaView.setLayoutParams(new FrameLayout.LayoutParams(-1, -1));
this.l.addView(mediaView);
}
}
View optionsView = maxNativeAd.getOptionsView();
ViewGroup viewGroup2 = this.i;
if (viewGroup2 != null) {
viewGroup2.removeAllViews();
if (optionsView != null) {
ViewParent parent2 = optionsView.getParent();
if (parent2 != null) {
((ViewGroup) parent2).removeAllViews();
}
optionsView.setLayoutParams(new FrameLayout.LayoutParams(-1, -1));
this.i.addView(optionsView);
this.i.bringToFront();
}
}
ViewGroup viewGroup3 = this.k;
if (viewGroup3 != null) {
viewGroup3.removeAllViews();
Double starRating = maxNativeAd.getStarRating();
if (starRating != null) {
AppLovinStarRatingView appLovinStarRatingView = new AppLovinStarRatingView(starRating, getContext());
appLovinStarRatingView.setLayoutParams(new FrameLayout.LayoutParams(-1, -1));
this.k.addView(appLovinStarRatingView);
}
}
}
public MaxNativeAdView(@Nullable MaxNativeAd maxNativeAd, @Nullable String str, Context context) {
this(maxNativeAd, new MaxNativeAdViewBinder.Builder(-1).setTemplateType(str).setTitleTextViewId(R.id.applovin_native_title_text_view).setAdvertiserTextViewId(R.id.applovin_native_advertiser_text_view).setBodyTextViewId(R.id.applovin_native_body_text_view).setCallToActionButtonId(R.id.applovin_native_cta_button).setIconImageViewId(R.id.applovin_native_icon_image_view).setIconContentViewId(R.id.applovin_native_icon_view).setOptionsContentViewGroupId(R.id.applovin_native_options_view).setOptionsContentFrameLayoutId(R.id.applovin_native_options_view).setStarRatingContentViewGroupId(R.id.applovin_native_star_rating_view).setMediaContentViewGroupId(R.id.applovin_native_media_content_view).setMediaContentFrameLayoutId(R.id.applovin_native_media_content_view).build(), context);
}
public MaxNativeAdView(MaxNativeAdViewBinder maxNativeAdViewBinder, Context context) {
this((MaxNativeAd) null, maxNativeAdViewBinder, context);
}
public MaxNativeAdView(@Nullable MaxNativeAd maxNativeAd, MaxNativeAdViewBinder maxNativeAdViewBinder, Context context) {
super(context);
int i;
boolean z = maxNativeAdViewBinder.templateType != null;
MaxAdFormat format = maxNativeAd != null ? maxNativeAd.getFormat() : MaxAdFormat.NATIVE;
View view = maxNativeAdViewBinder.mainView;
if (view != null) {
this.a = view;
} else {
if (z) {
i = a(maxNativeAdViewBinder.templateType, format);
} else {
i = maxNativeAdViewBinder.layoutResourceId;
}
this.a = LayoutInflater.from(context).inflate(i, (ViewGroup) this, false);
}
addView(this.a);
this.b = (TextView) findViewById(maxNativeAdViewBinder.titleTextViewId);
this.c = (TextView) findViewById(maxNativeAdViewBinder.advertiserTextViewId);
this.d = (TextView) findViewById(maxNativeAdViewBinder.bodyTextViewId);
this.f = (Button) findViewById(maxNativeAdViewBinder.callToActionButtonId);
this.g = (ImageView) findViewById(maxNativeAdViewBinder.iconImageViewId);
this.h = (FrameLayout) findViewById(maxNativeAdViewBinder.iconContentViewId);
this.i = (ViewGroup) findViewById(maxNativeAdViewBinder.optionsContentViewGroupId);
this.j = (FrameLayout) findViewById(maxNativeAdViewBinder.optionsContentFrameLayoutId);
this.k = (ViewGroup) findViewById(maxNativeAdViewBinder.starRatingContentViewGroupId);
this.l = (ViewGroup) findViewById(maxNativeAdViewBinder.mediaContentViewGroupId);
this.m = (FrameLayout) findViewById(maxNativeAdViewBinder.mediaContentFrameLayoutId);
if (maxNativeAd != null) {
a(maxNativeAd);
}
}
private void a(MaxNativeAd maxNativeAd) {
if (this.b == null) {
n.j("MaxNativeAdView", "Rendering template ad view without title text view");
} else if (StringUtils.isValidString(maxNativeAd.getTitle())) {
this.b.setText(maxNativeAd.getTitle());
} else {
this.b.setVisibility(8);
}
if (this.c != null) {
if (StringUtils.isValidString(maxNativeAd.getAdvertiser())) {
this.c.setText(maxNativeAd.getAdvertiser());
} else {
this.c.setVisibility(8);
}
}
if (this.d != null) {
if (StringUtils.isValidString(maxNativeAd.getBody())) {
this.d.setText(maxNativeAd.getBody());
} else if (maxNativeAd.getFormat() != MaxAdFormat.NATIVE && maxNativeAd.getFormat() != MaxAdFormat.MREC) {
this.d.setVisibility(4);
} else {
this.d.setVisibility(8);
}
}
if (this.f != null) {
if (StringUtils.isValidString(maxNativeAd.getCallToAction())) {
this.f.setText(maxNativeAd.getCallToAction());
} else if (maxNativeAd.getFormat() != MaxAdFormat.NATIVE && maxNativeAd.getFormat() != MaxAdFormat.MREC) {
this.f.setVisibility(4);
} else {
this.f.setVisibility(8);
}
}
MaxNativeAd.MaxNativeAdImage icon = maxNativeAd.getIcon();
View iconView = maxNativeAd.getIconView();
FrameLayout frameLayout = this.h;
if (frameLayout != null) {
if (icon == null || this.g == null) {
if (iconView != null) {
iconView.setLayoutParams(new FrameLayout.LayoutParams(-1, -1));
this.h.removeAllViews();
this.h.addView(iconView);
} else {
frameLayout.setVisibility(8);
}
} else if (icon.getDrawable() != null) {
this.g.setImageDrawable(icon.getDrawable());
} else if (icon.getUri() != null && StringUtils.isValidString(icon.getUri().toString())) {
ImageViewUtils.setAndDownscaleImageUri(this.g, icon.getUri());
} else {
this.h.setVisibility(8);
}
}
View optionsView = maxNativeAd.getOptionsView();
FrameLayout frameLayout2 = this.j;
if (frameLayout2 != null && optionsView != null) {
optionsView.setLayoutParams(new FrameLayout.LayoutParams(-1, -1));
this.j.addView(optionsView);
this.j.bringToFront();
} else if (frameLayout2 != null) {
frameLayout2.setVisibility(8);
}
View mediaView = maxNativeAd.getMediaView();
if (this.m != null) {
if (mediaView != null) {
mediaView.setLayoutParams(new FrameLayout.LayoutParams(-1, -1));
this.m.addView(mediaView);
} else if (maxNativeAd.getFormat() == MaxAdFormat.LEADER) {
this.m.setVisibility(8);
}
}
if (this.k != null) {
Double starRating = maxNativeAd.getStarRating();
if (starRating != null) {
this.k.removeAllViews();
AppLovinStarRatingView appLovinStarRatingView = new AppLovinStarRatingView(starRating, getContext());
appLovinStarRatingView.setLayoutParams(new FrameLayout.LayoutParams(-1, -1));
this.k.addView(appLovinStarRatingView);
} else {
this.k.setVisibility(8);
}
}
b();
postDelayed(new Runnable() { // from class: com.applovin.mediation.nativeAds.MaxNativeAdView$$ExternalSyntheticLambda1
@Override // java.lang.Runnable
public final void run() {
MaxNativeAdView.this.a();
}
}, 2000L);
}
public void render(je jeVar, a.InterfaceC0026a interfaceC0026a, j jVar) {
recycle();
if (!jeVar.u0().get() || !jeVar.s0().get()) {
this.n = new b(jeVar, this, interfaceC0026a, jVar);
}
final MaxNativeAd nativeAd = jeVar.getNativeAd();
if (jeVar.v0() && nativeAd.isContainerClickable()) {
jVar.J();
if (n.a()) {
jVar.J().a("MaxNativeAdView", "Enabling container click");
}
setOnClickListener(new View.OnClickListener() { // from class: com.applovin.mediation.nativeAds.MaxNativeAdView$$ExternalSyntheticLambda0
@Override // android.view.View.OnClickListener
public final void onClick(View view) {
MaxNativeAd.this.performClick();
}
});
}
if (StringUtils.isValidString(jeVar.t0())) {
jVar.J();
if (n.a()) {
jVar.J().a("MaxNativeAdView", "Rendering template ad view");
}
a(nativeAd);
return;
}
jVar.J();
if (n.a()) {
jVar.J().a("MaxNativeAdView", "Rendering custom ad view");
}
renderCustomNativeAdView(nativeAd);
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void a() {
setSelected(true);
}
}

View File

@@ -0,0 +1,172 @@
package com.applovin.mediation.nativeAds;
import android.view.View;
import androidx.annotation.IdRes;
import androidx.annotation.LayoutRes;
/* loaded from: classes2.dex */
public class MaxNativeAdViewBinder {
@IdRes
protected final int advertiserTextViewId;
@IdRes
protected final int bodyTextViewId;
@IdRes
protected final int callToActionButtonId;
@IdRes
protected final int iconContentViewId;
@IdRes
protected final int iconImageViewId;
@LayoutRes
protected final int layoutResourceId;
protected final View mainView;
@IdRes
protected final int mediaContentFrameLayoutId;
@IdRes
protected final int mediaContentViewGroupId;
@IdRes
protected final int optionsContentFrameLayoutId;
@IdRes
protected final int optionsContentViewGroupId;
@IdRes
protected final int starRatingContentViewGroupId;
protected final String templateType;
@IdRes
protected final int titleTextViewId;
public static class Builder {
private final View a;
private final int b;
private int c;
private int d;
private int e;
private int f;
private int g;
private int h;
private int i;
private int j;
private int k;
private int l;
private int m;
private String n;
public Builder(View view) {
this(-1, view);
}
public MaxNativeAdViewBinder build() {
return new MaxNativeAdViewBinder(this.a, this.b, this.c, this.d, this.e, this.f, this.g, this.j, this.h, this.i, this.k, this.l, this.m, this.n);
}
public Builder setAdvertiserTextViewId(@IdRes int i) {
this.d = i;
return this;
}
public Builder setBodyTextViewId(@IdRes int i) {
this.e = i;
return this;
}
public Builder setCallToActionButtonId(@IdRes int i) {
this.m = i;
return this;
}
@Deprecated
public Builder setIconContentViewId(@IdRes int i) {
this.g = i;
return this;
}
public Builder setIconImageViewId(@IdRes int i) {
this.f = i;
return this;
}
@Deprecated
public Builder setMediaContentFrameLayoutId(@IdRes int i) {
this.l = i;
return this;
}
public Builder setMediaContentViewGroupId(@IdRes int i) {
this.k = i;
return this;
}
@Deprecated
public Builder setOptionsContentFrameLayoutId(@IdRes int i) {
this.i = i;
return this;
}
public Builder setOptionsContentViewGroupId(@IdRes int i) {
this.h = i;
return this;
}
public Builder setStarRatingContentViewGroupId(@IdRes int i) {
this.j = i;
return this;
}
public Builder setTemplateType(String str) {
this.n = str;
return this;
}
public Builder setTitleTextViewId(@IdRes int i) {
this.c = i;
return this;
}
public Builder(@LayoutRes int i) {
this(i, null);
}
private Builder(int i, View view) {
this.c = -1;
this.d = -1;
this.e = -1;
this.f = -1;
this.g = -1;
this.h = -1;
this.i = -1;
this.j = -1;
this.k = -1;
this.l = -1;
this.m = -1;
this.b = i;
this.a = view;
}
}
private MaxNativeAdViewBinder(View view, int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, int i11, int i12, String str) {
this.mainView = view;
this.layoutResourceId = i;
this.titleTextViewId = i2;
this.advertiserTextViewId = i3;
this.bodyTextViewId = i4;
this.iconImageViewId = i5;
this.iconContentViewId = i6;
this.starRatingContentViewGroupId = i7;
this.optionsContentViewGroupId = i8;
this.optionsContentFrameLayoutId = i9;
this.mediaContentViewGroupId = i10;
this.mediaContentFrameLayoutId = i11;
this.callToActionButtonId = i12;
this.templateType = str;
}
}

View File

@@ -0,0 +1,314 @@
package com.applovin.mediation.nativeAds.adPlacer;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import com.applovin.impl.ed;
import com.applovin.impl.je;
import com.applovin.impl.sdk.j;
import com.applovin.impl.sdk.n;
import com.applovin.impl.zc;
import com.applovin.mediation.MaxAd;
import com.applovin.mediation.MaxError;
import com.applovin.mediation.nativeAds.MaxNativeAdView;
import com.applovin.mediation.nativeAds.MaxNativeAdViewBinder;
import com.applovin.sdk.AppLovinSdk;
import com.applovin.sdk.AppLovinSdkUtils;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
/* loaded from: classes2.dex */
public class MaxAdPlacer implements ed.a {
private AppLovinSdkUtils.Size a;
private MaxNativeAdViewBinder b;
private final zc c;
private final ed d;
private Listener e;
protected final n logger;
protected final j sdk;
public interface Listener {
void onAdClicked(MaxAd maxAd);
void onAdLoaded(int i);
void onAdRemoved(int i);
void onAdRevenuePaid(MaxAd maxAd);
}
public MaxAdPlacer(MaxAdPlacerSettings maxAdPlacerSettings, Context context) {
this(maxAdPlacerSettings, AppLovinSdk.getInstance(context), context);
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void a(int i, Collection collection) {
if (n.a()) {
this.logger.a("MaxAdPlacer", "Clearing trailing ads after position " + i);
}
this.c.a(collection);
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void b() {
if (n.a()) {
this.logger.a("MaxAdPlacer", "Clearing all cached ads");
}
this.c.a();
this.d.a();
}
public void clearAds() {
a(this.c.b(), new Runnable() { // from class: com.applovin.mediation.nativeAds.adPlacer.MaxAdPlacer$$ExternalSyntheticLambda2
@Override // java.lang.Runnable
public final void run() {
MaxAdPlacer.this.b();
}
});
}
public Collection<Integer> clearTrailingAds(final int i) {
final Collection<Integer> e = this.c.e(i);
if (!e.isEmpty()) {
a(e, new Runnable() { // from class: com.applovin.mediation.nativeAds.adPlacer.MaxAdPlacer$$ExternalSyntheticLambda0
@Override // java.lang.Runnable
public final void run() {
MaxAdPlacer.this.a(i, e);
}
});
}
return e;
}
public void destroy() {
if (n.a()) {
this.logger.a("MaxAdPlacer", "Destroying ad placer");
}
clearAds();
this.d.c();
}
public long getAdItemId(int i) {
if (isFilledPosition(i)) {
return -System.identityHashCode(this.c.a(i));
}
return 0L;
}
public AppLovinSdkUtils.Size getAdSize(int i, int i2) {
if (isFilledPosition(i)) {
AppLovinSdkUtils.Size size = this.a;
boolean z = size != AppLovinSdkUtils.Size.ZERO;
int min = Math.min(z ? size.getWidth() : 360, i2);
je jeVar = (je) this.c.a(i);
if ("small_template_1".equalsIgnoreCase(jeVar.t0())) {
return new AppLovinSdkUtils.Size(min, z ? this.a.getHeight() : 120);
}
if (MaxNativeAdView.MEDIUM_TEMPLATE_1.equalsIgnoreCase(jeVar.t0())) {
return new AppLovinSdkUtils.Size(min, (int) (min / (z ? this.a.getWidth() / this.a.getHeight() : 1.2d)));
}
if (z) {
return this.a;
}
if (jeVar.q0() != null) {
View mainView = jeVar.q0().getMainView();
return new AppLovinSdkUtils.Size(mainView.getMeasuredWidth(), mainView.getMeasuredHeight());
}
}
return AppLovinSdkUtils.Size.ZERO;
}
public int getAdjustedCount(int i) {
return this.c.b(i);
}
public int getAdjustedPosition(int i) {
return this.c.c(i);
}
public int getOriginalPosition(int i) {
return this.c.d(i);
}
public void insertItem(int i) {
if (n.a()) {
this.logger.a("MaxAdPlacer", "Inserting item at position: " + i);
}
this.c.f(i);
}
public boolean isAdPosition(int i) {
return this.c.g(i);
}
public boolean isFilledPosition(int i) {
return this.c.h(i);
}
public void loadAds() {
if (n.a()) {
this.logger.a("MaxAdPlacer", "Loading ads");
}
this.d.e();
}
public void moveItem(int i, int i2) {
this.c.b(i, i2);
}
@Override // com.applovin.impl.ed.a
public void onNativeAdLoadFailed(String str, MaxError maxError) {
if (n.a()) {
this.logger.b("MaxAdPlacer", "Native ad failed to load: " + maxError);
}
}
@Override // com.applovin.impl.ed.a
public void onNativeAdLoaded() {
if (n.a()) {
this.logger.a("MaxAdPlacer", "Native ad enqueued");
}
a();
}
public void removeItem(final int i) {
a(isFilledPosition(i) ? Collections.singletonList(Integer.valueOf(i)) : Collections.emptyList(), new Runnable() { // from class: com.applovin.mediation.nativeAds.adPlacer.MaxAdPlacer$$ExternalSyntheticLambda1
@Override // java.lang.Runnable
public final void run() {
MaxAdPlacer.this.a(i);
}
});
}
public void renderAd(int i, ViewGroup viewGroup) {
MaxAd a = this.c.a(i);
if (a == null) {
if (n.a()) {
this.logger.a("MaxAdPlacer", "An ad is not available for position: " + i);
return;
}
return;
}
MaxNativeAdView q0 = ((je) a).q0();
if (q0 == null) {
if (this.b == null) {
if (n.a()) {
this.logger.b("MaxAdPlacer", "Unable to render ad at position: " + i + ". If you're using a custom ad template, check that nativeAdViewBinder is set.");
return;
}
return;
}
q0 = new MaxNativeAdView(this.b, viewGroup.getContext());
if (this.d.a(q0, a)) {
if (n.a()) {
this.logger.a("MaxAdPlacer", "Rendered ad at position: " + i);
}
} else if (n.a()) {
this.logger.b("MaxAdPlacer", "Unable to render ad at position: " + i);
}
} else if (n.a()) {
this.logger.a("MaxAdPlacer", "Using pre-rendered ad at position: " + i);
}
for (int childCount = viewGroup.getChildCount(); childCount >= 0; childCount--) {
if (viewGroup.getChildAt(childCount) instanceof MaxNativeAdView) {
viewGroup.removeViewAt(childCount);
}
}
if (q0.getParent() != null) {
((ViewGroup) q0.getParent()).removeView(q0);
}
viewGroup.addView(q0, -1, -1);
}
public void setAdSize(int i, int i2) {
this.a = new AppLovinSdkUtils.Size(i, i2);
}
public void setListener(Listener listener) {
this.e = listener;
}
public void setNativeAdViewBinder(MaxNativeAdViewBinder maxNativeAdViewBinder) {
this.b = maxNativeAdViewBinder;
}
public void updateFillablePositions(int i, int i2) {
this.c.c(i, i2);
if (i == -1 || i2 == -1) {
return;
}
a();
}
public MaxAdPlacer(MaxAdPlacerSettings maxAdPlacerSettings, AppLovinSdk appLovinSdk, Context context) {
this.a = AppLovinSdkUtils.Size.ZERO;
j a = appLovinSdk.a();
this.sdk = a;
n J = a.J();
this.logger = J;
this.c = new zc(maxAdPlacerSettings);
this.d = new ed(maxAdPlacerSettings, context, this);
if (n.a()) {
J.a("MaxAdPlacer", "Initializing ad placer with settings: " + maxAdPlacerSettings);
}
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void a(int i) {
if (n.a()) {
this.logger.a("MaxAdPlacer", "Removing item at position: " + i);
}
this.c.i(i);
}
@Override // com.applovin.impl.ed.a
public void onAdRevenuePaid(MaxAd maxAd) {
Listener listener = this.e;
if (listener != null) {
listener.onAdRevenuePaid(maxAd);
}
}
@Override // com.applovin.impl.ed.a
public void onNativeAdClicked(MaxAd maxAd) {
Listener listener = this.e;
if (listener != null) {
listener.onAdClicked(maxAd);
}
}
private void a() {
int c;
while (this.d.d() && (c = this.c.c()) != -1) {
if (n.a()) {
this.logger.a("MaxAdPlacer", "Placing ad at position: " + c);
}
this.c.a(this.d.b(), c);
Listener listener = this.e;
if (listener != null) {
listener.onAdLoaded(c);
}
}
}
private void a(Collection collection, Runnable runnable) {
Iterator it = collection.iterator();
while (it.hasNext()) {
this.d.a(this.c.a(((Integer) it.next()).intValue()));
}
runnable.run();
if (collection.isEmpty()) {
return;
}
if (n.a()) {
this.logger.a("MaxAdPlacer", "Removed " + collection.size() + " ads from stream: " + collection);
}
if (this.e != null) {
Iterator it2 = collection.iterator();
while (it2.hasNext()) {
this.e.onAdRemoved(((Integer) it2.next()).intValue());
}
}
}
}

View File

@@ -0,0 +1,90 @@
package com.applovin.mediation.nativeAds.adPlacer;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.applovin.impl.sdk.n;
import java.util.Set;
import java.util.TreeSet;
/* loaded from: classes2.dex */
public class MaxAdPlacerSettings {
public static final int MIN_REPEATING_INTERVAL = 2;
private final String a;
private String b;
private final Set c = new TreeSet();
private int d = 0;
private int e = 256;
private int f = 4;
public MaxAdPlacerSettings(String str) {
this.a = str;
}
public void addFixedPosition(int i) {
this.c.add(Integer.valueOf(i));
}
public String getAdUnitId() {
return this.a;
}
public Set<Integer> getFixedPositions() {
return this.c;
}
public int getMaxAdCount() {
return this.e;
}
public int getMaxPreloadedAdCount() {
return this.f;
}
@Nullable
public String getPlacement() {
return this.b;
}
public int getRepeatingInterval() {
return this.d;
}
public boolean hasValidPositioning() {
return !this.c.isEmpty() || isRepeatingEnabled();
}
public boolean isRepeatingEnabled() {
return this.d >= 2;
}
public void resetFixedPositions() {
this.c.clear();
}
public void setMaxAdCount(int i) {
this.e = i;
}
public void setMaxPreloadedAdCount(int i) {
this.f = i;
}
public void setPlacement(@Nullable String str) {
this.b = str;
}
@NonNull
public String toString() {
return "MaxAdPlacerSettings{adUnitId='" + this.a + "', fixedPositions=" + this.c + ", repeatingInterval=" + this.d + ", maxAdCount=" + this.e + ", maxPreloadedAdCount=" + this.f + '}';
}
public void setRepeatingInterval(int i) {
if (i >= 2) {
this.d = i;
n.g("MaxAdPlacerSettings", "Repeating interval set to " + i);
return;
}
this.d = 0;
n.j("MaxAdPlacerSettings", "Repeating interval has been disabled, since it has been set to " + i + ", which is less than minimum value of 2");
}
}

View File

@@ -0,0 +1,344 @@
package com.applovin.mediation.nativeAds.adPlacer;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import com.applovin.impl.hl;
import com.applovin.mediation.MaxAd;
import com.applovin.mediation.nativeAds.adPlacer.MaxAdPlacer;
import com.applovin.sdk.AppLovinSdkUtils;
import com.applovin.sdk.R;
import java.util.Collection;
/* loaded from: classes2.dex */
public class MaxRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements MaxAdPlacer.Listener {
private final MaxAdPlacer a;
private final RecyclerView.Adapter b;
private final b c;
private RecyclerView d;
private hl e;
private MaxAdPlacer.Listener f;
private int g;
private AdPositionBehavior h;
public enum AdPositionBehavior {
DYNAMIC_EXCEPT_ON_APPEND,
DYNAMIC,
FIXED
}
public static class MaxAdRecyclerViewHolder extends RecyclerView.ViewHolder {
private final ViewGroup a;
public MaxAdRecyclerViewHolder(View view) {
super(view);
this.a = (ViewGroup) view.findViewById(R.id.applovin_native_ad_view_container);
}
public ViewGroup getContainerView() {
return this.a;
}
}
public class a implements hl.a {
public a() {
}
@Override // com.applovin.impl.hl.a
public void a(int i, int i2) {
MaxRecyclerAdapter.this.a.updateFillablePositions(i, Math.min(i2 + MaxRecyclerAdapter.this.g, MaxRecyclerAdapter.this.getItemCount() - 1));
}
}
public class b extends RecyclerView.AdapterDataObserver {
private b() {
}
@Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver
public void onChanged() {
MaxRecyclerAdapter.this.notifyDataSetChanged();
}
@Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver
public void onItemRangeChanged(int i, int i2) {
int adjustedPosition = MaxRecyclerAdapter.this.a.getAdjustedPosition(i);
MaxRecyclerAdapter.this.notifyItemRangeChanged(adjustedPosition, (MaxRecyclerAdapter.this.a.getAdjustedPosition((i + i2) - 1) - adjustedPosition) + 1);
}
@Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver
public void onItemRangeInserted(int i, int i2) {
boolean z = i + i2 >= MaxRecyclerAdapter.this.b.getItemCount();
if (MaxRecyclerAdapter.this.h == AdPositionBehavior.FIXED || (MaxRecyclerAdapter.this.h == AdPositionBehavior.DYNAMIC_EXCEPT_ON_APPEND && z)) {
MaxRecyclerAdapter.this.notifyDataSetChanged();
return;
}
int adjustedPosition = MaxRecyclerAdapter.this.a.getAdjustedPosition(i);
for (int i3 = 0; i3 < i2; i3++) {
MaxRecyclerAdapter.this.a.insertItem(adjustedPosition);
}
MaxRecyclerAdapter.this.notifyItemRangeInserted(adjustedPosition, i2);
}
@Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver
public void onItemRangeMoved(int i, int i2, int i3) {
MaxRecyclerAdapter.this.notifyDataSetChanged();
}
@Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver
public void onItemRangeRemoved(int i, int i2) {
int itemCount = MaxRecyclerAdapter.this.b.getItemCount();
boolean z = i + i2 >= itemCount;
if (MaxRecyclerAdapter.this.h == AdPositionBehavior.FIXED || (MaxRecyclerAdapter.this.h == AdPositionBehavior.DYNAMIC_EXCEPT_ON_APPEND && z)) {
MaxRecyclerAdapter.this.notifyDataSetChanged();
return;
}
int adjustedPosition = MaxRecyclerAdapter.this.a.getAdjustedPosition(i);
int adjustedCount = MaxRecyclerAdapter.this.a.getAdjustedCount(itemCount + i2);
for (int i3 = 0; i3 < i2; i3++) {
MaxRecyclerAdapter.this.a.removeItem(adjustedPosition);
}
int adjustedCount2 = MaxRecyclerAdapter.this.a.getAdjustedCount(itemCount);
int i4 = adjustedCount - adjustedCount2;
Collection<Integer> clearTrailingAds = MaxRecyclerAdapter.this.a.clearTrailingAds(adjustedCount2 - 1);
if (!clearTrailingAds.isEmpty()) {
i4 += clearTrailingAds.size();
}
MaxRecyclerAdapter.this.notifyItemRangeRemoved(adjustedPosition - (i4 - i2), i4);
}
public /* synthetic */ b(MaxRecyclerAdapter maxRecyclerAdapter, a aVar) {
this();
}
}
public MaxRecyclerAdapter(MaxAdPlacerSettings maxAdPlacerSettings, RecyclerView.Adapter adapter, Activity activity) {
b bVar = new b(this, null);
this.c = bVar;
this.g = 8;
this.h = AdPositionBehavior.DYNAMIC_EXCEPT_ON_APPEND;
MaxAdPlacer maxAdPlacer = new MaxAdPlacer(maxAdPlacerSettings, activity);
this.a = maxAdPlacer;
maxAdPlacer.setListener(this);
super.setHasStableIds(adapter.hasStableIds());
this.b = adapter;
adapter.registerAdapterDataObserver(bVar);
}
public void destroy() {
try {
this.b.unregisterAdapterDataObserver(this.c);
} catch (Exception unused) {
}
this.a.destroy();
hl hlVar = this.e;
if (hlVar != null) {
hlVar.a();
}
}
public MaxAdPlacer getAdPlacer() {
return this.a;
}
public int getAdjustedPosition(int i) {
return this.a.getAdjustedPosition(i);
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public int getItemCount() {
return this.a.getAdjustedCount(this.b.getItemCount());
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public long getItemId(int i) {
if (this.b.hasStableIds()) {
return this.a.isFilledPosition(i) ? this.a.getAdItemId(i) : this.b.getItemId(this.a.getOriginalPosition(i));
}
return -1L;
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public int getItemViewType(int i) {
if (this.a.isAdPosition(i)) {
return -42;
}
return this.b.getItemViewType(this.a.getOriginalPosition(i));
}
public int getOriginalPosition(int i) {
return this.a.getOriginalPosition(i);
}
public void loadAds() {
this.a.loadAds();
}
@Override // com.applovin.mediation.nativeAds.adPlacer.MaxAdPlacer.Listener
public void onAdLoaded(int i) {
notifyItemChanged(i);
MaxAdPlacer.Listener listener = this.f;
if (listener != null) {
listener.onAdLoaded(i);
}
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
this.d = recyclerView;
hl hlVar = new hl(recyclerView);
this.e = hlVar;
hlVar.a(new a());
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
this.e.a(viewHolder.itemView, i);
if (!this.a.isAdPosition(i)) {
this.b.onBindViewHolder(viewHolder, this.a.getOriginalPosition(i));
return;
}
AppLovinSdkUtils.Size adSize = this.a.getAdSize(i, a(i));
ViewGroup containerView = ((MaxAdRecyclerViewHolder) viewHolder).getContainerView();
ViewGroup.LayoutParams layoutParams = containerView.getLayoutParams();
if (adSize == AppLovinSdkUtils.Size.ZERO) {
layoutParams.width = -2;
layoutParams.height = -2;
containerView.setLayoutParams(layoutParams);
} else {
layoutParams.width = adSize.getWidth() < 0 ? adSize.getWidth() : AppLovinSdkUtils.dpToPx(containerView.getContext(), adSize.getWidth());
layoutParams.height = adSize.getHeight() < 0 ? adSize.getHeight() : AppLovinSdkUtils.dpToPx(containerView.getContext(), adSize.getHeight());
containerView.setLayoutParams(layoutParams);
this.a.renderAd(i, containerView);
}
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
@NonNull
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
if (i != -42) {
return this.b.onCreateViewHolder(viewGroup, i);
}
View inflate = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.max_native_ad_recycler_view_item, viewGroup, false);
ViewGroup.LayoutParams layoutParams = inflate.getLayoutParams();
RecyclerView.LayoutManager layoutManager = this.d.getLayoutManager();
if (layoutManager == null || !layoutManager.canScrollHorizontally()) {
layoutParams.width = -1;
layoutParams.height = -2;
} else {
layoutParams.width = -2;
layoutParams.height = -1;
}
inflate.setLayoutParams(layoutParams);
return new MaxAdRecyclerViewHolder(inflate);
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) {
super.onDetachedFromRecyclerView(recyclerView);
this.d = null;
hl hlVar = this.e;
if (hlVar != null) {
hlVar.a();
this.e = null;
}
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public boolean onFailedToRecycleView(@NonNull RecyclerView.ViewHolder viewHolder) {
return viewHolder instanceof MaxAdRecyclerViewHolder ? super.onFailedToRecycleView(viewHolder) : this.b.onFailedToRecycleView(viewHolder);
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public void onViewAttachedToWindow(@NonNull RecyclerView.ViewHolder viewHolder) {
if (viewHolder instanceof MaxAdRecyclerViewHolder) {
super.onViewAttachedToWindow(viewHolder);
} else {
this.b.onViewAttachedToWindow(viewHolder);
}
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public void onViewDetachedFromWindow(@NonNull RecyclerView.ViewHolder viewHolder) {
if (viewHolder instanceof MaxAdRecyclerViewHolder) {
super.onViewDetachedFromWindow(viewHolder);
} else {
this.b.onViewDetachedFromWindow(viewHolder);
}
}
public void setAdPositionBehavior(AdPositionBehavior adPositionBehavior) {
this.h = adPositionBehavior;
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public void setHasStableIds(boolean z) {
super.setHasStableIds(z);
this.b.unregisterAdapterDataObserver(this.c);
this.b.setHasStableIds(z);
this.b.registerAdapterDataObserver(this.c);
}
public void setListener(MaxAdPlacer.Listener listener) {
this.f = listener;
}
public void setLookAhead(int i) {
this.g = i;
}
private int a(int i) {
int pxToDp = AppLovinSdkUtils.pxToDp(this.d.getContext(), this.d.getWidth());
RecyclerView.LayoutManager layoutManager = this.d.getLayoutManager();
if (!(layoutManager instanceof GridLayoutManager)) {
return layoutManager instanceof StaggeredGridLayoutManager ? pxToDp / ((StaggeredGridLayoutManager) layoutManager).getSpanCount() : pxToDp;
}
GridLayoutManager gridLayoutManager = (GridLayoutManager) layoutManager;
return (pxToDp / gridLayoutManager.getSpanCount()) * gridLayoutManager.getSpanSizeLookup().getSpanSize(i);
}
@Override // com.applovin.mediation.nativeAds.adPlacer.MaxAdPlacer.Listener
public void onAdClicked(MaxAd maxAd) {
MaxAdPlacer.Listener listener = this.f;
if (listener != null) {
listener.onAdClicked(maxAd);
}
}
@Override // com.applovin.mediation.nativeAds.adPlacer.MaxAdPlacer.Listener
public void onAdRemoved(int i) {
MaxAdPlacer.Listener listener = this.f;
if (listener != null) {
listener.onAdRemoved(i);
}
}
@Override // com.applovin.mediation.nativeAds.adPlacer.MaxAdPlacer.Listener
public void onAdRevenuePaid(MaxAd maxAd) {
MaxAdPlacer.Listener listener = this.f;
if (listener != null) {
listener.onAdRevenuePaid(maxAd);
}
}
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
public void onViewRecycled(@NonNull RecyclerView.ViewHolder viewHolder) {
hl hlVar = this.e;
if (hlVar != null) {
hlVar.b(viewHolder.itemView);
}
if (viewHolder instanceof MaxAdRecyclerViewHolder) {
if (this.a.isFilledPosition(viewHolder.getBindingAdapterPosition())) {
((MaxAdRecyclerViewHolder) viewHolder).getContainerView().removeAllViews();
}
super.onViewRecycled(viewHolder);
return;
}
this.b.onViewRecycled(viewHolder);
}
}