static void n_WriteData_arrayBI(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, int p1)
 {
     global::Com.Spotify.Protocol.Client.IAppProtocolIo __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.IAppProtocolIo> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     byte[] p0 = (byte[])JNIEnv.GetArray(native_p0, JniHandleOwnership.DoNotTransfer, typeof(byte));
     __this.WriteData(p0, p1);
     if (p0 != null)
     {
         JNIEnv.CopyArray(p0, native_p0);
     }
 }
        public unsafe AppProtocolCommunicator(global::Com.Spotify.Protocol.Client.ConnectionDetails connectionDetails, global::Com.Spotify.Protocol.Mappers.IJsonMapper mapper, global::Com.Spotify.Protocol.Client.IAppProtocolIo protocolIo)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            const string __id = "(Lcom/spotify/protocol/client/ConnectionDetails;Lcom/spotify/protocol/mappers/JsonMapper;Lcom/spotify/protocol/client/AppProtocolIo;)V";

            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [3];
                __args [0] = new JniArgumentValue((connectionDetails == null) ? IntPtr.Zero : ((global::Java.Lang.Object)connectionDetails).Handle);
                __args [1] = new JniArgumentValue((mapper == null) ? IntPtr.Zero : ((global::Java.Lang.Object)mapper).Handle);
                __args [2] = new JniArgumentValue((protocolIo == null) ? IntPtr.Zero : ((global::Java.Lang.Object)protocolIo).Handle);
                var __r = _members.InstanceMethods.StartCreateInstance(__id, ((object)this).GetType(), __args);
                SetHandle(__r.Handle, JniHandleOwnership.TransferLocalRef);
                _members.InstanceMethods.FinishCreateInstance(__id, this, __args);
            } finally {
            }
        }
 static void n_SetDataInput_Lcom_spotify_protocol_client_AppProtocolIo_DataInput_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Com.Spotify.Protocol.Client.IAppProtocolIo          __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.IAppProtocolIo> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Spotify.Protocol.Client.IAppProtocolIoDataInput p0     = (global::Com.Spotify.Protocol.Client.IAppProtocolIoDataInput)global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.IAppProtocolIoDataInput> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.SetDataInput(p0);
 }
 static void n_Disconnect(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Spotify.Protocol.Client.IAppProtocolIo __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.IAppProtocolIo> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.Disconnect();
 }
 static IntPtr n_Connect(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Spotify.Protocol.Client.IAppProtocolIo __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.IAppProtocolIo> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.ToLocalJniHandle(__this.Connect()));
 }
 static bool n_IsConnecting(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Spotify.Protocol.Client.IAppProtocolIo __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.IAppProtocolIo> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.IsConnecting);
 }