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,39 @@
package com.unity3d.services.ads.gmascar;
import com.unity3d.services.ads.gmascar.adapters.ScarAdapterFactory;
import com.unity3d.services.ads.gmascar.bridges.AdapterStatusBridge;
import com.unity3d.services.ads.gmascar.bridges.InitializationStatusBridge;
import com.unity3d.services.ads.gmascar.bridges.InitializeListenerBridge;
import com.unity3d.services.ads.gmascar.bridges.mobileads.MobileAdsBridgeFactory;
import com.unity3d.services.ads.gmascar.handlers.BiddingSignalsHandler;
import com.unity3d.services.ads.gmascar.handlers.WebViewErrorHandler;
import com.unity3d.services.ads.gmascar.listeners.IBiddingSignalsListener;
import com.unity3d.services.ads.gmascar.utils.GMAEventSender;
/* loaded from: classes4.dex */
public class GMA {
private static GMAScarAdapterBridge _gmaScarAdapterBridge = new GMAScarAdapterBridge(new MobileAdsBridgeFactory().createMobileAdsBridge(), new InitializeListenerBridge(), new InitializationStatusBridge(), new AdapterStatusBridge(), new WebViewErrorHandler(), new ScarAdapterFactory(), new GMAEventSender());
private static GMA instance;
public GMAScarAdapterBridge getBridge() {
return _gmaScarAdapterBridge;
}
private GMA() {
}
public static GMA getInstance() {
if (instance == null) {
instance = new GMA();
}
return instance;
}
public boolean hasSCARBiddingSupport() {
return _gmaScarAdapterBridge.hasSCARBiddingSupport();
}
public void getSCARBiddingSignals(boolean z, IBiddingSignalsListener iBiddingSignalsListener) {
_gmaScarAdapterBridge.getSCARBiddingSignals(z, new BiddingSignalsHandler(z, iBiddingSignalsListener));
}
}

View File

@@ -0,0 +1,173 @@
package com.unity3d.services.ads.gmascar;
import android.content.Context;
import com.unity3d.scar.adapter.common.GMAAdsError;
import com.unity3d.scar.adapter.common.GMAEvent;
import com.unity3d.scar.adapter.common.IScarAdapter;
import com.unity3d.scar.adapter.common.WebViewAdsError;
import com.unity3d.scar.adapter.common.scarads.ScarAdMetadata;
import com.unity3d.scar.adapter.common.scarads.UnityAdFormat;
import com.unity3d.services.ads.gmascar.adapters.ScarAdapterFactory;
import com.unity3d.services.ads.gmascar.bridges.AdapterStatusBridge;
import com.unity3d.services.ads.gmascar.bridges.InitializationStatusBridge;
import com.unity3d.services.ads.gmascar.bridges.InitializeListenerBridge;
import com.unity3d.services.ads.gmascar.bridges.mobileads.MobileAdsBridgeBase;
import com.unity3d.services.ads.gmascar.finder.GMAInitializer;
import com.unity3d.services.ads.gmascar.finder.PresenceDetector;
import com.unity3d.services.ads.gmascar.finder.ScarVersionFinder;
import com.unity3d.services.ads.gmascar.handlers.BiddingSignalsHandler;
import com.unity3d.services.ads.gmascar.handlers.ScarBannerAdHandler;
import com.unity3d.services.ads.gmascar.handlers.ScarInterstitialAdHandler;
import com.unity3d.services.ads.gmascar.handlers.ScarRewardedAdHandler;
import com.unity3d.services.ads.gmascar.handlers.SignalsHandler;
import com.unity3d.services.ads.gmascar.handlers.WebViewErrorHandler;
import com.unity3d.services.ads.gmascar.utils.GMAEventSender;
import com.unity3d.services.banners.BannerView;
import com.unity3d.services.banners.UnityBannerSize;
import com.unity3d.services.banners.bridge.BannerBridge;
import com.unity3d.services.core.misc.EventSubject;
import com.unity3d.services.core.properties.ClientProperties;
import com.unity3d.services.core.timer.DefaultIntervalTimerFactory;
import com.unity3d.services.core.webview.WebViewApp;
import com.unity3d.services.core.webview.WebViewEventCategory;
import java.util.ArrayDeque;
import java.util.Arrays;
/* loaded from: classes4.dex */
public class GMAScarAdapterBridge {
private final AdapterStatusBridge _adapterStatusBridge;
private final GMAEventSender _gmaEventSender;
private final GMAInitializer _gmaInitializer;
private final InitializeListenerBridge _initializationListenerBridge;
private final InitializationStatusBridge _initializationStatusBridge;
private final MobileAdsBridgeBase _mobileAdsBridge;
private final PresenceDetector _presenceDetector;
private IScarAdapter _scarAdapter;
private final ScarAdapterFactory _scarAdapterFactory;
private final ScarVersionFinder _scarVersionFinder;
private final WebViewErrorHandler _webViewErrorHandler;
public GMAScarAdapterBridge(MobileAdsBridgeBase mobileAdsBridgeBase, InitializeListenerBridge initializeListenerBridge, InitializationStatusBridge initializationStatusBridge, AdapterStatusBridge adapterStatusBridge, WebViewErrorHandler webViewErrorHandler, ScarAdapterFactory scarAdapterFactory, GMAEventSender gMAEventSender) {
this._initializationStatusBridge = initializationStatusBridge;
this._initializationListenerBridge = initializeListenerBridge;
this._adapterStatusBridge = adapterStatusBridge;
this._webViewErrorHandler = webViewErrorHandler;
this._scarAdapterFactory = scarAdapterFactory;
this._mobileAdsBridge = mobileAdsBridgeBase;
this._gmaEventSender = gMAEventSender;
PresenceDetector presenceDetector = new PresenceDetector(mobileAdsBridgeBase, initializeListenerBridge, initializationStatusBridge, adapterStatusBridge);
this._presenceDetector = presenceDetector;
GMAInitializer gMAInitializer = new GMAInitializer(mobileAdsBridgeBase, initializeListenerBridge, initializationStatusBridge, adapterStatusBridge, gMAEventSender);
this._gmaInitializer = gMAInitializer;
this._scarVersionFinder = new ScarVersionFinder(mobileAdsBridgeBase, presenceDetector, gMAInitializer, gMAEventSender);
}
public void initializeScar() {
if (this._presenceDetector.areGMAClassesPresent()) {
this._gmaEventSender.send(GMAEvent.SCAR_PRESENT, new Object[0]);
this._gmaInitializer.initializeGMA();
} else {
this._webViewErrorHandler.handleError((WebViewAdsError) new GMAAdsError(GMAEvent.SCAR_NOT_PRESENT, new Object[0]));
}
}
public boolean isInitialized() {
return this._gmaInitializer.isInitialized();
}
public void getVersion() {
this._scarVersionFinder.getVersion();
}
public void getSCARSignal(String str, UnityAdFormat unityAdFormat) {
this._scarAdapter = getScarAdapterObject();
SignalsHandler signalsHandler = new SignalsHandler(this._gmaEventSender);
IScarAdapter iScarAdapter = this._scarAdapter;
if (iScarAdapter != null) {
iScarAdapter.getSCARSignal(ClientProperties.getApplicationContext(), str, unityAdFormat, signalsHandler);
} else {
this._webViewErrorHandler.handleError((WebViewAdsError) GMAAdsError.InternalSignalsError("Could not create SCAR adapter object"));
}
}
public boolean hasSCARBiddingSupport() {
MobileAdsBridgeBase mobileAdsBridgeBase = this._mobileAdsBridge;
if (mobileAdsBridgeBase == null || !mobileAdsBridgeBase.hasSCARBiddingSupport()) {
return false;
}
IScarAdapter scarAdapterObject = getScarAdapterObject();
this._scarAdapter = scarAdapterObject;
return scarAdapterObject != null;
}
public void getSCARBiddingSignals(boolean z, BiddingSignalsHandler biddingSignalsHandler) {
MobileAdsBridgeBase mobileAdsBridgeBase = this._mobileAdsBridge;
if (mobileAdsBridgeBase != null && mobileAdsBridgeBase.hasSCARBiddingSupport()) {
IScarAdapter scarAdapterObject = getScarAdapterObject();
this._scarAdapter = scarAdapterObject;
if (scarAdapterObject != null) {
scarAdapterObject.getSCARBiddingSignals(ClientProperties.getApplicationContext(), z, biddingSignalsHandler);
return;
} else {
biddingSignalsHandler.onSignalsCollectionFailed("Could not create SCAR adapter object.");
return;
}
}
biddingSignalsHandler.onSignalsCollectionFailed("SCAR bidding unsupported.");
}
public void load(boolean z, String str, String str2, String str3, String str4, int i) {
ScarAdMetadata scarAdMetadata = new ScarAdMetadata(str, str2, str4, str3, Integer.valueOf(i));
IScarAdapter scarAdapterObject = getScarAdapterObject();
this._scarAdapter = scarAdapterObject;
if (scarAdapterObject == null) {
this._webViewErrorHandler.handleError((WebViewAdsError) GMAAdsError.InternalLoadError(scarAdMetadata, "Scar Adapter object is null"));
} else if (z) {
loadInterstitialAd(scarAdMetadata);
} else {
loadRewardedAd(scarAdMetadata);
}
}
private void loadInterstitialAd(ScarAdMetadata scarAdMetadata) {
this._scarAdapter.loadInterstitialAd(ClientProperties.getApplicationContext(), scarAdMetadata, new ScarInterstitialAdHandler(scarAdMetadata, getScarEventSubject(scarAdMetadata.getVideoLengthMs()), this._gmaEventSender));
}
private void loadRewardedAd(ScarAdMetadata scarAdMetadata) {
this._scarAdapter.loadRewardedAd(ClientProperties.getApplicationContext(), scarAdMetadata, new ScarRewardedAdHandler(scarAdMetadata, getScarEventSubject(scarAdMetadata.getVideoLengthMs()), this._gmaEventSender));
}
public void loadBanner(Context context, BannerView bannerView, String str, ScarAdMetadata scarAdMetadata, UnityBannerSize unityBannerSize) {
this._scarAdapter = getScarAdapterObject();
ScarBannerAdHandler scarBannerAdHandler = new ScarBannerAdHandler(str);
IScarAdapter iScarAdapter = this._scarAdapter;
if (iScarAdapter != null) {
iScarAdapter.loadBannerAd(context, bannerView, scarAdMetadata, unityBannerSize.getWidth(), unityBannerSize.getHeight(), scarBannerAdHandler);
} else {
WebViewApp.getCurrentApp().sendEvent(WebViewEventCategory.BANNER, BannerBridge.BannerEvent.SCAR_BANNER_LOAD_FAILED, str);
}
}
public void show(String str, String str2, boolean z) {
ScarAdMetadata scarAdMetadata = new ScarAdMetadata(str, str2);
IScarAdapter scarAdapterObject = getScarAdapterObject();
this._scarAdapter = scarAdapterObject;
if (scarAdapterObject != null) {
scarAdapterObject.show(ClientProperties.getActivity(), str2, str);
} else {
this._webViewErrorHandler.handleError((WebViewAdsError) GMAAdsError.InternalShowError(scarAdMetadata, "Scar Adapter object is null"));
}
}
private EventSubject getScarEventSubject(Integer num) {
return new EventSubject(new ArrayDeque(Arrays.asList(GMAEvent.FIRST_QUARTILE, GMAEvent.MIDPOINT, GMAEvent.THIRD_QUARTILE, GMAEvent.LAST_QUARTILE)), num, new DefaultIntervalTimerFactory());
}
private IScarAdapter getScarAdapterObject() {
MobileAdsBridgeBase mobileAdsBridgeBase;
if (this._scarAdapter == null && (mobileAdsBridgeBase = this._mobileAdsBridge) != null) {
this._scarAdapter = this._scarAdapterFactory.createScarAdapter(mobileAdsBridgeBase.getAdapterVersion(this._scarVersionFinder.getVersionCode()), this._webViewErrorHandler);
}
return this._scarAdapter;
}
}

View File

@@ -0,0 +1,61 @@
package com.unity3d.services.ads.gmascar.adapters;
import com.unity3d.scar.adapter.common.GMAAdsError;
import com.unity3d.scar.adapter.common.IAdsErrorHandler;
import com.unity3d.scar.adapter.common.IScarAdapter;
import com.unity3d.scar.adapter.common.WebViewAdsError;
import com.unity3d.scar.adapter.v2000.ScarAdapter;
import com.unity3d.services.ads.gmascar.finder.ScarAdapterVersion;
import com.unity3d.services.core.log.DeviceLog;
import com.unity3d.services.core.properties.SdkProperties;
/* loaded from: classes4.dex */
public class ScarAdapterFactory {
/* renamed from: com.unity3d.services.ads.gmascar.adapters.ScarAdapterFactory$1, reason: invalid class name */
public static /* synthetic */ class AnonymousClass1 {
static final /* synthetic */ int[] $SwitchMap$com$unity3d$services$ads$gmascar$finder$ScarAdapterVersion;
static {
int[] iArr = new int[ScarAdapterVersion.values().length];
$SwitchMap$com$unity3d$services$ads$gmascar$finder$ScarAdapterVersion = iArr;
try {
iArr[ScarAdapterVersion.V20.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
$SwitchMap$com$unity3d$services$ads$gmascar$finder$ScarAdapterVersion[ScarAdapterVersion.V21.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
$SwitchMap$com$unity3d$services$ads$gmascar$finder$ScarAdapterVersion[ScarAdapterVersion.V23.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
$SwitchMap$com$unity3d$services$ads$gmascar$finder$ScarAdapterVersion[ScarAdapterVersion.NA.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
}
}
public IScarAdapter createScarAdapter(ScarAdapterVersion scarAdapterVersion, IAdsErrorHandler<WebViewAdsError> iAdsErrorHandler) {
int i = AnonymousClass1.$SwitchMap$com$unity3d$services$ads$gmascar$finder$ScarAdapterVersion[scarAdapterVersion.ordinal()];
if (i == 1) {
return new ScarAdapter(iAdsErrorHandler);
}
if (i == 2) {
return new com.unity3d.scar.adapter.v2100.ScarAdapter(iAdsErrorHandler, SdkProperties.getVersionName());
}
if (i == 3) {
return new com.unity3d.scar.adapter.v2300.ScarAdapter(iAdsErrorHandler, SdkProperties.getVersionName());
}
reportAdapterFailure(scarAdapterVersion, iAdsErrorHandler);
return null;
}
private void reportAdapterFailure(ScarAdapterVersion scarAdapterVersion, IAdsErrorHandler<WebViewAdsError> iAdsErrorHandler) {
String format = String.format("SCAR version %s is not supported.", scarAdapterVersion.name());
iAdsErrorHandler.handleError(GMAAdsError.AdapterCreationError(format));
DeviceLog.debug(format);
}
}

View File

@@ -0,0 +1,43 @@
package com.unity3d.services.ads.gmascar.bridges;
import com.unity3d.services.core.log.DeviceLog;
import com.unity3d.services.core.reflection.GenericBridge;
import java.util.HashMap;
/* loaded from: classes4.dex */
public class AdapterStatusBridge extends GenericBridge {
private static final String initializeStateMethodName = "getInitializationState";
private Class _adapterStateClass;
@Override // com.unity3d.services.core.reflection.GenericBridge
public String getClassName() {
return "com.google.android.gms.ads.initialization.AdapterStatus";
}
public AdapterStatusBridge() {
super(new HashMap<String, Class<?>[]>() { // from class: com.unity3d.services.ads.gmascar.bridges.AdapterStatusBridge.1
{
put(AdapterStatusBridge.initializeStateMethodName, new Class[0]);
}
});
AdapterStatusStateBridge adapterStatusStateBridge = new AdapterStatusStateBridge();
try {
this._adapterStateClass = Class.forName(adapterStatusStateBridge.getClassName());
} catch (ClassNotFoundException e) {
DeviceLog.debug("ERROR: Could not find class %s %s", adapterStatusStateBridge.getClassName(), e.getLocalizedMessage());
}
}
public boolean isGMAInitialized(Object obj) {
Object[] adapterStatesEnum = getAdapterStatesEnum();
if (adapterStatesEnum != null) {
return callNonVoidMethod(initializeStateMethodName, obj, new Object[0]) == adapterStatesEnum[1];
}
DeviceLog.debug("ERROR: Could not get adapter states enum from AdapterStatus.State");
return false;
}
public Object[] getAdapterStatesEnum() {
return this._adapterStateClass.getEnumConstants();
}
}

View File

@@ -0,0 +1,8 @@
package com.unity3d.services.ads.gmascar.bridges;
/* loaded from: classes4.dex */
public class AdapterStatusStateBridge {
public String getClassName() {
return "com.google.android.gms.ads.initialization.AdapterStatus$State";
}
}

View File

@@ -0,0 +1,27 @@
package com.unity3d.services.ads.gmascar.bridges;
import com.unity3d.services.core.reflection.GenericBridge;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes4.dex */
public class InitializationStatusBridge extends GenericBridge {
private static final String adapterStatusMapMethodName = "getAdapterStatusMap";
@Override // com.unity3d.services.core.reflection.GenericBridge
public String getClassName() {
return "com.google.android.gms.ads.initialization.InitializationStatus";
}
public InitializationStatusBridge() {
super(new HashMap<String, Class<?>[]>() { // from class: com.unity3d.services.ads.gmascar.bridges.InitializationStatusBridge.1
{
put(InitializationStatusBridge.adapterStatusMapMethodName, new Class[0]);
}
});
}
public Map<String, Object> getAdapterStatusMap(Object obj) {
return (Map) callNonVoidMethod(adapterStatusMapMethodName, obj, new Object[0]);
}
}

View File

@@ -0,0 +1,55 @@
package com.unity3d.services.ads.gmascar.bridges;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.unity3d.services.ads.gmascar.listeners.IInitializationStatusListener;
import com.unity3d.services.core.log.DeviceLog;
import com.unity3d.services.core.reflection.GenericBridge;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.HashMap;
/* loaded from: classes4.dex */
public class InitializeListenerBridge extends GenericBridge {
private static final String initializationCompleteMethodName = "onInitializationComplete";
private IInitializationStatusListener _initializationStatusListener;
@Override // com.unity3d.services.core.reflection.GenericBridge
public String getClassName() {
return "com.google.android.gms.ads.initialization.OnInitializationCompleteListener";
}
public void setStatusListener(IInitializationStatusListener iInitializationStatusListener) {
this._initializationStatusListener = iInitializationStatusListener;
}
public InitializeListenerBridge() {
super(new HashMap<String, Class<?>[]>() { // from class: com.unity3d.services.ads.gmascar.bridges.InitializeListenerBridge.1
{
try {
put(InitializeListenerBridge.initializationCompleteMethodName, new Class[]{InitializationStatus.class});
} catch (ClassNotFoundException e) {
DeviceLog.debug("Could not find class \"com.google.android.gms.ads.initialization.InitializationStatus\" %s", e.getLocalizedMessage());
}
}
});
}
public Object createInitializeListenerProxy() {
try {
return Proxy.newProxyInstance(classForName().getClassLoader(), new Class[]{classForName()}, new InvocationHandler() { // from class: com.unity3d.services.ads.gmascar.bridges.InitializeListenerBridge.2
@Override // java.lang.reflect.InvocationHandler
public Object invoke(Object obj, Method method, Object[] objArr) {
if (!method.getName().equals(InitializeListenerBridge.initializationCompleteMethodName) || InitializeListenerBridge.this._initializationStatusListener == null) {
return null;
}
InitializeListenerBridge.this._initializationStatusListener.onInitializationComplete(objArr[0]);
return null;
}
});
} catch (Exception unused) {
DeviceLog.debug("ERROR: Could not create InitializeCompletionListener");
return null;
}
}
}

View File

@@ -0,0 +1,21 @@
package com.unity3d.services.ads.gmascar.bridges.mobileads;
import android.content.Context;
import com.unity3d.services.ads.gmascar.finder.ScarAdapterVersion;
/* loaded from: classes4.dex */
public interface IMobileAdsBridge {
ScarAdapterVersion getAdapterVersion(int i);
Object getInitializationStatus();
int getVersionCodeIndex();
String getVersionMethodName();
String getVersionString();
void initialize(Context context, Object obj);
boolean shouldInitialize();
}

View File

@@ -0,0 +1,61 @@
package com.unity3d.services.ads.gmascar.bridges.mobileads;
import android.content.Context;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
import com.unity3d.services.ads.gmascar.finder.ScarAdapterVersion;
import com.unity3d.services.core.configuration.ConfigurationReader;
import com.unity3d.services.core.log.DeviceLog;
import java.util.HashMap;
/* loaded from: classes4.dex */
public class MobileAdsBridge extends MobileAdsBridgeBase {
public static final int CODE_21 = 21;
public static final String versionMethodName = "getVersion";
private ConfigurationReader _configurationReader;
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public int getVersionCodeIndex() {
return 0;
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public String getVersionMethodName() {
return versionMethodName;
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.MobileAdsBridgeBase
public boolean hasSCARBiddingSupport() {
return true;
}
public MobileAdsBridge() {
super(new HashMap<String, Class<?>[]>() { // from class: com.unity3d.services.ads.gmascar.bridges.mobileads.MobileAdsBridge.1
{
try {
put(MobileAdsBridgeBase.initializeMethodName, new Class[]{Context.class, OnInitializationCompleteListener.class});
} catch (ClassNotFoundException e) {
DeviceLog.debug("Could not find class \"com.google.android.gms.ads.initialization.OnInitializationCompleteListener\" %s", e.getLocalizedMessage());
}
put(MobileAdsBridgeBase.initializationStatusMethodName, new Class[0]);
put(MobileAdsBridge.versionMethodName, new Class[0]);
}
});
this._configurationReader = new ConfigurationReader();
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public ScarAdapterVersion getAdapterVersion(int i) {
if (i == -1) {
return ScarAdapterVersion.NA;
}
if (i < 23) {
return ScarAdapterVersion.V21;
}
return ScarAdapterVersion.V23;
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public boolean shouldInitialize() {
return this._configurationReader.getCurrentConfiguration().getExperiments().isScarInitEnabled();
}
}

View File

@@ -0,0 +1,38 @@
package com.unity3d.services.ads.gmascar.bridges.mobileads;
import android.content.Context;
import com.unity3d.services.core.reflection.GenericBridge;
import java.util.Map;
/* loaded from: classes4.dex */
public abstract class MobileAdsBridgeBase extends GenericBridge implements IMobileAdsBridge {
public static final String initializationStatusMethodName = "getInitializationStatus";
public static final String initializeMethodName = "initialize";
@Override // com.unity3d.services.core.reflection.GenericBridge
public String getClassName() {
return "com.google.android.gms.ads.MobileAds";
}
public abstract boolean hasSCARBiddingSupport();
public MobileAdsBridgeBase(Map<String, Class<?>[]> map) {
super(map);
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public void initialize(Context context, Object obj) {
callVoidMethod(initializeMethodName, null, context, obj);
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public Object getInitializationStatus() {
return callNonVoidMethod(initializationStatusMethodName, null, new Object[0]);
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public String getVersionString() {
Object callNonVoidMethod = callNonVoidMethod(getVersionMethodName(), null, new Object[0]);
return callNonVoidMethod == null ? "0.0.0" : callNonVoidMethod.toString();
}
}

View File

@@ -0,0 +1,16 @@
package com.unity3d.services.ads.gmascar.bridges.mobileads;
/* loaded from: classes4.dex */
public class MobileAdsBridgeFactory {
public MobileAdsBridgeBase createMobileAdsBridge() {
MobileAdsBridge mobileAdsBridge = new MobileAdsBridge();
if (mobileAdsBridge.exists()) {
return mobileAdsBridge;
}
MobileAdsBridgeLegacy mobileAdsBridgeLegacy = new MobileAdsBridgeLegacy();
if (mobileAdsBridgeLegacy.exists()) {
return mobileAdsBridgeLegacy;
}
return null;
}
}

View File

@@ -0,0 +1,56 @@
package com.unity3d.services.ads.gmascar.bridges.mobileads;
import android.content.Context;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
import com.unity3d.services.ads.gmascar.finder.ScarAdapterVersion;
import com.unity3d.services.core.log.DeviceLog;
import java.util.HashMap;
/* loaded from: classes4.dex */
public class MobileAdsBridgeLegacy extends MobileAdsBridgeBase {
public static final int CODE_20_0 = 210402000;
public static final int CODE_21_0 = 221310000;
public static final String versionStringMethodName = "getVersionString";
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public int getVersionCodeIndex() {
return 1;
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public String getVersionMethodName() {
return versionStringMethodName;
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.MobileAdsBridgeBase
public boolean hasSCARBiddingSupport() {
return false;
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public boolean shouldInitialize() {
return true;
}
public MobileAdsBridgeLegacy() {
super(new HashMap<String, Class<?>[]>() { // from class: com.unity3d.services.ads.gmascar.bridges.mobileads.MobileAdsBridgeLegacy.1
{
try {
put(MobileAdsBridgeBase.initializeMethodName, new Class[]{Context.class, OnInitializationCompleteListener.class});
} catch (ClassNotFoundException e) {
DeviceLog.debug("Could not find class \"com.google.android.gms.ads.initialization.OnInitializationCompleteListener\" %s", e.getLocalizedMessage());
}
put(MobileAdsBridgeBase.initializationStatusMethodName, new Class[0]);
put(MobileAdsBridgeLegacy.versionStringMethodName, new Class[0]);
}
});
}
@Override // com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge
public ScarAdapterVersion getAdapterVersion(int i) {
if (i >= 210402000 && i < 221310000) {
return ScarAdapterVersion.V20;
}
return ScarAdapterVersion.NA;
}
}

View File

@@ -0,0 +1,66 @@
package com.unity3d.services.ads.gmascar.finder;
import com.unity3d.scar.adapter.common.GMAEvent;
import com.unity3d.services.ads.gmascar.bridges.AdapterStatusBridge;
import com.unity3d.services.ads.gmascar.bridges.InitializationStatusBridge;
import com.unity3d.services.ads.gmascar.bridges.InitializeListenerBridge;
import com.unity3d.services.ads.gmascar.bridges.mobileads.MobileAdsBridgeBase;
import com.unity3d.services.ads.gmascar.utils.GMAEventSender;
import com.unity3d.services.core.log.DeviceLog;
import com.unity3d.services.core.properties.ClientProperties;
/* loaded from: classes4.dex */
public class GMAInitializer {
private AdapterStatusBridge _adapterStatusBridge;
private GMAEventSender _gmaEventSender;
private InitializeListenerBridge _initializationListenerBridge;
private InitializationStatusBridge _initializationStatusBridge;
private MobileAdsBridgeBase _mobileAdsBridge;
public InitializeListenerBridge getInitializeListenerBridge() {
return this._initializationListenerBridge;
}
public GMAInitializer(MobileAdsBridgeBase mobileAdsBridgeBase, InitializeListenerBridge initializeListenerBridge, InitializationStatusBridge initializationStatusBridge, AdapterStatusBridge adapterStatusBridge, GMAEventSender gMAEventSender) {
this._mobileAdsBridge = mobileAdsBridgeBase;
this._initializationListenerBridge = initializeListenerBridge;
this._initializationStatusBridge = initializationStatusBridge;
this._adapterStatusBridge = adapterStatusBridge;
this._gmaEventSender = gMAEventSender;
}
public void initializeGMA() {
if (shouldInitialize()) {
this._mobileAdsBridge.initialize(ClientProperties.getApplicationContext(), this._initializationListenerBridge.createInitializeListenerProxy());
}
}
public boolean initSuccessful(Object obj) {
Object obj2 = this._initializationStatusBridge.getAdapterStatusMap(obj).get(this._mobileAdsBridge.getClassName());
if (obj2 != null) {
if (this._adapterStatusBridge.isGMAInitialized(obj2)) {
this._gmaEventSender.send(GMAEvent.INIT_SUCCESS, new Object[0]);
return true;
}
this._gmaEventSender.send(GMAEvent.INIT_ERROR, new Object[0]);
}
return false;
}
public boolean isInitialized() {
try {
return initSuccessful(this._mobileAdsBridge.getInitializationStatus());
} catch (Exception e) {
DeviceLog.debug("ERROR: Could not get initialization status of GMA SDK - %s", e.getLocalizedMessage());
return false;
}
}
public boolean shouldInitialize() {
if (isInitialized()) {
this._gmaEventSender.send(GMAEvent.ALREADY_INITIALIZED, new Object[0]);
return false;
}
return this._mobileAdsBridge.shouldInitialize();
}
}

View File

@@ -0,0 +1,26 @@
package com.unity3d.services.ads.gmascar.finder;
import com.unity3d.services.ads.gmascar.bridges.AdapterStatusBridge;
import com.unity3d.services.ads.gmascar.bridges.InitializationStatusBridge;
import com.unity3d.services.ads.gmascar.bridges.InitializeListenerBridge;
import com.unity3d.services.ads.gmascar.bridges.mobileads.MobileAdsBridgeBase;
/* loaded from: classes4.dex */
public class PresenceDetector {
private AdapterStatusBridge _adapterStatusBridge;
private InitializeListenerBridge _initializationListenerBridge;
private InitializationStatusBridge _initializationStatusBridge;
private MobileAdsBridgeBase _mobileAdsBridge;
public PresenceDetector(MobileAdsBridgeBase mobileAdsBridgeBase, InitializeListenerBridge initializeListenerBridge, InitializationStatusBridge initializationStatusBridge, AdapterStatusBridge adapterStatusBridge) {
this._mobileAdsBridge = mobileAdsBridgeBase;
this._initializationListenerBridge = initializeListenerBridge;
this._initializationStatusBridge = initializationStatusBridge;
this._adapterStatusBridge = adapterStatusBridge;
}
public boolean areGMAClassesPresent() {
MobileAdsBridgeBase mobileAdsBridgeBase = this._mobileAdsBridge;
return mobileAdsBridgeBase != null && this._initializationListenerBridge != null && this._initializationStatusBridge != null && this._adapterStatusBridge != null && mobileAdsBridgeBase.exists() && this._initializationListenerBridge.exists() && this._initializationStatusBridge.exists() && this._adapterStatusBridge.exists();
}
}

View File

@@ -0,0 +1,9 @@
package com.unity3d.services.ads.gmascar.finder;
/* loaded from: classes4.dex */
public enum ScarAdapterVersion {
V20,
V21,
V23,
NA
}

View File

@@ -0,0 +1,61 @@
package com.unity3d.services.ads.gmascar.finder;
import com.unity3d.services.ads.gmascar.bridges.mobileads.IMobileAdsBridge;
import com.unity3d.services.ads.gmascar.listeners.IInitializationStatusListener;
import com.unity3d.services.ads.gmascar.utils.GMAEventSender;
import com.unity3d.services.core.log.DeviceLog;
/* loaded from: classes4.dex */
public class ScarVersionFinder implements IInitializationStatusListener {
private static IMobileAdsBridge _mobileAdsBridge;
private GMAEventSender _gmaEventSender;
private GMAInitializer _gmaInitializer;
private int _gmaSdkVersionCode = -1;
private PresenceDetector _presenceDetector;
public ScarVersionFinder(IMobileAdsBridge iMobileAdsBridge, PresenceDetector presenceDetector, GMAInitializer gMAInitializer, GMAEventSender gMAEventSender) {
_mobileAdsBridge = iMobileAdsBridge;
this._presenceDetector = presenceDetector;
this._gmaInitializer = gMAInitializer;
this._gmaEventSender = gMAEventSender;
gMAInitializer.getInitializeListenerBridge().setStatusListener(this);
}
public void getVersion() {
try {
if (!this._presenceDetector.areGMAClassesPresent()) {
this._gmaEventSender.sendVersion("0.0.0");
} else if (this._gmaInitializer.shouldInitialize()) {
this._gmaInitializer.initializeGMA();
} else {
findAndSendVersion(true);
}
} catch (Exception e) {
DeviceLog.debug("Got exception finding GMA SDK: %s", e.getLocalizedMessage());
}
}
public void findAndSendVersion(boolean z) {
this._gmaEventSender.sendVersion(z ? _mobileAdsBridge.getVersionString() : "0.0.0");
}
public int getVersionCode() {
String versionString;
if (this._gmaSdkVersionCode == -1 && (versionString = _mobileAdsBridge.getVersionString()) != null) {
String[] split = versionString.split("\\.");
if (split.length > _mobileAdsBridge.getVersionCodeIndex()) {
try {
this._gmaSdkVersionCode = Integer.parseInt(split[_mobileAdsBridge.getVersionCodeIndex()]);
} catch (NumberFormatException e) {
DeviceLog.debug("Could not parse %s to an Integer: %s", split[_mobileAdsBridge.getVersionCodeIndex()], e.getLocalizedMessage());
}
}
}
return this._gmaSdkVersionCode;
}
@Override // com.unity3d.services.ads.gmascar.listeners.IInitializationStatusListener
public void onInitializationComplete(Object obj) {
findAndSendVersion(this._gmaInitializer.initSuccessful(obj));
}
}

View File

@@ -0,0 +1,45 @@
package com.unity3d.services.ads.gmascar.handlers;
import com.unity3d.scar.adapter.common.signals.ISignalCollectionListener;
import com.unity3d.scar.adapter.common.signals.SignalsCollectorBase;
import com.unity3d.services.ads.gmascar.listeners.IBiddingSignalsListener;
import com.unity3d.services.ads.gmascar.models.BiddingSignals;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes4.dex */
public class BiddingSignalsHandler implements ISignalCollectionListener {
private final boolean isBannerEnabled;
private final IBiddingSignalsListener listener;
public BiddingSignalsHandler(boolean z, IBiddingSignalsListener iBiddingSignalsListener) {
this.listener = iBiddingSignalsListener;
this.isBannerEnabled = z;
}
@Override // com.unity3d.scar.adapter.common.signals.ISignalCollectionListener
public void onSignalsCollected(String str) {
this.listener.onSignalsReady(getSignals(str));
}
@Override // com.unity3d.scar.adapter.common.signals.ISignalCollectionListener
public void onSignalsCollectionFailed(String str) {
this.listener.onSignalsFailure(str);
}
private BiddingSignals getSignals(String str) {
try {
JSONObject jSONObject = new JSONObject(str);
if (this.isBannerEnabled) {
return new BiddingSignals(getSignalFromJson(jSONObject, SignalsCollectorBase.SCAR_RV_SIGNAL), getSignalFromJson(jSONObject, SignalsCollectorBase.SCAR_INT_SIGNAL), getSignalFromJson(jSONObject, SignalsCollectorBase.SCAR_BAN_SIGNAL));
}
return new BiddingSignals(getSignalFromJson(jSONObject, SignalsCollectorBase.SCAR_RV_SIGNAL), getSignalFromJson(jSONObject, SignalsCollectorBase.SCAR_INT_SIGNAL));
} catch (JSONException unused) {
return null;
}
}
private String getSignalFromJson(JSONObject jSONObject, String str) {
return jSONObject.optString(str);
}
}

View File

@@ -0,0 +1,53 @@
package com.unity3d.services.ads.gmascar.handlers;
import com.unity3d.scar.adapter.common.GMAEvent;
import com.unity3d.scar.adapter.common.IScarAdListenerWrapper;
import com.unity3d.scar.adapter.common.scarads.ScarAdMetadata;
import com.unity3d.services.ads.gmascar.utils.GMAEventSender;
import com.unity3d.services.core.misc.EventSubject;
import com.unity3d.services.core.misc.IEventListener;
/* loaded from: classes4.dex */
public abstract class ScarAdHandlerBase implements IScarAdListenerWrapper {
protected final EventSubject<GMAEvent> _eventSubject;
protected final GMAEventSender _gmaEventSender;
protected final ScarAdMetadata _scarAdMetadata;
public ScarAdHandlerBase(ScarAdMetadata scarAdMetadata, EventSubject<GMAEvent> eventSubject, GMAEventSender gMAEventSender) {
this._scarAdMetadata = scarAdMetadata;
this._eventSubject = eventSubject;
this._gmaEventSender = gMAEventSender;
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdLoaded() {
this._gmaEventSender.send(GMAEvent.AD_LOADED, this._scarAdMetadata.getPlacementId(), this._scarAdMetadata.getQueryId());
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdFailedToLoad(int i, String str) {
this._gmaEventSender.send(GMAEvent.LOAD_ERROR, this._scarAdMetadata.getPlacementId(), this._scarAdMetadata.getQueryId(), str, Integer.valueOf(i));
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdOpened() {
this._gmaEventSender.send(GMAEvent.AD_STARTED, new Object[0]);
this._eventSubject.subscribe(new IEventListener<GMAEvent>() { // from class: com.unity3d.services.ads.gmascar.handlers.ScarAdHandlerBase.1
@Override // com.unity3d.services.core.misc.IEventListener
public void onNextEvent(GMAEvent gMAEvent) {
ScarAdHandlerBase.this._gmaEventSender.send(gMAEvent, new Object[0]);
}
});
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdClicked() {
this._gmaEventSender.send(GMAEvent.AD_CLICKED, new Object[0]);
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdClosed() {
this._gmaEventSender.send(GMAEvent.AD_CLOSED, new Object[0]);
this._eventSubject.unsubscribe();
}
}

View File

@@ -0,0 +1,47 @@
package com.unity3d.services.ads.gmascar.handlers;
import com.unity3d.scar.adapter.common.IScarBannerAdListenerWrapper;
import com.unity3d.services.banners.BannerViewCache;
import com.unity3d.services.banners.bridge.BannerBridge;
import com.unity3d.services.core.webview.WebViewApp;
import com.unity3d.services.core.webview.WebViewEventCategory;
/* loaded from: classes4.dex */
public class ScarBannerAdHandler implements IScarBannerAdListenerWrapper {
private String _operationId;
public ScarBannerAdHandler(String str) {
this._operationId = str;
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdLoaded() {
BannerViewCache.getInstance().addScarContainer(this._operationId);
WebViewApp.getCurrentApp().sendEvent(WebViewEventCategory.BANNER, BannerBridge.BannerEvent.SCAR_BANNER_LOADED, this._operationId);
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdFailedToLoad(int i, String str) {
WebViewApp.getCurrentApp().sendEvent(WebViewEventCategory.BANNER, BannerBridge.BannerEvent.SCAR_BANNER_LOAD_FAILED, this._operationId, Integer.valueOf(i), str);
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdOpened() {
WebViewApp.getCurrentApp().sendEvent(WebViewEventCategory.BANNER, BannerBridge.BannerEvent.SCAR_BANNER_OPENED, this._operationId);
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdClicked() {
WebViewApp.getCurrentApp().sendEvent(WebViewEventCategory.BANNER, BannerBridge.BannerEvent.SCAR_BANNER_CLICKED, this._operationId);
}
@Override // com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdClosed() {
WebViewApp.getCurrentApp().sendEvent(WebViewEventCategory.BANNER, BannerBridge.BannerEvent.SCAR_BANNER_CLOSED, this._operationId);
}
@Override // com.unity3d.scar.adapter.common.IScarBannerAdListenerWrapper
public void onAdImpression() {
WebViewApp.getCurrentApp().sendEvent(WebViewEventCategory.BANNER, BannerBridge.BannerEvent.SCAR_BANNER_IMPRESSION, this._operationId);
}
}

View File

@@ -0,0 +1,42 @@
package com.unity3d.services.ads.gmascar.handlers;
import com.unity3d.scar.adapter.common.GMAEvent;
import com.unity3d.scar.adapter.common.IScarInterstitialAdListenerWrapper;
import com.unity3d.scar.adapter.common.scarads.ScarAdMetadata;
import com.unity3d.services.ads.gmascar.utils.GMAEventSender;
import com.unity3d.services.core.misc.EventSubject;
/* loaded from: classes4.dex */
public class ScarInterstitialAdHandler extends ScarAdHandlerBase implements IScarInterstitialAdListenerWrapper {
public ScarInterstitialAdHandler(ScarAdMetadata scarAdMetadata, EventSubject<GMAEvent> eventSubject, GMAEventSender gMAEventSender) {
super(scarAdMetadata, eventSubject, gMAEventSender);
}
@Override // com.unity3d.scar.adapter.common.IScarInterstitialAdListenerWrapper
public void onAdFailedToShow(int i, String str) {
this._gmaEventSender.send(GMAEvent.INTERSTITIAL_SHOW_ERROR, this._scarAdMetadata.getPlacementId(), this._scarAdMetadata.getQueryId(), str, Integer.valueOf(i));
}
@Override // com.unity3d.scar.adapter.common.IScarInterstitialAdListenerWrapper
public void onAdSkipped() {
this._gmaEventSender.send(GMAEvent.AD_SKIPPED, new Object[0]);
}
@Override // com.unity3d.services.ads.gmascar.handlers.ScarAdHandlerBase, com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdClosed() {
if (!this._eventSubject.eventQueueIsEmpty()) {
onAdSkipped();
}
super.onAdClosed();
}
@Override // com.unity3d.scar.adapter.common.IScarInterstitialAdListenerWrapper
public void onAdLeftApplication() {
this._gmaEventSender.send(GMAEvent.AD_LEFT_APPLICATION, new Object[0]);
}
@Override // com.unity3d.scar.adapter.common.IScarInterstitialAdListenerWrapper
public void onAdImpression() {
this._gmaEventSender.send(GMAEvent.INTERSTITIAL_IMPRESSION_RECORDED, new Object[0]);
}
}

View File

@@ -0,0 +1,46 @@
package com.unity3d.services.ads.gmascar.handlers;
import com.unity3d.scar.adapter.common.GMAEvent;
import com.unity3d.scar.adapter.common.IScarRewardedAdListenerWrapper;
import com.unity3d.scar.adapter.common.scarads.ScarAdMetadata;
import com.unity3d.services.ads.gmascar.utils.GMAEventSender;
import com.unity3d.services.core.misc.EventSubject;
/* loaded from: classes4.dex */
public class ScarRewardedAdHandler extends ScarAdHandlerBase implements IScarRewardedAdListenerWrapper {
private boolean _hasEarnedReward;
public ScarRewardedAdHandler(ScarAdMetadata scarAdMetadata, EventSubject<GMAEvent> eventSubject, GMAEventSender gMAEventSender) {
super(scarAdMetadata, eventSubject, gMAEventSender);
this._hasEarnedReward = false;
}
@Override // com.unity3d.scar.adapter.common.IScarRewardedAdListenerWrapper
public void onAdFailedToShow(int i, String str) {
this._gmaEventSender.send(GMAEvent.REWARDED_SHOW_ERROR, this._scarAdMetadata.getPlacementId(), this._scarAdMetadata.getQueryId(), str, Integer.valueOf(i));
}
@Override // com.unity3d.scar.adapter.common.IScarRewardedAdListenerWrapper
public void onUserEarnedReward() {
this._hasEarnedReward = true;
this._gmaEventSender.send(GMAEvent.AD_EARNED_REWARD, new Object[0]);
}
@Override // com.unity3d.scar.adapter.common.IScarRewardedAdListenerWrapper
public void onAdSkipped() {
this._gmaEventSender.send(GMAEvent.AD_SKIPPED, new Object[0]);
}
@Override // com.unity3d.services.ads.gmascar.handlers.ScarAdHandlerBase, com.unity3d.scar.adapter.common.IScarAdListenerWrapper
public void onAdClosed() {
if (!this._hasEarnedReward) {
onAdSkipped();
}
super.onAdClosed();
}
@Override // com.unity3d.scar.adapter.common.IScarRewardedAdListenerWrapper
public void onAdImpression() {
this._gmaEventSender.send(GMAEvent.REWARDED_IMPRESSION_RECORDED, new Object[0]);
}
}

View File

@@ -0,0 +1,24 @@
package com.unity3d.services.ads.gmascar.handlers;
import com.unity3d.scar.adapter.common.GMAEvent;
import com.unity3d.scar.adapter.common.signals.ISignalCollectionListener;
import com.unity3d.services.ads.gmascar.utils.GMAEventSender;
/* loaded from: classes4.dex */
public class SignalsHandler implements ISignalCollectionListener {
private GMAEventSender _gmaEventSender;
public SignalsHandler(GMAEventSender gMAEventSender) {
this._gmaEventSender = gMAEventSender;
}
@Override // com.unity3d.scar.adapter.common.signals.ISignalCollectionListener
public void onSignalsCollected(String str) {
this._gmaEventSender.send(GMAEvent.SIGNALS, str);
}
@Override // com.unity3d.scar.adapter.common.signals.ISignalCollectionListener
public void onSignalsCollectionFailed(String str) {
this._gmaEventSender.send(GMAEvent.SIGNALS_ERROR, str);
}
}

View File

@@ -0,0 +1,25 @@
package com.unity3d.services.ads.gmascar.handlers;
import com.unity3d.scar.adapter.common.IAdsErrorHandler;
import com.unity3d.scar.adapter.common.WebViewAdsError;
import com.unity3d.services.core.webview.WebViewEventCategory;
import com.unity3d.services.core.webview.bridge.IEventSender;
import com.unity3d.services.core.webview.bridge.SharedInstances;
/* loaded from: classes4.dex */
public class WebViewErrorHandler implements IAdsErrorHandler<WebViewAdsError> {
private final IEventSender _eventSender;
public WebViewErrorHandler() {
this(SharedInstances.INSTANCE.getWebViewEventSender());
}
public WebViewErrorHandler(IEventSender iEventSender) {
this._eventSender = iEventSender;
}
@Override // com.unity3d.scar.adapter.common.IAdsErrorHandler
public void handleError(WebViewAdsError webViewAdsError) {
this._eventSender.sendEvent(WebViewEventCategory.valueOf(webViewAdsError.getDomain()), webViewAdsError.getErrorCategory(), webViewAdsError.getErrorArguments());
}
}

View File

@@ -0,0 +1,10 @@
package com.unity3d.services.ads.gmascar.listeners;
import com.unity3d.services.ads.gmascar.models.BiddingSignals;
/* loaded from: classes4.dex */
public interface IBiddingSignalsListener {
void onSignalsFailure(String str);
void onSignalsReady(BiddingSignals biddingSignals);
}

View File

@@ -0,0 +1,6 @@
package com.unity3d.services.ads.gmascar.listeners;
/* loaded from: classes4.dex */
public interface IInitializationStatusListener {
void onInitializationComplete(Object obj);
}

View File

@@ -0,0 +1,156 @@
package com.unity3d.services.ads.gmascar.managers;
import com.unity3d.ads.IUnityAdsTokenListener;
import com.unity3d.services.ads.gmascar.GMA;
import com.unity3d.services.ads.gmascar.listeners.IBiddingSignalsListener;
import com.unity3d.services.ads.gmascar.models.BiddingSignals;
import com.unity3d.services.ads.gmascar.utils.ScarConstants;
import com.unity3d.services.ads.gmascar.utils.ScarRequestHandler;
import com.unity3d.services.core.configuration.ConfigurationReader;
import com.unity3d.services.core.misc.Utilities;
import com.unity3d.services.core.request.metrics.SDKMetricsSender;
import com.unity3d.services.core.request.metrics.ScarMetric;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
/* loaded from: classes4.dex */
public abstract class BiddingBaseManager implements IBiddingManager {
private final boolean _isAsyncTokenCall;
private final boolean _isBannerEnabled;
private final ScarRequestHandler _scarRequestHandler;
protected final AtomicBoolean isUploadPermitted;
private final AtomicReference<BiddingSignals> signals;
private final String tokenIdentifier;
private final IUnityAdsTokenListener unityAdsTokenListener;
@Override // com.unity3d.services.ads.gmascar.managers.IBiddingManager
public String getTokenIdentifier() {
return this.tokenIdentifier;
}
public abstract void start();
public BiddingBaseManager(boolean z, IUnityAdsTokenListener iUnityAdsTokenListener) {
this(z, iUnityAdsTokenListener, new ScarRequestHandler());
}
public BiddingBaseManager(boolean z, IUnityAdsTokenListener iUnityAdsTokenListener, ScarRequestHandler scarRequestHandler) {
this.isUploadPermitted = new AtomicBoolean(false);
this.signals = new AtomicReference<>();
this.tokenIdentifier = UUID.randomUUID().toString();
this._isBannerEnabled = z;
this.unityAdsTokenListener = iUnityAdsTokenListener;
this._isAsyncTokenCall = iUnityAdsTokenListener != null;
this._scarRequestHandler = scarRequestHandler;
}
@Override // com.unity3d.services.ads.gmascar.managers.IBiddingManager
public String getFormattedToken(String str) {
if (str == null || str.isEmpty()) {
return null;
}
String tokenIdentifier = getTokenIdentifier();
return (tokenIdentifier == null || tokenIdentifier.isEmpty()) ? str : String.format(ScarConstants.TOKEN_WITH_SCAR_FORMAT, tokenIdentifier, str);
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$onUnityAdsTokenReady$0(String str) {
this.unityAdsTokenListener.onUnityAdsTokenReady(str);
}
@Override // com.unity3d.ads.IUnityAdsTokenListener
public final void onUnityAdsTokenReady(final String str) {
if (this.unityAdsTokenListener != null) {
Utilities.wrapCustomerListener(new Runnable() { // from class: com.unity3d.services.ads.gmascar.managers.BiddingBaseManager$$ExternalSyntheticLambda1
@Override // java.lang.Runnable
public final void run() {
BiddingBaseManager.this.lambda$onUnityAdsTokenReady$0(str);
}
});
}
}
public void permitUpload() {
this.isUploadPermitted.set(true);
}
public void permitSignalsUpload() {
this.isUploadPermitted.set(true);
attemptUpload();
}
public void fetchSignals() {
getMetricSender().sendMetric(ScarMetric.hbSignalsFetchStart(this._isAsyncTokenCall));
new Thread(new Runnable() { // from class: com.unity3d.services.ads.gmascar.managers.BiddingBaseManager$$ExternalSyntheticLambda0
@Override // java.lang.Runnable
public final void run() {
BiddingBaseManager.this.lambda$fetchSignals$1();
}
}).start();
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$fetchSignals$1() {
GMA.getInstance().getSCARBiddingSignals(this._isBannerEnabled, new IBiddingSignalsListener() { // from class: com.unity3d.services.ads.gmascar.managers.BiddingBaseManager.1
@Override // com.unity3d.services.ads.gmascar.listeners.IBiddingSignalsListener
public void onSignalsReady(BiddingSignals biddingSignals) {
BiddingBaseManager.this.onSignalsReady(biddingSignals);
BiddingBaseManager.this.sendFetchResult("");
}
@Override // com.unity3d.services.ads.gmascar.listeners.IBiddingSignalsListener
public void onSignalsFailure(String str) {
BiddingBaseManager.this.sendFetchResult(str);
}
});
}
public void sendFetchResult(String str) {
if (str != "") {
getMetricSender().sendMetric(ScarMetric.hbSignalsFetchFailure(this._isAsyncTokenCall, str));
} else {
getMetricSender().sendMetric(ScarMetric.hbSignalsFetchSuccess(this._isAsyncTokenCall));
}
}
public void onSignalsReady(BiddingSignals biddingSignals) {
this.signals.set(biddingSignals);
attemptUpload();
}
private synchronized void attemptUpload() {
if (this.signals.get() != null && this.isUploadPermitted.compareAndSet(true, false)) {
uploadSignals();
}
}
public void uploadSignals() {
getMetricSender().sendMetric(ScarMetric.hbSignalsUploadStart(this._isAsyncTokenCall));
final BiddingSignals biddingSignals = this.signals.get();
if (biddingSignals == null || biddingSignals.isEmpty()) {
getMetricSender().sendMetric(ScarMetric.hbSignalsUploadFailure(this._isAsyncTokenCall, "null or empty signals"));
} else {
new Thread(new Runnable() { // from class: com.unity3d.services.ads.gmascar.managers.BiddingBaseManager$$ExternalSyntheticLambda2
@Override // java.lang.Runnable
public final void run() {
BiddingBaseManager.this.lambda$uploadSignals$2(biddingSignals);
}
}).start();
}
}
/* JADX INFO: Access modifiers changed from: private */
public /* synthetic */ void lambda$uploadSignals$2(BiddingSignals biddingSignals) {
try {
this._scarRequestHandler.makeUploadRequest(this.tokenIdentifier, biddingSignals, new ConfigurationReader().getCurrentConfiguration().getScarBiddingUrl());
getMetricSender().sendMetric(ScarMetric.hbSignalsUploadSuccess(this._isAsyncTokenCall));
} catch (Exception e) {
getMetricSender().sendMetric(ScarMetric.hbSignalsUploadFailure(this._isAsyncTokenCall, e.getLocalizedMessage()));
}
}
public SDKMetricsSender getMetricSender() {
return (SDKMetricsSender) Utilities.getService(SDKMetricsSender.class);
}
}

View File

@@ -0,0 +1,19 @@
package com.unity3d.services.ads.gmascar.managers;
import com.unity3d.ads.IUnityAdsTokenListener;
/* loaded from: classes4.dex */
public class BiddingDisabledManager extends BiddingBaseManager {
@Override // com.unity3d.services.ads.gmascar.managers.BiddingBaseManager, com.unity3d.services.ads.gmascar.managers.IBiddingManager
public String getTokenIdentifier() {
return null;
}
@Override // com.unity3d.services.ads.gmascar.managers.BiddingBaseManager
public void start() {
}
public BiddingDisabledManager(IUnityAdsTokenListener iUnityAdsTokenListener) {
super(false, iUnityAdsTokenListener);
}
}

View File

@@ -0,0 +1,16 @@
package com.unity3d.services.ads.gmascar.managers;
import com.unity3d.ads.IUnityAdsTokenListener;
/* loaded from: classes4.dex */
public class BiddingEagerManager extends BiddingBaseManager {
public BiddingEagerManager(boolean z, IUnityAdsTokenListener iUnityAdsTokenListener) {
super(z, iUnityAdsTokenListener);
}
@Override // com.unity3d.services.ads.gmascar.managers.BiddingBaseManager
public void start() {
permitSignalsUpload();
fetchSignals();
}
}

View File

@@ -0,0 +1,55 @@
package com.unity3d.services.ads.gmascar.managers;
import com.unity3d.ads.IUnityAdsTokenListener;
import com.unity3d.services.ads.gmascar.GMA;
import com.unity3d.services.core.configuration.IExperiments;
/* loaded from: classes4.dex */
public class BiddingManagerFactory {
private static BiddingManagerFactory instance;
private BiddingManagerFactory() {
}
public static BiddingManagerFactory getInstance() {
if (instance == null) {
instance = new BiddingManagerFactory();
}
return instance;
}
public BiddingBaseManager createManager(IUnityAdsTokenListener iUnityAdsTokenListener, IExperiments iExperiments) {
if (GMA.getInstance().hasSCARBiddingSupport()) {
return getExperiment(iUnityAdsTokenListener, iExperiments);
}
return new BiddingDisabledManager(iUnityAdsTokenListener);
}
private BiddingBaseManager getExperiment(IUnityAdsTokenListener iUnityAdsTokenListener, IExperiments iExperiments) {
if (iExperiments == null || iExperiments.getScarBiddingManager() == null) {
return new BiddingDisabledManager(iUnityAdsTokenListener);
}
if (AnonymousClass1.$SwitchMap$com$unity3d$services$ads$gmascar$managers$ScarBiddingManagerType[ScarBiddingManagerType.fromName(iExperiments.getScarBiddingManager()).ordinal()] == 1) {
return new BiddingEagerManager(iExperiments.isScarBannerHbEnabled(), iUnityAdsTokenListener);
}
return new BiddingDisabledManager(iUnityAdsTokenListener);
}
/* renamed from: com.unity3d.services.ads.gmascar.managers.BiddingManagerFactory$1, reason: invalid class name */
public static /* synthetic */ class AnonymousClass1 {
static final /* synthetic */ int[] $SwitchMap$com$unity3d$services$ads$gmascar$managers$ScarBiddingManagerType;
static {
int[] iArr = new int[ScarBiddingManagerType.values().length];
$SwitchMap$com$unity3d$services$ads$gmascar$managers$ScarBiddingManagerType = iArr;
try {
iArr[ScarBiddingManagerType.EAGER.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
$SwitchMap$com$unity3d$services$ads$gmascar$managers$ScarBiddingManagerType[ScarBiddingManagerType.DISABLED.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
}
}
}

View File

@@ -0,0 +1,10 @@
package com.unity3d.services.ads.gmascar.managers;
import com.unity3d.ads.IUnityAdsTokenListener;
/* loaded from: classes4.dex */
public interface IBiddingManager extends IUnityAdsTokenListener {
String getFormattedToken(String str);
String getTokenIdentifier();
}

View File

@@ -0,0 +1,30 @@
package com.unity3d.services.ads.gmascar.managers;
/* loaded from: classes4.dex */
public enum ScarBiddingManagerType {
DISABLED("dis"),
EAGER("eag");
private final String name;
public String getName() {
return this.name;
}
ScarBiddingManagerType(String str) {
this.name = str;
}
public static ScarBiddingManagerType fromName(String str) {
int hashCode = str.hashCode();
return (hashCode != 99470 && hashCode == 100171 && str.equals("eag")) ? EAGER : DISABLED;
}
public static class Constants {
private static final String DIS = "dis";
private static final String EAG = "eag";
private Constants() {
}
}
}

View File

@@ -0,0 +1,55 @@
package com.unity3d.services.ads.gmascar.models;
import android.text.TextUtils;
import com.unity3d.services.ads.gmascar.utils.ScarConstants;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes4.dex */
public class BiddingSignals {
private final String bannerSignal;
private final String interstitialSignal;
private final String rvSignal;
public String getBannerSignal() {
return this.bannerSignal;
}
public String getInterstitialSignal() {
return this.interstitialSignal;
}
public String getRvSignal() {
return this.rvSignal;
}
public BiddingSignals(String str, String str2, String str3) {
this.rvSignal = str;
this.interstitialSignal = str2;
this.bannerSignal = str3;
}
public BiddingSignals(String str, String str2) {
this.rvSignal = str;
this.interstitialSignal = str2;
this.bannerSignal = "";
}
public boolean isEmpty() {
return TextUtils.isEmpty(getRvSignal()) && TextUtils.isEmpty(getInterstitialSignal()) && TextUtils.isEmpty(getBannerSignal());
}
public Map<String, String> getMap() {
HashMap hashMap = new HashMap();
if (!TextUtils.isEmpty(getRvSignal())) {
hashMap.put("rv", getRvSignal());
}
if (!TextUtils.isEmpty(getInterstitialSignal())) {
hashMap.put(ScarConstants.IN_SIGNAL_KEY, getInterstitialSignal());
}
if (!TextUtils.isEmpty(getBannerSignal())) {
hashMap.put(ScarConstants.BN_SIGNAL_KEY, getBannerSignal());
}
return hashMap;
}
}

View File

@@ -0,0 +1,27 @@
package com.unity3d.services.ads.gmascar.utils;
import com.unity3d.scar.adapter.common.GMAEvent;
import com.unity3d.services.core.webview.WebViewEventCategory;
import com.unity3d.services.core.webview.bridge.IEventSender;
import com.unity3d.services.core.webview.bridge.SharedInstances;
/* loaded from: classes4.dex */
public class GMAEventSender {
private final IEventSender _eventSender;
public GMAEventSender() {
this(SharedInstances.INSTANCE.getWebViewEventSender());
}
public GMAEventSender(IEventSender iEventSender) {
this._eventSender = iEventSender;
}
public void send(GMAEvent gMAEvent, Object... objArr) {
this._eventSender.sendEvent(WebViewEventCategory.GMA, gMAEvent, objArr);
}
public void sendVersion(String str) {
this._eventSender.sendEvent(WebViewEventCategory.INIT_GMA, GMAEvent.VERSION, str);
}
}

View File

@@ -0,0 +1,13 @@
package com.unity3d.services.ads.gmascar.utils;
/* loaded from: classes4.dex */
public class ScarConstants {
public static final String BN_SIGNAL_KEY = "bn";
public static final String IDFI_KEY = "idfi";
public static final String IN_SIGNAL_KEY = "in";
public static final String RV_SIGNAL_KEY = "rv";
public static final String SCAR_PRD_BIDDING_ENDPOINT = "https://scar.unityads.unity3d.com/v1/capture-scar-signals";
public static final String SCAR_TOKEN_IDENTIFIER_KEY = "scarId";
public static final String TOKEN_ID_KEY = "tid";
public static final String TOKEN_WITH_SCAR_FORMAT = "%s:%s";
}

View File

@@ -0,0 +1,28 @@
package com.unity3d.services.ads.gmascar.utils;
import com.ironsource.nb;
import com.unity3d.services.ads.gmascar.models.BiddingSignals;
import com.unity3d.services.core.device.Device;
import com.unity3d.services.core.misc.Utilities;
import com.unity3d.services.core.network.core.HttpClient;
import com.unity3d.services.core.network.model.HttpRequest;
import com.unity3d.services.core.network.model.RequestType;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.HashMap;
import org.json.JSONObject;
/* loaded from: classes4.dex */
public class ScarRequestHandler {
private final HttpClient httpClient = (HttpClient) Utilities.getService(HttpClient.class);
public void makeUploadRequest(String str, BiddingSignals biddingSignals, String str2) throws Exception {
HashMap hashMap = new HashMap();
hashMap.put("Content-Type", Collections.singletonList(nb.L));
HashMap hashMap2 = new HashMap();
hashMap2.put(ScarConstants.IDFI_KEY, Device.getIdfi());
hashMap2.put(ScarConstants.TOKEN_ID_KEY, str);
hashMap2.putAll(biddingSignals.getMap());
this.httpClient.executeBlocking(new HttpRequest(str2, "", RequestType.POST, new JSONObject(hashMap2).toString().getBytes(StandardCharsets.UTF_8), hashMap));
}
}