jimu-decompiled/sources/com/unity3d/ads/api/AdUnit.java
2025-05-13 19:24:51 +02:00

453 lines
20 KiB
Java

package com.unity3d.ads.api;
import android.util.SparseArray;
import android.util.SparseIntArray;
import com.baidu.cloud.media.player.misc.IMediaFormat;
import com.tencent.open.SocialConstants;
import com.unity3d.ads.adunit.AdUnitActivity;
import com.unity3d.ads.adunit.AdUnitError;
import com.unity3d.ads.adunit.AdUnitMotionEvent;
import com.unity3d.ads.adunit.AdUnitSoftwareActivity;
import com.unity3d.ads.adunit.AdUnitTransparentActivity;
import com.unity3d.ads.adunit.AdUnitTransparentSoftwareActivity;
import com.unity3d.ads.log.DeviceLog;
import com.unity3d.ads.misc.Utilities;
import com.unity3d.ads.properties.ClientProperties;
import com.unity3d.ads.webview.bridge.WebViewCallback;
import com.unity3d.ads.webview.bridge.WebViewExposed;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes2.dex */
public class AdUnit {
private static AdUnitActivity _adUnitActivity = null;
private static int _currentActivityId = -1;
private AdUnit() {
}
@WebViewExposed
public static void clearMotionEventCapture(WebViewCallback webViewCallback) {
if (getAdUnitActivity() == null) {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
} else if (getAdUnitActivity().getLayout() == null) {
webViewCallback.error(AdUnitError.LAYOUT_NULL, new Object[0]);
} else {
getAdUnitActivity().getLayout().clearCapture();
webViewCallback.invoke(new Object[0]);
}
}
@WebViewExposed
public static void close(WebViewCallback webViewCallback) {
if (getAdUnitActivity() == null) {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
} else {
getAdUnitActivity().finish();
webViewCallback.invoke(new Object[0]);
}
}
@WebViewExposed
public static void endMotionEventCapture(WebViewCallback webViewCallback) {
if (getAdUnitActivity() == null) {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
} else if (getAdUnitActivity().getLayout() == null) {
webViewCallback.error(AdUnitError.LAYOUT_NULL, new Object[0]);
} else {
getAdUnitActivity().getLayout().endCapture();
webViewCallback.invoke(new Object[0]);
}
}
public static AdUnitActivity getAdUnitActivity() {
return _adUnitActivity;
}
public static int getCurrentAdUnitActivityId() {
return _currentActivityId;
}
@WebViewExposed
public static void getCurrentMotionEventCount(WebViewCallback webViewCallback) {
if (getAdUnitActivity() == null) {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
} else if (getAdUnitActivity().getLayout() != null) {
webViewCallback.invoke(Integer.valueOf(getAdUnitActivity().getLayout().getCurrentEventCount()));
} else {
webViewCallback.error(AdUnitError.LAYOUT_NULL, new Object[0]);
}
}
private static ArrayList<Integer> getKeyEventList(JSONArray jSONArray) throws JSONException {
ArrayList<Integer> arrayList = new ArrayList<>();
int i = 0;
while (true) {
Integer valueOf = Integer.valueOf(i);
if (valueOf.intValue() >= jSONArray.length()) {
return arrayList;
}
arrayList.add(Integer.valueOf(jSONArray.getInt(valueOf.intValue())));
i = valueOf.intValue() + 1;
}
}
@WebViewExposed
public static void getMotionEventCount(JSONArray jSONArray, WebViewCallback webViewCallback) {
ArrayList<Integer> arrayList = new ArrayList<>();
for (int i = 0; i < jSONArray.length(); i++) {
try {
arrayList.add(Integer.valueOf(jSONArray.getInt(i)));
} catch (Exception e) {
DeviceLog.exception("Error retrieving int from eventTypes", e);
}
}
if (getAdUnitActivity() == null) {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
return;
}
if (getAdUnitActivity().getLayout() == null) {
webViewCallback.error(AdUnitError.LAYOUT_NULL, new Object[0]);
return;
}
if (getAdUnitActivity().getLayout().getCurrentEventCount() >= getAdUnitActivity().getLayout().getMaxEventCount()) {
webViewCallback.error(AdUnitError.MAX_MOTION_EVENT_COUNT_REACHED, new Object[0]);
return;
}
SparseIntArray eventCount = getAdUnitActivity().getLayout().getEventCount(arrayList);
JSONObject jSONObject = new JSONObject();
for (int i2 = 0; i2 < eventCount.size(); i2++) {
int keyAt = eventCount.keyAt(i2);
try {
jSONObject.put(Integer.toString(keyAt), eventCount.get(keyAt));
} catch (Exception e2) {
DeviceLog.exception("Error building response JSON", e2);
}
}
webViewCallback.invoke(jSONObject);
}
@WebViewExposed
public static void getMotionEventData(JSONObject jSONObject, WebViewCallback webViewCallback) {
Iterator<String> keys = jSONObject.keys();
SparseArray<ArrayList<Integer>> sparseArray = new SparseArray<>();
while (true) {
if (!keys.hasNext()) {
break;
}
String next = keys.next();
int parseInt = Integer.parseInt(next);
if (sparseArray.get(parseInt) == null) {
sparseArray.put(parseInt, new ArrayList<>());
}
JSONArray jSONArray = null;
try {
jSONArray = jSONObject.getJSONArray(next);
} catch (Exception e) {
DeviceLog.exception("Couldn't fetch keyIndices", e);
}
if (jSONArray != null) {
for (int i = 0; i < jSONArray.length(); i++) {
try {
sparseArray.get(parseInt).add(Integer.valueOf(jSONArray.getInt(i)));
} catch (Exception e2) {
DeviceLog.exception("Couldn't add value to requested infos", e2);
}
}
}
}
if (getAdUnitActivity() == null) {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
return;
}
if (getAdUnitActivity().getLayout() == null) {
webViewCallback.error(AdUnitError.LAYOUT_NULL, new Object[0]);
return;
}
if (getAdUnitActivity().getLayout().getCurrentEventCount() >= getAdUnitActivity().getLayout().getMaxEventCount()) {
webViewCallback.error(AdUnitError.MAX_MOTION_EVENT_COUNT_REACHED, new Object[0]);
return;
}
SparseArray<SparseArray<AdUnitMotionEvent>> events = getAdUnitActivity().getLayout().getEvents(sparseArray);
JSONObject jSONObject2 = new JSONObject();
for (int i2 = 0; i2 < events.size(); i2++) {
int keyAt = events.keyAt(i2);
SparseArray<AdUnitMotionEvent> sparseArray2 = events.get(keyAt);
JSONObject jSONObject3 = new JSONObject();
for (int i3 = 0; i3 < sparseArray2.size(); i3++) {
JSONObject jSONObject4 = new JSONObject();
int keyAt2 = sparseArray2.keyAt(i3);
AdUnitMotionEvent adUnitMotionEvent = sparseArray2.get(keyAt2);
try {
jSONObject4.put("action", adUnitMotionEvent.getAction());
jSONObject4.put("isObscured", adUnitMotionEvent.isObscured());
jSONObject4.put("toolType", adUnitMotionEvent.getToolType());
jSONObject4.put(SocialConstants.PARAM_SOURCE, adUnitMotionEvent.getSource());
jSONObject4.put("deviceId", adUnitMotionEvent.getDeviceId());
jSONObject4.put("x", adUnitMotionEvent.getX());
jSONObject4.put("y", adUnitMotionEvent.getY());
jSONObject4.put("eventTime", adUnitMotionEvent.getEventTime());
jSONObject4.put("pressure", adUnitMotionEvent.getPressure());
jSONObject4.put("size", adUnitMotionEvent.getSize());
jSONObject3.put(Integer.toString(keyAt2), jSONObject4);
} catch (Exception e3) {
DeviceLog.debug("Couldn't construct event info", e3);
}
}
try {
jSONObject2.put(Integer.toString(keyAt), jSONObject3);
} catch (Exception e4) {
DeviceLog.debug("Couldn't construct info object", e4);
}
}
webViewCallback.invoke(jSONObject2);
}
@WebViewExposed
public static void getOrientation(WebViewCallback webViewCallback) {
if (getAdUnitActivity() != null) {
webViewCallback.invoke(Integer.valueOf(getAdUnitActivity().getRequestedOrientation()));
} else {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
}
}
@WebViewExposed
public static void getViewFrame(String str, WebViewCallback webViewCallback) {
if (getAdUnitActivity() == null) {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
} else if (getAdUnitActivity().getViewFrame(str) == null) {
webViewCallback.error(AdUnitError.UNKNOWN_VIEW, new Object[0]);
} else {
Map<String, Integer> viewFrame = getAdUnitActivity().getViewFrame(str);
webViewCallback.invoke(viewFrame.get("x"), viewFrame.get("y"), viewFrame.get(IMediaFormat.KEY_WIDTH), viewFrame.get(IMediaFormat.KEY_HEIGHT));
}
}
/* JADX INFO: Access modifiers changed from: private */
public static String[] getViewList(JSONArray jSONArray) throws JSONException {
String[] strArr = new String[jSONArray.length()];
for (int i = 0; i < jSONArray.length(); i++) {
strArr[i] = jSONArray.getString(i);
}
return strArr;
}
@WebViewExposed
public static void getViews(WebViewCallback webViewCallback) {
if (getAdUnitActivity() != null) {
webViewCallback.invoke(new JSONArray((Collection) Arrays.asList(getAdUnitActivity().getViews())));
} else {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
}
}
@WebViewExposed
public static void open(Integer num, JSONArray jSONArray, Integer num2, WebViewCallback webViewCallback) {
open(num, jSONArray, num2, null, webViewCallback);
}
public static void setAdUnitActivity(AdUnitActivity adUnitActivity) {
_adUnitActivity = adUnitActivity;
}
public static void setCurrentAdUnitActivityId(int i) {
_currentActivityId = i;
}
@WebViewExposed
public static void setKeepScreenOn(final Boolean bool, WebViewCallback webViewCallback) {
Utilities.runOnUiThread(new Runnable() { // from class: com.unity3d.ads.api.AdUnit.3
@Override // java.lang.Runnable
public void run() {
if (AdUnit.getAdUnitActivity() != null) {
AdUnit.getAdUnitActivity().setKeepScreenOn(bool.booleanValue());
}
}
});
if (getAdUnitActivity() != null) {
webViewCallback.invoke(new Object[0]);
} else {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
}
}
@WebViewExposed
public static void setKeyEventList(JSONArray jSONArray, WebViewCallback webViewCallback) {
if (getAdUnitActivity() == null) {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
return;
}
try {
getAdUnitActivity().setKeyEventList(getKeyEventList(jSONArray));
webViewCallback.invoke(jSONArray);
} catch (Exception e) {
DeviceLog.exception("Error parsing views from viewList", e);
webViewCallback.error(AdUnitError.CORRUPTED_KEYEVENTLIST, jSONArray, e.getMessage());
}
}
@WebViewExposed
public static void setOrientation(final Integer num, WebViewCallback webViewCallback) {
Utilities.runOnUiThread(new Runnable() { // from class: com.unity3d.ads.api.AdUnit.2
@Override // java.lang.Runnable
public void run() {
if (AdUnit.getAdUnitActivity() != null) {
AdUnit.getAdUnitActivity().setOrientation(num.intValue());
}
}
});
if (getAdUnitActivity() != null) {
webViewCallback.invoke(num);
} else {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
}
}
@WebViewExposed
public static void setSystemUiVisibility(final Integer num, WebViewCallback webViewCallback) {
Utilities.runOnUiThread(new Runnable() { // from class: com.unity3d.ads.api.AdUnit.4
@Override // java.lang.Runnable
public void run() {
if (AdUnit.getAdUnitActivity() != null) {
AdUnit.getAdUnitActivity().setSystemUiVisibility(num.intValue());
}
}
});
if (getAdUnitActivity() != null) {
webViewCallback.invoke(num);
} else {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
}
}
@WebViewExposed
public static void setViewFrame(final String str, final Integer num, final Integer num2, final Integer num3, final Integer num4, WebViewCallback webViewCallback) {
Utilities.runOnUiThread(new Runnable() { // from class: com.unity3d.ads.api.AdUnit.5
@Override // java.lang.Runnable
public void run() {
if (AdUnit.getAdUnitActivity() != null) {
AdUnit.getAdUnitActivity().setViewFrame(str, num.intValue(), num2.intValue(), num3.intValue(), num4.intValue());
}
}
});
if (getAdUnitActivity() != null) {
webViewCallback.invoke(new Object[0]);
} else {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
}
}
@WebViewExposed
public static void setViews(final JSONArray jSONArray, WebViewCallback webViewCallback) {
boolean z;
try {
getViewList(jSONArray);
z = false;
} catch (JSONException unused) {
webViewCallback.error(AdUnitError.CORRUPTED_VIEWLIST, jSONArray);
z = true;
}
if (!z) {
Utilities.runOnUiThread(new Runnable() { // from class: com.unity3d.ads.api.AdUnit.1
@Override // java.lang.Runnable
public void run() {
if (AdUnit.getAdUnitActivity() != null) {
try {
AdUnit.getAdUnitActivity().setViews(AdUnit.getViewList(jSONArray));
} catch (Exception e) {
DeviceLog.exception("Corrupted viewlist", e);
}
}
}
});
}
if (getAdUnitActivity() != null) {
webViewCallback.invoke(jSONArray);
} else {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
}
}
@WebViewExposed
public static void startMotionEventCapture(Integer num, WebViewCallback webViewCallback) {
if (getAdUnitActivity() == null) {
webViewCallback.error(AdUnitError.ADUNIT_NULL, new Object[0]);
} else if (getAdUnitActivity().getLayout() == null) {
webViewCallback.error(AdUnitError.LAYOUT_NULL, new Object[0]);
} else {
getAdUnitActivity().getLayout().startCapture(num.intValue());
webViewCallback.invoke(new Object[0]);
}
}
@WebViewExposed
public static void open(Integer num, JSONArray jSONArray, Integer num2, JSONArray jSONArray2, WebViewCallback webViewCallback) {
open(num, jSONArray, num2, jSONArray2, 0, true, webViewCallback);
}
@WebViewExposed
public static void open(Integer num, JSONArray jSONArray, Integer num2, JSONArray jSONArray2, Integer num3, Boolean bool, WebViewCallback webViewCallback) {
open(num, jSONArray, num2, jSONArray2, num3, bool, false, webViewCallback);
}
@WebViewExposed
public static void open(Integer num, JSONArray jSONArray, Integer num2, JSONArray jSONArray2, Integer num3, Boolean bool, Boolean bool2, WebViewCallback webViewCallback) {
android.content.Intent intent;
if (!bool.booleanValue() && bool2.booleanValue()) {
DeviceLog.debug("Unity Ads opening new transparent ad unit activity, hardware acceleration disabled");
intent = new android.content.Intent(ClientProperties.getActivity(), (Class<?>) AdUnitTransparentSoftwareActivity.class);
} else if (bool.booleanValue() && !bool2.booleanValue()) {
DeviceLog.debug("Unity Ads opening new hardware accelerated ad unit activity");
intent = new android.content.Intent(ClientProperties.getActivity(), (Class<?>) AdUnitActivity.class);
} else if (bool.booleanValue() && bool2.booleanValue()) {
DeviceLog.debug("Unity Ads opening new hardware accelerated transparent ad unit activity");
intent = new android.content.Intent(ClientProperties.getActivity(), (Class<?>) AdUnitTransparentActivity.class);
} else {
DeviceLog.debug("Unity Ads opening new ad unit activity, hardware acceleration disabled");
intent = new android.content.Intent(ClientProperties.getActivity(), (Class<?>) AdUnitSoftwareActivity.class);
}
intent.addFlags(268500992);
if (num != null) {
try {
intent.putExtra(AdUnitActivity.EXTRA_ACTIVITY_ID, num.intValue());
setCurrentAdUnitActivityId(num.intValue());
try {
intent.putExtra(AdUnitActivity.EXTRA_VIEWS, getViewList(jSONArray));
if (jSONArray2 != null) {
try {
intent.putExtra(AdUnitActivity.EXTRA_KEY_EVENT_LIST, getKeyEventList(jSONArray2));
} catch (Exception e) {
DeviceLog.exception("Error parsing views from viewList", e);
webViewCallback.error(AdUnitError.CORRUPTED_KEYEVENTLIST, jSONArray2, e.getMessage());
return;
}
}
intent.putExtra(AdUnitActivity.EXTRA_SYSTEM_UI_VISIBILITY, num3);
intent.putExtra(AdUnitActivity.EXTRA_ORIENTATION, num2);
ClientProperties.getActivity().startActivity(intent);
DeviceLog.debug("Opened AdUnitActivity with: " + jSONArray.toString());
webViewCallback.invoke(new Object[0]);
return;
} catch (Exception e2) {
DeviceLog.exception("Error parsing views from viewList", e2);
webViewCallback.error(AdUnitError.CORRUPTED_VIEWLIST, jSONArray, e2.getMessage());
return;
}
} catch (Exception e3) {
DeviceLog.exception("Could not set activityId for intent", e3);
webViewCallback.error(AdUnitError.ACTIVITY_ID, Integer.valueOf(num.intValue()), e3.getMessage());
return;
}
}
DeviceLog.error("Activity ID is NULL");
webViewCallback.error(AdUnitError.ACTIVITY_ID, "Activity ID NULL");
}
}