public ShoveEventArgs(bool handled, global::Com.Mapbox.Android.Gestures.ShoveGestureDetector p0, float p1, float p2)
 {
     this.handled = handled;
     this.p0      = p0;
     this.p1      = p1;
     this.p2      = p2;
 }
            static bool n_OnShoveBegin_Lcom_mapbox_android_gestures_ShoveGestureDetector_(IntPtr jnienv, IntPtr native__this, IntPtr native_detector)
            {
                global::Com.Mapbox.Android.Gestures.ShoveGestureDetector.SimpleOnShoveGestureListener __this = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector.SimpleOnShoveGestureListener> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
                global::Com.Mapbox.Android.Gestures.ShoveGestureDetector detector = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector> (native_detector, JniHandleOwnership.DoNotTransfer);
                bool __ret = __this.OnShoveBegin(detector);

                return(__ret);
            }
            static bool n_OnShove_Lcom_mapbox_android_gestures_ShoveGestureDetector_FF(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, float p1, float p2)
            {
                global::Com.Mapbox.Android.Gestures.ShoveGestureDetector.IOnShoveGestureListener __this = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector.IOnShoveGestureListener> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
                global::Com.Mapbox.Android.Gestures.ShoveGestureDetector p0 = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector> (native_p0, JniHandleOwnership.DoNotTransfer);
                bool __ret = __this.OnShove(p0, p1, p2);

                return(__ret);
            }
#pragma warning restore 0649

            public void OnShoveEnd(global::Com.Mapbox.Android.Gestures.ShoveGestureDetector p0, float p1, float p2)
            {
                var __h = OnShoveEndHandler;

                if (__h != null)
                {
                    __h(sender, new ShoveEndEventArgs(p0, p1, p2));
                }
            }
            public virtual unsafe bool OnShoveBegin(global::Com.Mapbox.Android.Gestures.ShoveGestureDetector detector)
            {
                const string __id = "onShoveBegin.(Lcom/mapbox/android/gestures/ShoveGestureDetector;)Z";

                try {
                    JniArgumentValue *__args = stackalloc JniArgumentValue [1];
                    __args [0] = new JniArgumentValue((detector == null) ? IntPtr.Zero : ((global::Java.Lang.Object)detector).Handle);
                    var __rm = _members.InstanceMethods.InvokeVirtualBooleanMethod(__id, this, __args);
                    return(__rm);
                } finally {
                }
            }
            public unsafe void OnShoveEnd(global::Com.Mapbox.Android.Gestures.ShoveGestureDetector p0, float p1, float p2)
            {
                if (id_onShoveEnd_Lcom_mapbox_android_gestures_ShoveGestureDetector_FF == IntPtr.Zero)
                {
                    id_onShoveEnd_Lcom_mapbox_android_gestures_ShoveGestureDetector_FF = JNIEnv.GetMethodID(class_ref, "onShoveEnd", "(Lcom/mapbox/android/gestures/ShoveGestureDetector;FF)V");
                }
                JValue *__args = stackalloc JValue [3];

                __args [0] = new JValue((p0 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p0).Handle);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(p2);
                JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_onShoveEnd_Lcom_mapbox_android_gestures_ShoveGestureDetector_FF, __args);
            }
            public unsafe bool OnShoveBegin(global::Com.Mapbox.Android.Gestures.ShoveGestureDetector p0)
            {
                if (id_onShoveBegin_Lcom_mapbox_android_gestures_ShoveGestureDetector_ == IntPtr.Zero)
                {
                    id_onShoveBegin_Lcom_mapbox_android_gestures_ShoveGestureDetector_ = JNIEnv.GetMethodID(class_ref, "onShoveBegin", "(Lcom/mapbox/android/gestures/ShoveGestureDetector;)Z");
                }
                JValue *__args = stackalloc JValue [1];

                __args [0] = new JValue((p0 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p0).Handle);
                bool __ret = JNIEnv.CallBooleanMethod(((global::Java.Lang.Object) this).Handle, id_onShoveBegin_Lcom_mapbox_android_gestures_ShoveGestureDetector_, __args);

                return(__ret);
            }
            public virtual unsafe void OnShoveEnd(global::Com.Mapbox.Android.Gestures.ShoveGestureDetector detector, float velocityX, float velocityY)
            {
                const string __id = "onShoveEnd.(Lcom/mapbox/android/gestures/ShoveGestureDetector;FF)V";

                try {
                    JniArgumentValue *__args = stackalloc JniArgumentValue [3];
                    __args [0] = new JniArgumentValue((detector == null) ? IntPtr.Zero : ((global::Java.Lang.Object)detector).Handle);
                    __args [1] = new JniArgumentValue(velocityX);
                    __args [2] = new JniArgumentValue(velocityY);
                    _members.InstanceMethods.InvokeVirtualVoidMethod(__id, this, __args);
                } finally {
                }
            }
#pragma warning restore 0649

            public bool OnShoveBegin(global::Com.Mapbox.Android.Gestures.ShoveGestureDetector p0)
            {
                var __h = OnShoveBeginHandler;

                if (__h == null)
                {
                    return(false);
                }
                var __e = new ShoveBeginEventArgs(true, p0);

                __h(sender, __e);
                return(__e.Handled);
            }
#pragma warning restore 0649

            public bool OnShove(global::Com.Mapbox.Android.Gestures.ShoveGestureDetector p0, float p1, float p2)
            {
                var __h = OnShoveHandler;

                if (__h == null)
                {
                    return(false);
                }
                var __e = new ShoveEventArgs(true, p0, p1, p2);

                __h(sender, __e);
                return(__e.Handled);
            }
 static void n_SetPixelDeltaThresholdResource_I(IntPtr jnienv, IntPtr native__this, int pixelDeltaThresholdDimen)
 {
     global::Com.Mapbox.Android.Gestures.ShoveGestureDetector __this = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.SetPixelDeltaThresholdResource(pixelDeltaThresholdDimen);
 }
 static IntPtr n_ProvideHandledTypes(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Mapbox.Android.Gestures.ShoveGestureDetector __this = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(global::Android.Runtime.JavaSet <global::Java.Lang.Integer> .ToLocalJniHandle(__this.ProvideHandledTypes()));
 }
 static void n_SetPixelDeltaThreshold_F(IntPtr jnienv, IntPtr native__this, float pixelDeltaThreshold)
 {
     global::Com.Mapbox.Android.Gestures.ShoveGestureDetector __this = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.PixelDeltaThreshold = pixelDeltaThreshold;
 }
 static float n_GetPixelDeltaThreshold(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Mapbox.Android.Gestures.ShoveGestureDetector __this = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.PixelDeltaThreshold);
 }
 static void n_SetMaxShoveAngle_F(IntPtr jnienv, IntPtr native__this, float maxShoveAngle)
 {
     global::Com.Mapbox.Android.Gestures.ShoveGestureDetector __this = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.MaxShoveAngle = maxShoveAngle;
 }
 static void n_OnShoveEnd_Lcom_mapbox_android_gestures_ShoveGestureDetector_FF(IntPtr jnienv, IntPtr native__this, IntPtr native_detector, float velocityX, float velocityY)
 {
     global::Com.Mapbox.Android.Gestures.ShoveGestureDetector.SimpleOnShoveGestureListener __this = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector.SimpleOnShoveGestureListener> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Mapbox.Android.Gestures.ShoveGestureDetector detector = global::Java.Lang.Object.GetObject <global::Com.Mapbox.Android.Gestures.ShoveGestureDetector> (native_detector, JniHandleOwnership.DoNotTransfer);
     __this.OnShoveEnd(detector, velocityX, velocityY);
 }
 public ShoveBeginEventArgs(bool handled, global::Com.Mapbox.Android.Gestures.ShoveGestureDetector p0)
 {
     this.handled = handled;
     this.p0      = p0;
 }
 public ShoveEndEventArgs(global::Com.Mapbox.Android.Gestures.ShoveGestureDetector p0, float p1, float p2)
 {
     this.p0 = p0;
     this.p1 = p1;
     this.p2 = p2;
 }