Skip to content

Commit c2697af

Browse files
committed
[Java.Interop] Add JavaTypeManager class based on JavaObject
And use it from Java side in place of the old `Java.Interop.TypeManager` and its `Activate` method. As it is based on `JavaObject`, it will work nicely with the *jnimarshalmethod-gen*.
1 parent 5d64fb4 commit c2697af

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/Mono.Android/Java.Interop/TypeManager.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,5 +358,19 @@ public static void RegisterPackages (string[] packages, Converter<string, Type>[
358358
}
359359
}
360360
}
361+
362+
internal class JavaTypeManager : JavaObject
363+
{
364+
[Register ("activate", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V", "")]
365+
static void n_Activate (IntPtr jnienv, IntPtr jclass, IntPtr typename_ptr, IntPtr signature_ptr, IntPtr jobject, IntPtr parameters_ptr)
366+
{
367+
TypeManager.n_Activate (jnienv, jclass, typename_ptr, signature_ptr, jobject, parameters_ptr);
368+
}
369+
370+
internal static Delegate GetActivateHandler ()
371+
{
372+
return TypeManager.GetActivateHandler ();
373+
}
374+
}
361375
}
362376
}

src/Mono.Android/java/mono/android/TypeManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ public static void Activate (String typeName, String sig, Object instance, Objec
1313
String methods =
1414
"n_activate:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V:GetActivateHandler\n" +
1515
"";
16-
mono.android.Runtime.register ("Java.Interop.TypeManager, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", TypeManager.class, methods);
16+
mono.android.Runtime.register ("Java.Interop.TypeManager+JavaTypeManager, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", TypeManager.class, methods);
1717
}
1818
}

0 commit comments

Comments
 (0)