Monkey Talk Jar Binding

pmhart83pmhart83 USMember ✭✭✭

I am trying to create a jar binding to use Monkey Talk automated testing. I have created bindings in the past where I had to alter the meta data to change something to public and so on.

When I just add the jar and try to build the dll, I get 4 errors related to missing ICallback functions.

Here is an example of one of those:

.../App.Android.Bindings.MonkeyTalk/obj/Debug/generated/src/Com.Gorillalogic.Fonemonkey.Automators.WindowAutomator.cs(23,23): Error CS0535: Com.Gorillalogic.Fonemonkey.Automators.WindowAutomator' does not implement interface memberAndroid.Views.Window.ICallback.DispatchGenericMotionEvent(Android.Views.MotionEvent)' (CS0535) (App.Android.Bindings.MonkeyTalk)

I went into the generated cs in the obj folder and found the file "Com.Gorillalogic.Fonemonkey.Automators.WindowAutomator.cs". While looking through the code, I did find several functions that are part of the ICallback interface.

Such as the "DispatchTouchEvent" implementation:

[Register ("dispatchTouchEvent", "(Landroid/view/MotionEvent;)Z", "GetDispatchTouchEvent_Landroid_view_MotionEvent_Handler")]
public virtual bool DispatchTouchEvent (global::Android.Views.MotionEvent p0)
{

//... their code

}

OK, so SOME of the ICallback needs are there. But how do I handle the 4 missing ones? I searched the CS file for MotionEvent objects and didn't find any private functions that should be switched to public.

Posts

  • pmhart83pmhart83 USMember ✭✭✭
    edited April 2014

    Found the solution:

    <add-node path="/api/package[@name='com.gorillalogic.fonemonkey.automators']/class[@name='WindowAutomator']">
      <method name="DispatchGenericMotionEvent" return="bool" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" >
        <parameter name="e" type="Android.Views.MotionEvent"/>
      </method>
    </add-node> 
    
  • pmhart83pmhart83 USMember ✭✭✭

    Ugh ... it's not working. The project has to be an "AspectJ" project as well. I found the aspectj.jar but it's a whole new mess of things to figure out. Anyone been down this road before?

Sign In or Register to comment.