Firstborn/Library/PackageCache/com.unity.ads@3.7.5/Runtime/Monetization/AndroidJavaObjectExtensions.cs

34 lines
977 B
C#
Raw Normal View History

2023-03-28 13:24:16 -04:00
#if UNITY_ANDROID
namespace UnityEngine.Monetization
{
public static class AndroidJavaObjectExtensions
{
private static int _sdkVersion = -1;
private static readonly int BuildVersionKitKat = 19;
public static string SafeStringCall(this AndroidJavaObject javaObject, string methodName)
{
if (_sdkVersion == -1)
{
_sdkVersion = GetSDKLevel();
}
if (_sdkVersion <= BuildVersionKitKat)
{
var stringJavaObject = javaObject.Call<AndroidJavaObject>(methodName);
return stringJavaObject?.Call<string>("toString");
}
return javaObject.Call<string>(methodName);
}
public static int GetSDKLevel()
{
using (var clazz = new AndroidJavaClass("android.os.Build$VERSION"))
{
return clazz.GetStatic<int>("SDK_INT");
}
}
}
}
#endif