static IntPtr n_SetLifecycleCallback_Lcom_spotify_protocol_client_Subscription_LifecycleCallback_(IntPtr jnienv, IntPtr native__this, IntPtr native_lifecycleCallback)
        {
            global::Com.Spotify.Protocol.Client.Subscription __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.Subscription> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Com.Spotify.Protocol.Client.Subscription.ILifecycleCallback lifecycleCallback = (global::Com.Spotify.Protocol.Client.Subscription.ILifecycleCallback)global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.Subscription.ILifecycleCallback> (native_lifecycleCallback, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.SetLifecycleCallback(lifecycleCallback));

            return(__ret);
        }
        public unsafe void Unsubscribe(global::Com.Spotify.Protocol.Client.Subscription p0)
        {
            if (id_unsubscribe_Lcom_spotify_protocol_client_Subscription_ == IntPtr.Zero)
            {
                id_unsubscribe_Lcom_spotify_protocol_client_Subscription_ = JNIEnv.GetMethodID(class_ref, "unsubscribe", "(Lcom/spotify/protocol/client/Subscription;)V");
            }
            JValue *__args = stackalloc JValue [1];

            __args [0] = new JValue((p0 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p0).Handle);
            JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_unsubscribe_Lcom_spotify_protocol_client_Subscription_, __args);
        }
        public virtual unsafe void Unsubscribe(global::Com.Spotify.Protocol.Client.Subscription subscription)
        {
            const string __id = "unsubscribe.(Lcom/spotify/protocol/client/Subscription;)V";

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [1];
                __args [0] = new JniArgumentValue((subscription == null) ? IntPtr.Zero : ((global::Java.Lang.Object)subscription).Handle);
                _members.InstanceMethods.InvokeVirtualVoidMethod(__id, this, __args);
            } finally {
            }
        }
        public unsafe global::Com.Spotify.Protocol.Client.Subscription Subscribe(string p0, global::Java.Lang.Class p1)
        {
            if (id_subscribe_Ljava_lang_String_Ljava_lang_Class_ == IntPtr.Zero)
            {
                id_subscribe_Ljava_lang_String_Ljava_lang_Class_ = JNIEnv.GetMethodID(class_ref, "subscribe", "(Ljava/lang/String;Ljava/lang/Class;)Lcom/spotify/protocol/client/Subscription;");
            }
            IntPtr  native_p0 = JNIEnv.NewString(p0);
            JValue *__args    = stackalloc JValue [2];

            __args [0] = new JValue(native_p0);
            __args [1] = new JValue((p1 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p1).Handle);
            global::Com.Spotify.Protocol.Client.Subscription __ret = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.Subscription> (JNIEnv.CallObjectMethod(((global::Java.Lang.Object) this).Handle, id_subscribe_Ljava_lang_String_Ljava_lang_Class_, __args), JniHandleOwnership.TransferLocalRef);
            JNIEnv.DeleteLocalRef(native_p0);
            return(__ret);
        }
 static void n_OnResultDelivered(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Spotify.Protocol.Client.Subscription __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.Subscription> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.OnResultDelivered();
 }
 static IntPtr n_GetRequestId(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Spotify.Protocol.Client.Subscription __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.Subscription> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.ToLocalJniHandle(__this.RequestId));
 }
 static void n_Unsubscribe_Lcom_spotify_protocol_client_Subscription_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Com.Spotify.Protocol.Client.IRemoteClient __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.IRemoteClient> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Spotify.Protocol.Client.Subscription  p0     = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.Subscription> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.Unsubscribe(p0);
 }
 static void n_Unsubscribe_Lcom_spotify_protocol_client_Subscription_(IntPtr jnienv, IntPtr native__this, IntPtr native_subscription)
 {
     global::Com.Spotify.Android.Appremote.Internal.StrictRemoteClient __this = global::Java.Lang.Object.GetObject <global::Com.Spotify.Android.Appremote.Internal.StrictRemoteClient> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Spotify.Protocol.Client.Subscription subscription            = global::Java.Lang.Object.GetObject <global::Com.Spotify.Protocol.Client.Subscription> (native_subscription, JniHandleOwnership.DoNotTransfer);
     __this.Unsubscribe(subscription);
 }