Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/Mono.Android/Android.Runtime/JNIEnv.cs
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ public static unsafe void InvokeConstructor (IntPtr instance, string jniCtorSign
IntPtr ctor = JNIEnv.GetMethodID (lrefClass, "<init>", jniCtorSignature);
if (ctor == IntPtr.Zero)
throw new ArgumentException (FormattableString.Invariant (
$"Could not find constructor JNI signature '{jniCtorSignature}' on type '{Java.Interop.TypeManager.GetClassName (lrefClass)}'."));
$"Could not find constructor JNI signature '{jniCtorSignature}' on type '{JniEnvironment.Types.GetJniTypeNameFromClass (new JniObjectReference (lrefClass))}'."));
CallNonvirtualVoidMethod (instance, lrefClass, ctor, constructorParameters);
} finally {
DeleteLocalRef (lrefClass);
Expand All @@ -223,7 +223,7 @@ public static unsafe IntPtr CreateInstance (IntPtr jniClass, string signature, J
IntPtr ctor = JNIEnv.GetMethodID (jniClass, "<init>", signature);
if (ctor == IntPtr.Zero)
throw new ArgumentException (FormattableString.Invariant (
$"Could not find constructor JNI signature '{signature}' on type '{Java.Interop.TypeManager.GetClassName (jniClass)}'."));
$"Could not find constructor JNI signature '{signature}' on type '{JniEnvironment.Types.GetJniTypeNameFromClass (new JniObjectReference (jniClass))}'."));
return JNIEnv.NewObject (jniClass, ctor, constructorParameters);
}

Expand Down Expand Up @@ -543,7 +543,7 @@ static void AssertCompatibleArrayTypes (Type sourceType, IntPtr destArray)
try {
if (!IsAssignableFrom (grefSource, lrefDest)) {
throw new InvalidCastException (FormattableString.Invariant (
$"Unable to cast from '{Java.Interop.TypeManager.GetClassName (grefSource)}' to '{Java.Interop.TypeManager.GetClassName (lrefDest)}'."));
$"Unable to cast from '{JniEnvironment.Types.GetJniTypeNameFromClass (new JniObjectReference (grefSource))}' to '{JniEnvironment.Types.GetJniTypeNameFromClass (new JniObjectReference (lrefDest))}'."));
}
} finally {
DeleteGlobalRef (grefSource);
Expand All @@ -558,7 +558,7 @@ static void AssertCompatibleArrayTypes (IntPtr sourceArray, Type destType)
try {
if (!IsAssignableFrom (lrefSource, grefDest)) {
throw new InvalidCastException (FormattableString.Invariant (
$"Unable to cast from '{Java.Interop.TypeManager.GetClassName (lrefSource)}' to '{Java.Interop.TypeManager.GetClassName (grefDest)}'."));
$"Unable to cast from '{JniEnvironment.Types.GetJniTypeNameFromClass (new JniObjectReference (lrefSource))}' to '{JniEnvironment.Types.GetJniTypeNameFromClass (new JniObjectReference (grefDest))}'."));
}
} finally {
DeleteGlobalRef (grefDest);
Expand Down Expand Up @@ -1167,7 +1167,7 @@ public static IntPtr NewObjectArray<T>(params T[]? values)
return IntPtr.Zero;

IntPtr grefArrayElementClass = GetArrayElementClass (values);
if (Java.Interop.TypeManager.GetClassName (grefArrayElementClass) == "mono/android/runtime/JavaObject") {
if (JniEnvironment.Types.GetJniTypeNameFromClass (new JniObjectReference (grefArrayElementClass)) == "mono/android/runtime/JavaObject") {
DeleteGlobalRef (grefArrayElementClass);
grefArrayElementClass = NewGlobalRef (Java.Lang.Class.Object);
}
Expand Down
Loading