package com.unity3d.ads.api; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.hardware.Sensor; import android.util.SparseArray; import com.ubt.jimu.base.entities.Constant; import com.ubt.jimu.transport.model.TransportFile; import com.unity3d.ads.device.Device; import com.unity3d.ads.device.DeviceError; import com.unity3d.ads.device.IVolumeChangeListener; import com.unity3d.ads.device.VolumeChange; import com.unity3d.ads.log.DeviceLog; import com.unity3d.ads.metadata.MediationMetaData; import com.unity3d.ads.properties.ClientProperties; import com.unity3d.ads.webview.WebViewApp; import com.unity3d.ads.webview.WebViewEventCategory; import com.unity3d.ads.webview.bridge.WebViewCallback; import com.unity3d.ads.webview.bridge.WebViewExposed; import java.io.File; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.TimeZone; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; /* loaded from: classes2.dex */ public class DeviceInfo { private static SparseArray _volumeChangeListeners; /* renamed from: com.unity3d.ads.api.DeviceInfo$2, reason: invalid class name */ static /* synthetic */ class AnonymousClass2 { static final /* synthetic */ int[] $SwitchMap$com$unity3d$ads$api$DeviceInfo$StorageType = new int[StorageType.values().length]; static { try { $SwitchMap$com$unity3d$ads$api$DeviceInfo$StorageType[StorageType.INTERNAL.ordinal()] = 1; } catch (NoSuchFieldError unused) { } try { $SwitchMap$com$unity3d$ads$api$DeviceInfo$StorageType[StorageType.EXTERNAL.ordinal()] = 2; } catch (NoSuchFieldError unused2) { } } } public enum DeviceInfoEvent { VOLUME_CHANGED } public enum StorageType { EXTERNAL, INTERNAL } @WebViewExposed public static void getAdvertisingTrackingId(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getAdvertisingTrackingId()); } @WebViewExposed public static void getAndroidId(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getAndroidId()); } @WebViewExposed public static void getApiLevel(WebViewCallback webViewCallback) { webViewCallback.invoke(Integer.valueOf(Device.getApiLevel())); } @WebViewExposed public static void getApkDigest(WebViewCallback webViewCallback) { try { webViewCallback.invoke(Device.getApkDigest()); } catch (Exception e) { webViewCallback.error(DeviceError.COULDNT_GET_DIGEST, e.toString()); } } @WebViewExposed public static void getBatteryLevel(WebViewCallback webViewCallback) { webViewCallback.invoke(Float.valueOf(Device.getBatteryLevel())); } @WebViewExposed public static void getBatteryStatus(WebViewCallback webViewCallback) { webViewCallback.invoke(Integer.valueOf(Device.getBatteryStatus())); } @WebViewExposed public static void getBoard(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getBoard()); } @WebViewExposed public static void getBootloader(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getBootloader()); } @WebViewExposed public static void getBrand(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getBrand()); } @WebViewExposed public static void getBuildId(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getBuildId()); } @WebViewExposed public static void getBuildVersionIncremental(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getBuildVersionIncremental()); } @WebViewExposed public static void getCPUCount(WebViewCallback webViewCallback) { webViewCallback.invoke(Long.valueOf(Device.getCPUCount())); } @WebViewExposed public static void getCertificateFingerprint(WebViewCallback webViewCallback) { String certificateFingerprint = Device.getCertificateFingerprint(); if (certificateFingerprint != null) { webViewCallback.invoke(certificateFingerprint); } else { webViewCallback.error(DeviceError.COULDNT_GET_FINGERPRINT, new Object[0]); } } @WebViewExposed public static void getConnectionType(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.isUsingWifi() ? "wifi" : Device.isActiveNetworkConnected() ? "cellular" : TransportFile.TYPE_NONE); } @WebViewExposed public static void getDevice(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getDevice()); } @WebViewExposed public static void getDeviceMaxVolume(Integer num, WebViewCallback webViewCallback) { int streamMaxVolume = Device.getStreamMaxVolume(num.intValue()); if (streamMaxVolume > -1) { webViewCallback.invoke(Integer.valueOf(streamMaxVolume)); return; } if (streamMaxVolume == -2) { webViewCallback.error(DeviceError.AUDIOMANAGER_NULL, Integer.valueOf(streamMaxVolume)); return; } if (streamMaxVolume == -1) { webViewCallback.error(DeviceError.APPLICATION_CONTEXT_NULL, Integer.valueOf(streamMaxVolume)); return; } DeviceLog.error("Unhandled deviceMaxVolume error: " + streamMaxVolume); } @WebViewExposed public static void getDeviceVolume(Integer num, WebViewCallback webViewCallback) { int streamVolume = Device.getStreamVolume(num.intValue()); if (streamVolume > -1) { webViewCallback.invoke(Integer.valueOf(streamVolume)); return; } if (streamVolume == -2) { webViewCallback.error(DeviceError.AUDIOMANAGER_NULL, Integer.valueOf(streamVolume)); return; } if (streamVolume == -1) { webViewCallback.error(DeviceError.APPLICATION_CONTEXT_NULL, Integer.valueOf(streamVolume)); return; } DeviceLog.error("Unhandled deviceVolume error: " + streamVolume); } @WebViewExposed public static void getElapsedRealtime(WebViewCallback webViewCallback) { webViewCallback.invoke(Long.valueOf(Device.getElapsedRealtime())); } private static File getFileForStorageType(StorageType storageType) { int i = AnonymousClass2.$SwitchMap$com$unity3d$ads$api$DeviceInfo$StorageType[storageType.ordinal()]; if (i == 1) { return ClientProperties.getApplicationContext().getCacheDir(); } if (i == 2) { return ClientProperties.getApplicationContext().getExternalCacheDir(); } DeviceLog.error("Unhandled storagetype: " + storageType); return null; } @WebViewExposed public static void getFingerprint(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getFingerprint()); } @WebViewExposed public static void getFreeMemory(WebViewCallback webViewCallback) { webViewCallback.invoke(Long.valueOf(Device.getFreeMemory())); } @WebViewExposed public static void getFreeSpace(String str, WebViewCallback webViewCallback) { StorageType storageTypeFromString = getStorageTypeFromString(str); if (storageTypeFromString == null) { webViewCallback.error(DeviceError.INVALID_STORAGETYPE, str); return; } long freeSpace = Device.getFreeSpace(getFileForStorageType(storageTypeFromString)); if (freeSpace > -1) { webViewCallback.invoke(Long.valueOf(freeSpace)); } else { webViewCallback.error(DeviceError.COULDNT_GET_STORAGE_LOCATION, Long.valueOf(freeSpace)); } } @WebViewExposed public static void getGLVersion(WebViewCallback webViewCallback) { String gLVersion = Device.getGLVersion(); if (gLVersion != null) { webViewCallback.invoke(gLVersion); } else { webViewCallback.error(DeviceError.COULDNT_GET_GL_VERSION, new Object[0]); } } @WebViewExposed public static void getHardware(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getHardware()); } @WebViewExposed public static void getHeadset(WebViewCallback webViewCallback) { webViewCallback.invoke(Boolean.valueOf(Device.isWiredHeadsetOn())); } @WebViewExposed public static void getHost(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getHost()); } @WebViewExposed public static void getInstalledPackages(boolean z, WebViewCallback webViewCallback) { webViewCallback.invoke(new JSONArray((Collection) Device.getInstalledPackages(z))); } @WebViewExposed public static void getLimitAdTrackingFlag(WebViewCallback webViewCallback) { webViewCallback.invoke(Boolean.valueOf(Device.isLimitAdTrackingEnabled())); } @WebViewExposed public static void getManufacturer(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getManufacturer()); } @WebViewExposed public static void getModel(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getModel()); } @WebViewExposed public static void getNetworkMetered(WebViewCallback webViewCallback) { webViewCallback.invoke(Boolean.valueOf(Device.getNetworkMetered())); } @WebViewExposed public static void getNetworkOperator(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getNetworkOperator()); } @WebViewExposed public static void getNetworkOperatorName(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getNetworkOperatorName()); } @WebViewExposed public static void getNetworkType(WebViewCallback webViewCallback) { webViewCallback.invoke(Integer.valueOf(Device.getNetworkType())); } @WebViewExposed public static void getOsVersion(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getOsVersion()); } @WebViewExposed public static void getPackageInfo(String str, WebViewCallback webViewCallback) { if (ClientProperties.getApplicationContext() == null) { webViewCallback.error(DeviceError.APPLICATION_CONTEXT_NULL, new Object[0]); return; } PackageManager packageManager = ClientProperties.getApplicationContext().getPackageManager(); try { PackageInfo packageInfo = packageManager.getPackageInfo(str, 0); JSONObject jSONObject = new JSONObject(); try { jSONObject.put("installer", packageManager.getInstallerPackageName(str)); jSONObject.put("firstInstallTime", packageInfo.firstInstallTime); jSONObject.put("lastUpdateTime", packageInfo.lastUpdateTime); jSONObject.put("versionCode", packageInfo.versionCode); jSONObject.put("versionName", packageInfo.versionName); jSONObject.put(Constant.SelectRobot.PACKAGE_NAME_KEY, packageInfo.packageName); webViewCallback.invoke(jSONObject); } catch (JSONException e) { webViewCallback.error(DeviceError.JSON_ERROR, e.getMessage()); } } catch (PackageManager.NameNotFoundException unused) { webViewCallback.error(DeviceError.APPLICATION_INFO_NOT_AVAILABLE, str); } } @WebViewExposed public static void getProcessInfo(WebViewCallback webViewCallback) { JSONObject jSONObject = new JSONObject(); Map processInfo = Device.getProcessInfo(); if (processInfo != null) { try { if (processInfo.containsKey("stat")) { jSONObject.put("stat", processInfo.get("stat")); } if (processInfo.containsKey("uptime")) { jSONObject.put("uptime", processInfo.get("uptime")); } } catch (Exception e) { DeviceLog.exception("Error while constructing process info", e); } } webViewCallback.invoke(jSONObject); } @WebViewExposed public static void getProduct(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getProduct()); } @WebViewExposed public static void getRingerMode(WebViewCallback webViewCallback) { int ringerMode = Device.getRingerMode(); if (ringerMode > -1) { webViewCallback.invoke(Integer.valueOf(ringerMode)); return; } if (ringerMode == -2) { webViewCallback.error(DeviceError.AUDIOMANAGER_NULL, Integer.valueOf(ringerMode)); return; } if (ringerMode == -1) { webViewCallback.error(DeviceError.APPLICATION_CONTEXT_NULL, Integer.valueOf(ringerMode)); return; } DeviceLog.error("Unhandled ringerMode error: " + ringerMode); } @WebViewExposed public static void getScreenBrightness(WebViewCallback webViewCallback) { int screenBrightness = Device.getScreenBrightness(); if (screenBrightness > -1) { webViewCallback.invoke(Integer.valueOf(screenBrightness)); return; } if (screenBrightness == -1) { webViewCallback.error(DeviceError.APPLICATION_CONTEXT_NULL, Integer.valueOf(screenBrightness)); return; } DeviceLog.error("Unhandled screenBrightness error: " + screenBrightness); } @WebViewExposed public static void getScreenDensity(WebViewCallback webViewCallback) { webViewCallback.invoke(Integer.valueOf(Device.getScreenDensity())); } @WebViewExposed public static void getScreenHeight(WebViewCallback webViewCallback) { webViewCallback.invoke(Integer.valueOf(Device.getScreenHeight())); } @WebViewExposed public static void getScreenLayout(WebViewCallback webViewCallback) { webViewCallback.invoke(Integer.valueOf(Device.getScreenLayout())); } @WebViewExposed public static void getScreenWidth(WebViewCallback webViewCallback) { webViewCallback.invoke(Integer.valueOf(Device.getScreenWidth())); } @WebViewExposed public static void getSensorList(WebViewCallback webViewCallback) { JSONArray jSONArray = new JSONArray(); List sensorList = Device.getSensorList(); if (sensorList != null) { for (Sensor sensor : sensorList) { JSONObject jSONObject = new JSONObject(); try { jSONObject.put(MediationMetaData.KEY_NAME, sensor.getName()); jSONObject.put("type", sensor.getType()); jSONObject.put("vendor", sensor.getVendor()); jSONObject.put("maximumRange", sensor.getMaximumRange()); jSONObject.put("power", sensor.getPower()); jSONObject.put(MediationMetaData.KEY_VERSION, sensor.getVersion()); jSONObject.put("resolution", sensor.getResolution()); jSONObject.put("minDelay", sensor.getMinDelay()); jSONArray.put(jSONObject); } catch (JSONException e) { webViewCallback.error(DeviceError.JSON_ERROR, e.getMessage()); return; } } } webViewCallback.invoke(jSONArray); } private static StorageType getStorageTypeFromString(String str) { try { return StorageType.valueOf(str); } catch (IllegalArgumentException e) { DeviceLog.exception("Illegal argument: " + str, e); return null; } } @WebViewExposed public static void getSupportedAbis(WebViewCallback webViewCallback) { JSONArray jSONArray = new JSONArray(); Iterator it = Device.getSupportedAbis().iterator(); while (it.hasNext()) { jSONArray.put(it.next()); } webViewCallback.invoke(jSONArray); } @WebViewExposed public static void getSystemLanguage(WebViewCallback webViewCallback) { webViewCallback.invoke(Locale.getDefault().toString()); } @WebViewExposed public static void getSystemProperty(String str, String str2, WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getSystemProperty(str, str2)); } @WebViewExposed public static void getTimeZone(Boolean bool, WebViewCallback webViewCallback) { webViewCallback.invoke(TimeZone.getDefault().getDisplayName(bool.booleanValue(), 0, Locale.US)); } @WebViewExposed public static void getTimeZoneOffset(WebViewCallback webViewCallback) { webViewCallback.invoke(Integer.valueOf(TimeZone.getDefault().getOffset(System.currentTimeMillis()) / 1000)); } @WebViewExposed public static void getTotalMemory(WebViewCallback webViewCallback) { webViewCallback.invoke(Long.valueOf(Device.getTotalMemory())); } @WebViewExposed public static void getTotalSpace(String str, WebViewCallback webViewCallback) { StorageType storageTypeFromString = getStorageTypeFromString(str); if (storageTypeFromString == null) { webViewCallback.error(DeviceError.INVALID_STORAGETYPE, str); return; } long totalSpace = Device.getTotalSpace(getFileForStorageType(storageTypeFromString)); if (totalSpace > -1) { webViewCallback.invoke(Long.valueOf(totalSpace)); } else { webViewCallback.error(DeviceError.COULDNT_GET_STORAGE_LOCATION, Long.valueOf(totalSpace)); } } @WebViewExposed public static void getUniqueEventId(WebViewCallback webViewCallback) { webViewCallback.invoke(Device.getUniqueEventId()); } @WebViewExposed public static void getUptime(WebViewCallback webViewCallback) { webViewCallback.invoke(Long.valueOf(Device.getUptime())); } @WebViewExposed public static void isAdbEnabled(WebViewCallback webViewCallback) { Boolean isAdbEnabled = Device.isAdbEnabled(); if (isAdbEnabled != null) { webViewCallback.invoke(isAdbEnabled); } else { webViewCallback.error(DeviceError.COULDNT_GET_ADB_STATUS, new Object[0]); } } @WebViewExposed public static void isAppInstalled(String str, WebViewCallback webViewCallback) { webViewCallback.invoke(Boolean.valueOf(Device.isAppInstalled(str))); } @WebViewExposed public static void isRooted(WebViewCallback webViewCallback) { webViewCallback.invoke(Boolean.valueOf(Device.isRooted())); } @WebViewExposed public static void isUSBConnected(WebViewCallback webViewCallback) { webViewCallback.invoke(Boolean.valueOf(Device.isUSBConnected())); } @WebViewExposed public static void registerVolumeChangeListener(final Integer num, WebViewCallback webViewCallback) { if (_volumeChangeListeners == null) { _volumeChangeListeners = new SparseArray<>(); } if (_volumeChangeListeners.get(num.intValue()) == null) { IVolumeChangeListener iVolumeChangeListener = new IVolumeChangeListener() { // from class: com.unity3d.ads.api.DeviceInfo.1 private int _streamType; { this._streamType = num.intValue(); } @Override // com.unity3d.ads.device.IVolumeChangeListener public int getStreamType() { return this._streamType; } @Override // com.unity3d.ads.device.IVolumeChangeListener public void onVolumeChanged(int i) { WebViewApp.getCurrentApp().sendEvent(WebViewEventCategory.DEVICEINFO, DeviceInfoEvent.VOLUME_CHANGED, Integer.valueOf(getStreamType()), Integer.valueOf(i), Integer.valueOf(Device.getStreamMaxVolume(this._streamType))); } }; _volumeChangeListeners.append(num.intValue(), iVolumeChangeListener); VolumeChange.registerListener(iVolumeChangeListener); } webViewCallback.invoke(new Object[0]); } @WebViewExposed public static void unregisterVolumeChangeListener(Integer num, WebViewCallback webViewCallback) { SparseArray sparseArray = _volumeChangeListeners; if (sparseArray != null && sparseArray.get(num.intValue()) != null) { VolumeChange.unregisterListener(_volumeChangeListeners.get(num.intValue())); _volumeChangeListeners.remove(num.intValue()); } webViewCallback.invoke(new Object[0]); } }