453 lines
20 KiB
Java
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");
|
|
}
|
|
}
|