Firstborn/Library/PackageCache/com.unity.ads@3.7.5/Runtime/Monetization/AndroidJavaObjectExtensions.cs
Schaken-Mods b486678290 Library -Artifacts
Library -Artifacts
2023-03-28 12:24:16 -05:00

34 lines
977 B
C#

#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