static IntPtr n_OpenDocument_Ljava_lang_String_Ljava_lang_String_Landroid_os_CancellationSignal_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, IntPtr native_p2)
        {
            global::Com.Applozic.Mobicommons.File.LocalStorageProvider __this = global::Java.Lang.Object.GetObject <global::Com.Applozic.Mobicommons.File.LocalStorageProvider> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            string p0 = JNIEnv.GetString(native_p0, JniHandleOwnership.DoNotTransfer);
            string p1 = JNIEnv.GetString(native_p1, JniHandleOwnership.DoNotTransfer);

            global::Android.OS.CancellationSignal p2 = global::Java.Lang.Object.GetObject <global::Android.OS.CancellationSignal> (native_p2, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.OpenDocument(p0, p1, p2));

            return(__ret);
        }
        public override unsafe global::Android.OS.ParcelFileDescriptor OpenDocument(string p0, string p1, global::Android.OS.CancellationSignal p2)
        {
            if (id_openDocument_Ljava_lang_String_Ljava_lang_String_Landroid_os_CancellationSignal_ == IntPtr.Zero)
            {
                id_openDocument_Ljava_lang_String_Ljava_lang_String_Landroid_os_CancellationSignal_ = JNIEnv.GetMethodID(class_ref, "openDocument", "(Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;");
            }
            IntPtr native_p0 = JNIEnv.NewString(p0);
            IntPtr native_p1 = JNIEnv.NewString(p1);

            try {
                JValue *__args = stackalloc JValue [3];
                __args [0] = new JValue(native_p0);
                __args [1] = new JValue(native_p1);
                __args [2] = new JValue(p2);

                global::Android.OS.ParcelFileDescriptor __ret;
                if (((object)this).GetType() == ThresholdType)
                {
                    __ret = global::Java.Lang.Object.GetObject <global::Android.OS.ParcelFileDescriptor> (JNIEnv.CallObjectMethod(((global::Java.Lang.Object) this).Handle, id_openDocument_Ljava_lang_String_Ljava_lang_String_Landroid_os_CancellationSignal_, __args), JniHandleOwnership.TransferLocalRef);
                }
                else
                {
                    __ret = global::Java.Lang.Object.GetObject <global::Android.OS.ParcelFileDescriptor> (JNIEnv.CallNonvirtualObjectMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "openDocument", "(Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;"), __args), JniHandleOwnership.TransferLocalRef);
                }
                return(__ret);
            } finally {
                JNIEnv.DeleteLocalRef(native_p0);
                JNIEnv.DeleteLocalRef(native_p1);
            }
        }