diff --git a/src/Mono.Android/Android.Runtime/JNIEnv.cs b/src/Mono.Android/Android.Runtime/JNIEnv.cs index abea8497918..6061a4557c0 100644 --- a/src/Mono.Android/Android.Runtime/JNIEnv.cs +++ b/src/Mono.Android/Android.Runtime/JNIEnv.cs @@ -205,7 +205,7 @@ public static unsafe void InvokeConstructor (IntPtr instance, string jniCtorSign IntPtr ctor = JNIEnv.GetMethodID (lrefClass, "", 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); @@ -223,7 +223,7 @@ public static unsafe IntPtr CreateInstance (IntPtr jniClass, string signature, J IntPtr ctor = JNIEnv.GetMethodID (jniClass, "", 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); } @@ -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); @@ -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); @@ -1167,7 +1167,7 @@ public static IntPtr NewObjectArray(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); }