Files
rr3-apk/decompiled/sources/com/unity3d/services/ads/adunit/AdUnitActivityController.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

447 lines
19 KiB
Java

package com.unity3d.services.ads.adunit;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;
import androidx.core.view.ViewCompat;
import com.unity3d.services.ads.api.AdUnit;
import com.unity3d.services.core.api.Intent;
import com.unity3d.services.core.log.DeviceLog;
import com.unity3d.services.core.misc.ViewUtilities;
import com.unity3d.services.core.webview.WebViewApp;
import com.unity3d.services.core.webview.WebViewEventCategory;
import com.unity3d.services.core.webview.bridge.IEventSender;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.json.JSONArray;
/* loaded from: classes4.dex */
public class AdUnitActivityController {
private int _activityId;
private final IAdUnitActivity _adUnitActivity;
private final IAdUnitViewHandlerFactory _adUnitViewHandlerFactory;
private int _displayCutoutMode;
private final IEventSender _eventSender;
boolean _keepScreenOn;
private ArrayList<Integer> _keyEventList;
protected AdUnitRelativeLayout _layout;
private int _orientation = -1;
private int _systemUiVisibility;
private Map<String, IAdUnitViewHandler> _viewHandlers;
private String[] _views;
public AdUnitRelativeLayout getLayout() {
return this._layout;
}
public String[] getViews() {
return this._views;
}
public void setKeyEventList(ArrayList<Integer> arrayList) {
this._keyEventList = arrayList;
}
public AdUnitActivityController(IAdUnitActivity iAdUnitActivity, IEventSender iEventSender, IAdUnitViewHandlerFactory iAdUnitViewHandlerFactory) {
this._adUnitActivity = iAdUnitActivity;
this._eventSender = iEventSender;
this._adUnitViewHandlerFactory = iAdUnitViewHandlerFactory;
}
public void onCreate(Bundle bundle) {
AdUnitEvent adUnitEvent;
if (!this._eventSender.canSend()) {
DeviceLog.error("Unity Ads web app is null, closing Unity Ads activity from onCreate");
this._adUnitActivity.finish();
return;
}
AdUnit.setAdUnitActivity(this._adUnitActivity);
Intent.setActiveActivity(this._adUnitActivity.getActivity());
createLayout();
ViewUtilities.removeViewFromParent(this._layout);
IAdUnitActivity iAdUnitActivity = this._adUnitActivity;
AdUnitRelativeLayout adUnitRelativeLayout = this._layout;
iAdUnitActivity.addContentView(adUnitRelativeLayout, adUnitRelativeLayout.getLayoutParams());
if (bundle == null) {
this._views = this._adUnitActivity.getIntent().getStringArrayExtra(AdUnitActivity.EXTRA_VIEWS);
this._keyEventList = this._adUnitActivity.getIntent().getIntegerArrayListExtra(AdUnitActivity.EXTRA_KEY_EVENT_LIST);
if (this._adUnitActivity.getIntent().hasExtra("orientation")) {
this._orientation = this._adUnitActivity.getIntent().getIntExtra("orientation", -1);
}
if (this._adUnitActivity.getIntent().hasExtra(AdUnitActivity.EXTRA_SYSTEM_UI_VISIBILITY)) {
this._systemUiVisibility = this._adUnitActivity.getIntent().getIntExtra(AdUnitActivity.EXTRA_SYSTEM_UI_VISIBILITY, 0);
}
if (this._adUnitActivity.getIntent().hasExtra(AdUnitActivity.EXTRA_ACTIVITY_ID)) {
this._activityId = this._adUnitActivity.getIntent().getIntExtra(AdUnitActivity.EXTRA_ACTIVITY_ID, -1);
}
if (this._adUnitActivity.getIntent().hasExtra(AdUnitActivity.EXTRA_DISPLAY_CUTOUT_MODE)) {
this._displayCutoutMode = this._adUnitActivity.getIntent().getIntExtra(AdUnitActivity.EXTRA_DISPLAY_CUTOUT_MODE, 0);
}
adUnitEvent = AdUnitEvent.ON_CREATE;
} else {
this._views = bundle.getStringArray(AdUnitActivity.EXTRA_VIEWS);
this._orientation = bundle.getInt("orientation", -1);
this._systemUiVisibility = bundle.getInt(AdUnitActivity.EXTRA_SYSTEM_UI_VISIBILITY, 0);
this._keyEventList = bundle.getIntegerArrayList(AdUnitActivity.EXTRA_KEY_EVENT_LIST);
this._keepScreenOn = bundle.getBoolean(AdUnitActivity.EXTRA_KEEP_SCREEN_ON);
this._activityId = bundle.getInt(AdUnitActivity.EXTRA_ACTIVITY_ID, -1);
this._displayCutoutMode = bundle.getInt(AdUnitActivity.EXTRA_DISPLAY_CUTOUT_MODE, 0);
setKeepScreenOn(this._keepScreenOn);
adUnitEvent = AdUnitEvent.ON_RESTORE;
}
setOrientation(this._orientation);
setSystemUiVisibility(this._systemUiVisibility);
setLayoutInDisplayCutoutMode(this._displayCutoutMode);
String[] strArr = this._views;
if (strArr != null) {
for (String str : strArr) {
IAdUnitViewHandler viewHandler = getViewHandler(str);
if (viewHandler != null) {
viewHandler.onCreate(this._adUnitActivity, bundle);
}
}
}
this._eventSender.sendEvent(WebViewEventCategory.ADUNIT, adUnitEvent, Integer.valueOf(this._activityId));
}
public void onStart() {
if (!this._eventSender.canSend()) {
if (this._adUnitActivity.isFinishing()) {
return;
}
DeviceLog.error("Unity Ads web app is null, closing Unity Ads activity from onStart");
this._adUnitActivity.finish();
return;
}
Map<String, IAdUnitViewHandler> map = this._viewHandlers;
if (map != null) {
for (Map.Entry<String, IAdUnitViewHandler> entry : map.entrySet()) {
if (entry.getValue() != null) {
entry.getValue().onStart(this._adUnitActivity);
}
}
}
this._eventSender.sendEvent(WebViewEventCategory.ADUNIT, AdUnitEvent.ON_START, Integer.valueOf(this._activityId));
}
public void onStop() {
if (!this._eventSender.canSend()) {
if (this._adUnitActivity.isFinishing()) {
return;
}
DeviceLog.error("Unity Ads web app is null, closing Unity Ads activity from onStop");
this._adUnitActivity.finish();
return;
}
Map<String, IAdUnitViewHandler> map = this._viewHandlers;
if (map != null) {
for (Map.Entry<String, IAdUnitViewHandler> entry : map.entrySet()) {
if (entry.getValue() != null) {
entry.getValue().onStop(this._adUnitActivity);
}
}
}
this._eventSender.sendEvent(WebViewEventCategory.ADUNIT, AdUnitEvent.ON_STOP, Integer.valueOf(this._activityId));
}
public void onResume() {
if (!this._eventSender.canSend()) {
if (this._adUnitActivity.isFinishing()) {
return;
}
DeviceLog.error("Unity Ads web app is null, closing Unity Ads activity from onResume");
this._adUnitActivity.finish();
return;
}
setViews(this._views);
Map<String, IAdUnitViewHandler> map = this._viewHandlers;
if (map != null) {
for (Map.Entry<String, IAdUnitViewHandler> entry : map.entrySet()) {
if (entry.getValue() != null) {
entry.getValue().onResume(this._adUnitActivity);
}
}
}
this._eventSender.sendEvent(WebViewEventCategory.ADUNIT, AdUnitEvent.ON_RESUME, Integer.valueOf(this._activityId));
}
public void onPause() {
if (!this._eventSender.canSend()) {
if (this._adUnitActivity.isFinishing()) {
return;
}
DeviceLog.error("Unity Ads web app is null, closing Unity Ads activity from onPause");
this._adUnitActivity.finish();
return;
}
if (WebViewApp.getCurrentApp().getWebView() == null) {
DeviceLog.warning("Unity Ads web view is null, from onPause");
} else if (this._adUnitActivity.isFinishing()) {
ViewUtilities.removeViewFromParent(WebViewApp.getCurrentApp().getWebView());
}
Map<String, IAdUnitViewHandler> map = this._viewHandlers;
if (map != null) {
for (Map.Entry<String, IAdUnitViewHandler> entry : map.entrySet()) {
if (entry.getValue() != null) {
entry.getValue().onPause(this._adUnitActivity);
}
}
}
this._eventSender.sendEvent(WebViewEventCategory.ADUNIT, AdUnitEvent.ON_PAUSE, Boolean.valueOf(this._adUnitActivity.isFinishing()), Integer.valueOf(this._activityId));
}
public void onSaveInstanceState(Bundle bundle) {
bundle.putInt("orientation", this._orientation);
bundle.putInt(AdUnitActivity.EXTRA_SYSTEM_UI_VISIBILITY, this._systemUiVisibility);
bundle.putIntegerArrayList(AdUnitActivity.EXTRA_KEY_EVENT_LIST, this._keyEventList);
bundle.putBoolean(AdUnitActivity.EXTRA_KEEP_SCREEN_ON, this._keepScreenOn);
bundle.putStringArray(AdUnitActivity.EXTRA_VIEWS, this._views);
bundle.putInt(AdUnitActivity.EXTRA_ACTIVITY_ID, this._activityId);
}
public void onDestroy() {
if (!this._eventSender.canSend()) {
if (this._adUnitActivity.isFinishing()) {
return;
}
DeviceLog.error("Unity Ads web app is null, closing Unity Ads activity from onDestroy");
this._adUnitActivity.finish();
return;
}
this._eventSender.sendEvent(WebViewEventCategory.ADUNIT, AdUnitEvent.ON_DESTROY, Boolean.valueOf(this._adUnitActivity.isFinishing()), Integer.valueOf(this._activityId));
Map<String, IAdUnitViewHandler> map = this._viewHandlers;
if (map != null) {
for (Map.Entry<String, IAdUnitViewHandler> entry : map.entrySet()) {
if (entry.getValue() != null) {
entry.getValue().onDestroy(this._adUnitActivity);
}
}
}
if (AdUnit.getCurrentAdUnitActivityId() == this._activityId) {
AdUnit.setAdUnitActivity(null);
}
Intent.removeActiveActivity(this._adUnitActivity.getActivity());
}
public boolean onKeyDown(int i, KeyEvent keyEvent) {
ArrayList<Integer> arrayList = this._keyEventList;
if (arrayList == null || !arrayList.contains(Integer.valueOf(i))) {
return false;
}
this._eventSender.sendEvent(WebViewEventCategory.ADUNIT, AdUnitEvent.KEY_DOWN, Integer.valueOf(i), Long.valueOf(keyEvent.getEventTime()), Long.valueOf(keyEvent.getDownTime()), Integer.valueOf(keyEvent.getRepeatCount()), Integer.valueOf(this._activityId));
return true;
}
public void onWindowFocusChanged(boolean z) {
if (z) {
this._eventSender.sendEvent(WebViewEventCategory.ADUNIT, AdUnitEvent.ON_FOCUS_GAINED, Integer.valueOf(this._activityId));
} else {
this._eventSender.sendEvent(WebViewEventCategory.ADUNIT, AdUnitEvent.ON_FOCUS_LOST, Integer.valueOf(this._activityId));
}
}
public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
try {
JSONArray jSONArray = new JSONArray();
JSONArray jSONArray2 = new JSONArray();
for (String str : strArr) {
jSONArray.put(str);
}
for (int i2 : iArr) {
jSONArray2.put(i2);
}
this._eventSender.sendEvent(WebViewEventCategory.PERMISSIONS, PermissionsEvent.PERMISSIONS_RESULT, Integer.valueOf(i), jSONArray, jSONArray2);
} catch (Exception e) {
this._eventSender.sendEvent(WebViewEventCategory.PERMISSIONS, PermissionsEvent.PERMISSIONS_ERROR, e.getMessage());
}
}
/* JADX WARN: Removed duplicated region for block: B:6:0x0025 */
/* JADX WARN: Removed duplicated region for block: B:9:? A[RETURN, SYNTHETIC] */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public void setViewFrame(java.lang.String r3, int r4, int r5, int r6, int r7) {
/*
r2 = this;
com.unity3d.services.ads.adunit.IAdUnitViewHandler r0 = r2.getViewHandler(r3)
java.lang.String r1 = "adunit"
boolean r3 = r3.equals(r1)
r1 = 0
if (r3 == 0) goto L1b
android.widget.FrameLayout$LayoutParams r3 = new android.widget.FrameLayout$LayoutParams
r3.<init>(r6, r7)
r3.setMargins(r4, r5, r1, r1)
com.unity3d.services.ads.adunit.AdUnitRelativeLayout r0 = r2._layout
r0.setLayoutParams(r3)
goto L22
L1b:
if (r0 == 0) goto L22
android.view.View r3 = r0.getView()
goto L23
L22:
r3 = 0
L23:
if (r3 == 0) goto L30
android.widget.RelativeLayout$LayoutParams r0 = new android.widget.RelativeLayout$LayoutParams
r0.<init>(r6, r7)
r0.setMargins(r4, r5, r1, r1)
r3.setLayoutParams(r0)
L30:
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.unity3d.services.ads.adunit.AdUnitActivityController.setViewFrame(java.lang.String, int, int, int, int):void");
}
public Map<String, Integer> getViewFrame(String str) {
IAdUnitViewHandler viewHandler = getViewHandler(str);
if (str.equals("adunit")) {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) this._layout.getLayoutParams();
HashMap hashMap = new HashMap();
hashMap.put("x", Integer.valueOf(layoutParams.leftMargin));
hashMap.put("y", Integer.valueOf(layoutParams.topMargin));
hashMap.put("width", Integer.valueOf(this._layout.getWidth()));
hashMap.put("height", Integer.valueOf(this._layout.getHeight()));
return hashMap;
}
View view = viewHandler != null ? viewHandler.getView() : null;
if (view == null) {
return null;
}
RelativeLayout.LayoutParams layoutParams2 = (RelativeLayout.LayoutParams) view.getLayoutParams();
HashMap hashMap2 = new HashMap();
hashMap2.put("x", Integer.valueOf(layoutParams2.leftMargin));
hashMap2.put("y", Integer.valueOf(layoutParams2.topMargin));
hashMap2.put("width", Integer.valueOf(view.getWidth()));
hashMap2.put("height", Integer.valueOf(view.getHeight()));
return hashMap2;
}
public void setViews(String[] strArr) {
if (strArr == null) {
strArr = new String[0];
}
ArrayList arrayList = new ArrayList(Arrays.asList(strArr));
if (this._views == null) {
this._views = new String[0];
}
ArrayList arrayList2 = new ArrayList(Arrays.asList(this._views));
arrayList2.removeAll(arrayList);
Iterator it = arrayList2.iterator();
while (it.hasNext()) {
getViewHandler((String) it.next()).destroy();
}
this._views = strArr;
for (String str : strArr) {
if (str != null) {
IAdUnitViewHandler viewHandler = getViewHandler(str);
viewHandler.create(this._adUnitActivity);
if (!handleViewPlacement(viewHandler.getView())) {
return;
}
}
}
}
private boolean handleViewPlacement(View view) {
if (view == null) {
this._adUnitActivity.finish();
DeviceLog.error("Could not place view because it is null, finishing activity");
return false;
}
if (view.getParent() != null && view.getParent().equals(this._layout)) {
this._layout.bringChildToFront(view);
return true;
}
ViewUtilities.removeViewFromParent(view);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(-1, -1);
layoutParams.addRule(13);
layoutParams.setMargins(0, 0, 0, 0);
view.setPadding(0, 0, 0, 0);
this._layout.addView(view, layoutParams);
return true;
}
public void setOrientation(int i) {
this._orientation = i;
this._adUnitActivity.setRequestedOrientation(i);
}
public boolean setKeepScreenOn(boolean z) {
this._keepScreenOn = z;
if (this._adUnitActivity.getWindow() == null) {
return false;
}
if (z) {
this._adUnitActivity.getWindow().addFlags(128);
return true;
}
this._adUnitActivity.getWindow().clearFlags(128);
return true;
}
public boolean setSystemUiVisibility(int i) {
this._systemUiVisibility = i;
try {
this._adUnitActivity.getWindow().getDecorView().setSystemUiVisibility(i);
return true;
} catch (Exception e) {
DeviceLog.exception("Error while setting SystemUIVisibility", e);
return false;
}
}
public IAdUnitViewHandler getViewHandler(String str) {
Map<String, IAdUnitViewHandler> map = this._viewHandlers;
if (map != null && map.containsKey(str)) {
return this._viewHandlers.get(str);
}
IAdUnitViewHandler createViewHandler = createViewHandler(str);
if (createViewHandler != null) {
if (this._viewHandlers == null) {
this._viewHandlers = new HashMap();
}
this._viewHandlers.put(str, createViewHandler);
}
return createViewHandler;
}
public void setLayoutInDisplayCutoutMode(int i) {
this._displayCutoutMode = i;
if (Build.VERSION.SDK_INT < 28 || this._adUnitActivity.getWindow() == null) {
return;
}
WindowManager.LayoutParams attributes = this._adUnitActivity.getWindow().getAttributes();
try {
attributes.getClass().getField("layoutInDisplayCutoutMode").setInt(attributes, i);
} catch (IllegalAccessException e) {
DeviceLog.debug("Error setting layoutInDisplayCutoutMode", e);
} catch (NoSuchFieldException e2) {
DeviceLog.debug("Error getting layoutInDisplayCutoutMode", e2);
}
}
public void createLayout() {
if (this._layout != null) {
return;
}
AdUnitRelativeLayout adUnitRelativeLayout = new AdUnitRelativeLayout(this._adUnitActivity.getContext());
this._layout = adUnitRelativeLayout;
adUnitRelativeLayout.setLayoutParams(new RelativeLayout.LayoutParams(-1, -1));
ViewUtilities.setBackground(this._layout, new ColorDrawable(ViewCompat.MEASURED_STATE_MASK));
}
private IAdUnitViewHandler createViewHandler(String str) {
return this._adUnitViewHandlerFactory.createViewHandler(str);
}
}