Files
rr3-apk/decompiled/sources/com/ironsource/adapters/admob/banner/AdMobBannerAdapter.java
Daniel Elliott f9d20bb3fc 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>
2026-02-18 14:52:23 -08:00

293 lines
16 KiB
Java

package com.ironsource.adapters.admob.banner;
import android.os.Bundle;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import com.google.android.gms.ads.AdFormat;
import com.google.android.gms.ads.AdLoader;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.VideoOptions;
import com.google.android.gms.ads.nativead.NativeAd;
import com.google.android.gms.ads.nativead.NativeAdOptions;
import com.ironsource.adapters.admob.AdMobAdapter;
import com.ironsource.environment.ContextProvider;
import com.ironsource.mediationsdk.AdapterUtils;
import com.ironsource.mediationsdk.ISBannerSize;
import com.ironsource.mediationsdk.IronSource;
import com.ironsource.mediationsdk.IronSourceBannerLayout;
import com.ironsource.mediationsdk.adapter.AbstractBannerAdapter;
import com.ironsource.mediationsdk.bidding.BiddingDataCallback;
import com.ironsource.mediationsdk.logger.IronLog;
import com.ironsource.mediationsdk.sdk.BannerSmashListener;
import com.ironsource.mediationsdk.utils.ErrorBuilder;
import java.util.Iterator;
import java.util.concurrent.ConcurrentHashMap;
import org.json.JSONObject;
/* loaded from: classes2.dex */
public class AdMobBannerAdapter extends AbstractBannerAdapter<AdMobAdapter> {
private final String IS_NATIVE;
private final ConcurrentHashMap<String, AdView> mAdUnitIdToBannerAd;
private final ConcurrentHashMap<String, BannerSmashListener> mAdUnitIdToListener;
public final ConcurrentHashMap<String, NativeAd> mAdUnitIdToNativeBannerAd;
public AdMobBannerAdapter(AdMobAdapter adMobAdapter) {
super(adMobAdapter);
this.IS_NATIVE = "isNative";
this.mAdUnitIdToListener = new ConcurrentHashMap<>();
this.mAdUnitIdToBannerAd = new ConcurrentHashMap<>();
this.mAdUnitIdToNativeBannerAd = new ConcurrentHashMap<>();
}
@Override // com.ironsource.mediationsdk.adapter.AbstractBannerAdapter, com.ironsource.mediationsdk.sdk.BannerAdapterInterface
public void initBanners(String str, String str2, @NonNull JSONObject jSONObject, @NonNull BannerSmashListener bannerSmashListener) {
initBannersInternal(jSONObject, bannerSmashListener);
}
@Override // com.ironsource.mediationsdk.adapter.AbstractBannerAdapter, com.ironsource.mediationsdk.sdk.BannerAdapterInterface
public void initBannerForBidding(String str, String str2, @NonNull JSONObject jSONObject, @NonNull BannerSmashListener bannerSmashListener) {
initBannersInternal(jSONObject, bannerSmashListener);
}
private void initBannersInternal(@NonNull JSONObject jSONObject, @NonNull BannerSmashListener bannerSmashListener) {
String adUnitIdKey = getAdapter().getAdUnitIdKey();
String configStringValueFromKey = getConfigStringValueFromKey(jSONObject, adUnitIdKey);
if (TextUtils.isEmpty(configStringValueFromKey)) {
bannerSmashListener.onBannerInitFailed(ErrorBuilder.buildInitFailedError(getAdUnitIdMissingErrorString(adUnitIdKey), "Banner"));
return;
}
IronLog.ADAPTER_API.verbose("adUnitId = " + configStringValueFromKey);
this.mAdUnitIdToListener.put(configStringValueFromKey, bannerSmashListener);
if (getAdapter().getInitState() == AdMobAdapter.InitState.INIT_STATE_SUCCESS) {
IronLog.INTERNAL.verbose("onBannerInitSuccess - adUnitId = " + configStringValueFromKey);
bannerSmashListener.onBannerInitSuccess();
return;
}
if (getAdapter().getInitState() == AdMobAdapter.InitState.INIT_STATE_FAILED) {
IronLog.INTERNAL.verbose("onBannerInitFailed - adUnitId = " + configStringValueFromKey);
bannerSmashListener.onBannerInitFailed(ErrorBuilder.buildInitFailedError("AdMob sdk init failed", "Banner"));
return;
}
getAdapter().initSDK(jSONObject);
}
@Override // com.ironsource.mediationsdk.adapter.AbstractAdUnitAdapter, com.ironsource.mediationsdk.INetworkInitCallbackListener
public void onNetworkInitCallbackSuccess() {
Iterator<BannerSmashListener> it = this.mAdUnitIdToListener.values().iterator();
while (it.hasNext()) {
it.next().onBannerInitSuccess();
}
}
@Override // com.ironsource.mediationsdk.adapter.AbstractAdUnitAdapter, com.ironsource.mediationsdk.INetworkInitCallbackListener
public void onNetworkInitCallbackFailed(String str) {
Iterator<BannerSmashListener> it = this.mAdUnitIdToListener.values().iterator();
while (it.hasNext()) {
it.next().onBannerInitFailed(ErrorBuilder.buildInitFailedError(str, "Banner"));
}
}
@Override // com.ironsource.mediationsdk.adapter.AbstractBannerAdapter, com.ironsource.mediationsdk.sdk.BannerAdapterInterface
public void loadBanner(@NonNull JSONObject jSONObject, JSONObject jSONObject2, @NonNull IronSourceBannerLayout ironSourceBannerLayout, @NonNull BannerSmashListener bannerSmashListener) {
loadBannerInternal(jSONObject, jSONObject2, null, ironSourceBannerLayout, bannerSmashListener);
}
@Override // com.ironsource.mediationsdk.adapter.AbstractBannerAdapter, com.ironsource.mediationsdk.sdk.BannerAdapterInterface
public void loadBannerForBidding(@NonNull JSONObject jSONObject, JSONObject jSONObject2, String str, @NonNull IronSourceBannerLayout ironSourceBannerLayout, @NonNull BannerSmashListener bannerSmashListener) {
loadBannerInternal(jSONObject, jSONObject2, str, ironSourceBannerLayout, bannerSmashListener);
}
private void loadBannerInternal(@NonNull final JSONObject jSONObject, final JSONObject jSONObject2, final String str, @NonNull final IronSourceBannerLayout ironSourceBannerLayout, @NonNull final BannerSmashListener bannerSmashListener) {
final String configStringValueFromKey = getConfigStringValueFromKey(jSONObject, getAdapter().getAdUnitIdKey());
IronLog.ADAPTER_API.verbose("adUnitId = " + configStringValueFromKey);
if (ironSourceBannerLayout == null) {
IronLog.INTERNAL.error("banner is null");
bannerSmashListener.onBannerAdLoadFailed(ErrorBuilder.buildNoConfigurationAvailableError("banner is null"));
} else {
final boolean parseBoolean = Boolean.parseBoolean(getConfigStringValueFromKey(jSONObject, "isNative"));
postOnUIThread(new Runnable() { // from class: com.ironsource.adapters.admob.banner.AdMobBannerAdapter.1
@Override // java.lang.Runnable
public void run() {
try {
AdRequest createAdRequest = AdMobBannerAdapter.this.getAdapter().createAdRequest(jSONObject2, str);
if (parseBoolean) {
AdMobBannerAdapter.this.loadNativeBanner(ironSourceBannerLayout, bannerSmashListener, configStringValueFromKey, createAdRequest, jSONObject);
return;
}
AdSize adSize = AdMobBannerAdapter.this.getAdSize(ironSourceBannerLayout.getSize(), AdapterUtils.isLargeScreen(ContextProvider.getInstance().getApplicationContext()));
if (adSize == null) {
bannerSmashListener.onBannerAdLoadFailed(ErrorBuilder.unsupportedBannerSize(AdMobBannerAdapter.this.getAdapter().getProviderName()));
return;
}
AdView adView = new AdView(ContextProvider.getInstance().getApplicationContext());
adView.setAdSize(adSize);
adView.setAdUnitId(configStringValueFromKey);
adView.setAdListener(new AdMobBannerAdListener(bannerSmashListener, configStringValueFromKey, adView));
AdMobBannerAdapter.this.mAdUnitIdToBannerAd.put(configStringValueFromKey, adView);
IronLog.ADAPTER_API.verbose("loadAd");
adView.loadAd(createAdRequest);
} catch (Exception e) {
bannerSmashListener.onBannerAdLoadFailed(ErrorBuilder.buildLoadFailedError("AdMobAdapter loadBanner exception " + e.getMessage()));
}
}
});
}
}
/* JADX INFO: Access modifiers changed from: private */
public void loadNativeBanner(IronSourceBannerLayout ironSourceBannerLayout, BannerSmashListener bannerSmashListener, String str, AdRequest adRequest, JSONObject jSONObject) {
if (!isNativeBannerSizeSupported(ironSourceBannerLayout.getSize(), AdapterUtils.isLargeScreen(ContextProvider.getInstance().getApplicationContext()))) {
IronLog.INTERNAL.error("size not supported, size = " + ironSourceBannerLayout.getSize().getDescription());
bannerSmashListener.onBannerAdLoadFailed(ErrorBuilder.unsupportedBannerSize(getAdapter().getProviderName()));
return;
}
IronLog.ADAPTER_API.verbose("adUnitId = " + str);
NativeTemplateType createTemplateType = NativeTemplateType.createTemplateType(jSONObject, ironSourceBannerLayout.getSize());
AdMobNativeBannerAdListener adMobNativeBannerAdListener = new AdMobNativeBannerAdListener(this, bannerSmashListener, str, ironSourceBannerLayout.getSize(), createTemplateType);
new AdLoader.Builder(ironSourceBannerLayout.getContext(), str).forNativeAd(adMobNativeBannerAdListener).withNativeAdOptions(createNativeAdOptions(createTemplateType)).withAdListener(adMobNativeBannerAdListener).build().loadAd(adRequest);
}
private NativeAdOptions createNativeAdOptions(NativeTemplateType nativeTemplateType) {
NativeAdOptions.Builder builder = new NativeAdOptions.Builder();
builder.setVideoOptions(new VideoOptions.Builder().setStartMuted(true).build());
builder.setAdChoicesPlacement(nativeTemplateType.getAdChoicesPlacement());
builder.setMediaAspectRatio(nativeTemplateType.getMediaAspectRatio());
return builder.build();
}
@Override // com.ironsource.mediationsdk.adapter.AbstractBannerAdapter, com.ironsource.mediationsdk.sdk.BannerAdapterInterface
public void destroyBanner(@NonNull final JSONObject jSONObject) {
postOnUIThread(new Runnable() { // from class: com.ironsource.adapters.admob.banner.AdMobBannerAdapter.2
@Override // java.lang.Runnable
public void run() {
try {
AdMobBannerAdapter adMobBannerAdapter = AdMobBannerAdapter.this;
String configStringValueFromKey = adMobBannerAdapter.getConfigStringValueFromKey(jSONObject, adMobBannerAdapter.getAdapter().getAdUnitIdKey());
IronLog.ADAPTER_API.verbose("adUnitId = " + configStringValueFromKey);
if (AdMobBannerAdapter.this.mAdUnitIdToBannerAd.containsKey(configStringValueFromKey)) {
AdView adView = (AdView) AdMobBannerAdapter.this.mAdUnitIdToBannerAd.get(configStringValueFromKey);
if (adView != null) {
adView.destroy();
}
AdMobBannerAdapter.this.mAdUnitIdToBannerAd.remove(configStringValueFromKey);
}
if (AdMobBannerAdapter.this.mAdUnitIdToNativeBannerAd.containsKey(configStringValueFromKey)) {
NativeAd nativeAd = AdMobBannerAdapter.this.mAdUnitIdToNativeBannerAd.get(configStringValueFromKey);
if (nativeAd != null) {
nativeAd.destroy();
}
AdMobBannerAdapter.this.mAdUnitIdToNativeBannerAd.remove(configStringValueFromKey);
}
} catch (Exception e) {
IronLog.ADAPTER_API.error("e = " + e);
}
}
});
}
@Override // com.ironsource.mediationsdk.sdk.ReleaseMemoryAdapterInterface
public void releaseMemory(@NonNull IronSource.AD_UNIT ad_unit, JSONObject jSONObject) {
postOnUIThread(new Runnable() { // from class: com.ironsource.adapters.admob.banner.AdMobBannerAdapter.3
@Override // java.lang.Runnable
public void run() {
Iterator it = AdMobBannerAdapter.this.mAdUnitIdToBannerAd.values().iterator();
while (it.hasNext()) {
((AdView) it.next()).destroy();
}
Iterator<NativeAd> it2 = AdMobBannerAdapter.this.mAdUnitIdToNativeBannerAd.values().iterator();
while (it2.hasNext()) {
it2.next().destroy();
}
AdMobBannerAdapter.this.mAdUnitIdToBannerAd.clear();
AdMobBannerAdapter.this.mAdUnitIdToListener.clear();
AdMobBannerAdapter.this.mAdUnitIdToNativeBannerAd.clear();
}
});
}
@Override // com.ironsource.mediationsdk.adapter.AbstractBannerAdapter, com.ironsource.mediationsdk.sdk.BannerAdapterInterface
public void collectBannerBiddingData(@NonNull JSONObject jSONObject, JSONObject jSONObject2, BiddingDataCallback biddingDataCallback) {
IronSourceBannerLayout ironSourceBannerLayout;
Bundle bundle = new Bundle();
if (jSONObject2 != null && (ironSourceBannerLayout = (IronSourceBannerLayout) jSONObject2.opt("bannerLayout")) != null) {
ISBannerSize size = ironSourceBannerLayout.getSize();
if (size.isAdaptive()) {
AdSize adSize = getAdSize(size, AdapterUtils.isLargeScreen(ContextProvider.getInstance().getApplicationContext()));
bundle.putInt("adaptive_banner_w", adSize.getWidth());
bundle.putInt("adaptive_banner_h", adSize.getHeight());
IronLog.ADAPTER_API.verbose("adaptive banner width = " + adSize.getWidth() + ", height = " + adSize.getHeight());
}
}
getAdapter().collectBiddingData(biddingDataCallback, AdFormat.BANNER, bundle);
}
@Override // com.ironsource.mediationsdk.adapter.AbstractBannerAdapter, com.ironsource.mediationsdk.sdk.BannerAdapterInterface
public int getAdaptiveHeight(int i) {
int height = getAdaptiveBannerSize(i).getHeight();
IronLog.ADAPTER_API.verbose("height - " + height + " for width - " + i);
return height;
}
public AdSize getAdSize(ISBannerSize iSBannerSize, boolean z) {
AdSize adSize;
String description = iSBannerSize.getDescription();
description.hashCode();
switch (description) {
case "RECTANGLE":
adSize = AdSize.MEDIUM_RECTANGLE;
break;
case "LARGE":
adSize = AdSize.LARGE_BANNER;
break;
case "SMART":
if (!z) {
adSize = AdSize.BANNER;
break;
} else {
adSize = AdSize.LEADERBOARD;
break;
}
case "BANNER":
adSize = AdSize.BANNER;
break;
case "CUSTOM":
adSize = new AdSize(iSBannerSize.getWidth(), iSBannerSize.getHeight());
break;
default:
adSize = null;
break;
}
try {
if (iSBannerSize.isAdaptive() && adSize != null) {
AdSize adaptiveBannerSize = getAdaptiveBannerSize(iSBannerSize.containerParams.getWidth());
IronLog.INTERNAL.verbose("default height - " + adSize.getHeight() + " adaptive height - " + adaptiveBannerSize.getHeight() + " container height - " + iSBannerSize.containerParams.getHeight() + " default width - " + adSize.getWidth() + " container width - " + iSBannerSize.containerParams.getWidth());
return adaptiveBannerSize;
}
} catch (Exception unused) {
IronLog.INTERNAL.error("containerParams is not supported");
}
return adSize;
}
private static AdSize getAdaptiveBannerSize(int i) {
return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(ContextProvider.getInstance().getApplicationContext(), i);
}
private boolean isNativeBannerSizeSupported(ISBannerSize iSBannerSize, boolean z) {
String description = iSBannerSize.getDescription();
description.hashCode();
switch (description) {
case "RECTANGLE":
case "LARGE":
case "BANNER":
return true;
case "SMART":
return !z;
default:
return false;
}
}
}