jni-android-sys 0.0.10

Autogenerated glue code for access Android JVM APIs from Rust
// WARNING:  This file was autogenerated by jni-bindgen.  Any changes to this file may be lost!!!


#[cfg(any(feature = "all", feature = "android-media-MediaDrm"))]
__jni_bindgen! {
    /// public final class [MediaDrm](https://developer.android.com/reference/android/media/MediaDrm.html)
    ///
    /// Required feature: "android-media-MediaDrm"
    public final class MediaDrm ("android/media/MediaDrm") extends crate::java::lang::Object {

        /// [MediaDrm](https://developer.android.com/reference/android/media/MediaDrm.html#MediaDrm(java.util.UUID))
        ///
        /// Required features: "java-util-UUID"
        #[cfg(any(feature = "all", all(feature = "java-util-UUID")))]
        pub fn new<'env>(__jni_env: &'env __jni_bindgen::Env, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::util::UUID>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::Local<'env, crate::android::media::MediaDrm>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC, .name == "<init>", .descriptor == "(Ljava/util/UUID;)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "<init>\0", "(Ljava/util/UUID;)V\0");
                __jni_env.new_object_a(__jni_class, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [isCryptoSchemeSupported](https://developer.android.com/reference/android/media/MediaDrm.html#isCryptoSchemeSupported(java.util.UUID))
        ///
        /// Required features: "java-util-UUID"
        #[cfg(any(feature = "all", all(feature = "java-util-UUID")))]
        pub fn isCryptoSchemeSupported_UUID<'env>(__jni_env: &'env __jni_bindgen::Env, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::util::UUID>>) -> __jni_bindgen::std::result::Result<bool, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | STATIC | FINAL, .name == "isCryptoSchemeSupported", .descriptor == "(Ljava/util/UUID;)Z"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let (__jni_class, __jni_method) = __jni_env.require_class_static_method("android/media/MediaDrm\0", "isCryptoSchemeSupported\0", "(Ljava/util/UUID;)Z\0");
                __jni_env.call_static_boolean_method_a(__jni_class, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [isCryptoSchemeSupported](https://developer.android.com/reference/android/media/MediaDrm.html#isCryptoSchemeSupported(java.util.UUID,%20java.lang.String))
        ///
        /// Required features: "java-lang-String", "java-util-UUID"
        #[cfg(any(feature = "all", all(feature = "java-lang-String", feature = "java-util-UUID")))]
        pub fn isCryptoSchemeSupported_UUID_String<'env>(__jni_env: &'env __jni_bindgen::Env, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::util::UUID>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>) -> __jni_bindgen::std::result::Result<bool, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | STATIC | FINAL, .name == "isCryptoSchemeSupported", .descriptor == "(Ljava/util/UUID;Ljava/lang/String;)Z"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into())];
                let (__jni_class, __jni_method) = __jni_env.require_class_static_method("android/media/MediaDrm\0", "isCryptoSchemeSupported\0", "(Ljava/util/UUID;Ljava/lang/String;)Z\0");
                __jni_env.call_static_boolean_method_a(__jni_class, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [setOnEventListener](https://developer.android.com/reference/android/media/MediaDrm.html#setOnEventListener(android.media.MediaDrm.OnEventListener))
        ///
        /// Required features: "android-media-MediaDrm_OnEventListener"
        #[cfg(any(feature = "all", all(feature = "android-media-MediaDrm_OnEventListener")))]
        pub fn setOnEventListener<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::android::media::MediaDrm_OnEventListener>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC, .name == "setOnEventListener", .descriptor == "(Landroid/media/MediaDrm$OnEventListener;)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "setOnEventListener\0", "(Landroid/media/MediaDrm$OnEventListener;)V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [openSession](https://developer.android.com/reference/android/media/MediaDrm.html#openSession())
        pub fn openSession<'env>(&'env self) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, __jni_bindgen::ByteArray>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "openSession", .descriptor == "()[B"
            unsafe {
                let __jni_args = [];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "openSession\0", "()[B\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [closeSession](https://developer.android.com/reference/android/media/MediaDrm.html#closeSession(byte%5B%5D))
        pub fn closeSession<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "closeSession", .descriptor == "([B)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "closeSession\0", "([B)V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [getKeyRequest](https://developer.android.com/reference/android/media/MediaDrm.html#getKeyRequest(byte%5B%5D,%20byte%5B%5D,%20java.lang.String,%20int,%20java.util.HashMap))
        ///
        /// Required features: "android-media-MediaDrm_KeyRequest", "java-lang-String", "java-util-HashMap"
        #[cfg(any(feature = "all", all(feature = "android-media-MediaDrm_KeyRequest", feature = "java-lang-String", feature = "java-util-HashMap")))]
        pub fn getKeyRequest<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>, arg2: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>, arg3: i32, arg4: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::util::HashMap>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, crate::android::media::MediaDrm_KeyRequest>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "getKeyRequest", .descriptor == "([B[BLjava/lang/String;ILjava/util/HashMap;)Landroid/media/MediaDrm$KeyRequest;"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into()), __jni_bindgen::AsJValue::as_jvalue(&arg2.into()), __jni_bindgen::AsJValue::as_jvalue(&arg3), __jni_bindgen::AsJValue::as_jvalue(&arg4.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "getKeyRequest\0", "([B[BLjava/lang/String;ILjava/util/HashMap;)Landroid/media/MediaDrm$KeyRequest;\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [provideKeyResponse](https://developer.android.com/reference/android/media/MediaDrm.html#provideKeyResponse(byte%5B%5D,%20byte%5B%5D))
        pub fn provideKeyResponse<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, __jni_bindgen::ByteArray>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "provideKeyResponse", .descriptor == "([B[B)[B"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "provideKeyResponse\0", "([B[B)[B\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [restoreKeys](https://developer.android.com/reference/android/media/MediaDrm.html#restoreKeys(byte%5B%5D,%20byte%5B%5D))
        pub fn restoreKeys<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "restoreKeys", .descriptor == "([B[B)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "restoreKeys\0", "([B[B)V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [removeKeys](https://developer.android.com/reference/android/media/MediaDrm.html#removeKeys(byte%5B%5D))
        pub fn removeKeys<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "removeKeys", .descriptor == "([B)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "removeKeys\0", "([B)V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [queryKeyStatus](https://developer.android.com/reference/android/media/MediaDrm.html#queryKeyStatus(byte%5B%5D))
        ///
        /// Required features: "java-util-HashMap"
        #[cfg(any(feature = "all", all(feature = "java-util-HashMap")))]
        pub fn queryKeyStatus<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, crate::java::util::HashMap>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "queryKeyStatus", .descriptor == "([B)Ljava/util/HashMap;"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "queryKeyStatus\0", "([B)Ljava/util/HashMap;\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [getProvisionRequest](https://developer.android.com/reference/android/media/MediaDrm.html#getProvisionRequest())
        ///
        /// Required features: "android-media-MediaDrm_ProvisionRequest"
        #[cfg(any(feature = "all", all(feature = "android-media-MediaDrm_ProvisionRequest")))]
        pub fn getProvisionRequest<'env>(&'env self) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, crate::android::media::MediaDrm_ProvisionRequest>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC, .name == "getProvisionRequest", .descriptor == "()Landroid/media/MediaDrm$ProvisionRequest;"
            unsafe {
                let __jni_args = [];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "getProvisionRequest\0", "()Landroid/media/MediaDrm$ProvisionRequest;\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [provideProvisionResponse](https://developer.android.com/reference/android/media/MediaDrm.html#provideProvisionResponse(byte%5B%5D))
        pub fn provideProvisionResponse<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC, .name == "provideProvisionResponse", .descriptor == "([B)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "provideProvisionResponse\0", "([B)V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [getSecureStops](https://developer.android.com/reference/android/media/MediaDrm.html#getSecureStops())
        ///
        /// Required features: "java-util-List"
        #[cfg(any(feature = "all", all(feature = "java-util-List")))]
        pub fn getSecureStops<'env>(&'env self) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, crate::java::util::List>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "getSecureStops", .descriptor == "()Ljava/util/List;"
            unsafe {
                let __jni_args = [];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "getSecureStops\0", "()Ljava/util/List;\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [getSecureStop](https://developer.android.com/reference/android/media/MediaDrm.html#getSecureStop(byte%5B%5D))
        pub fn getSecureStop<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, __jni_bindgen::ByteArray>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "getSecureStop", .descriptor == "([B)[B"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "getSecureStop\0", "([B)[B\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [releaseSecureStops](https://developer.android.com/reference/android/media/MediaDrm.html#releaseSecureStops(byte%5B%5D))
        pub fn releaseSecureStops<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "releaseSecureStops", .descriptor == "([B)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "releaseSecureStops\0", "([B)V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [releaseAllSecureStops](https://developer.android.com/reference/android/media/MediaDrm.html#releaseAllSecureStops())
        pub fn releaseAllSecureStops<'env>(&'env self) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "releaseAllSecureStops", .descriptor == "()V"
            unsafe {
                let __jni_args = [];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "releaseAllSecureStops\0", "()V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [getPropertyString](https://developer.android.com/reference/android/media/MediaDrm.html#getPropertyString(java.lang.String))
        ///
        /// Required features: "java-lang-String"
        #[cfg(any(feature = "all", all(feature = "java-lang-String")))]
        pub fn getPropertyString<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, crate::java::lang::String>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "getPropertyString", .descriptor == "(Ljava/lang/String;)Ljava/lang/String;"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "getPropertyString\0", "(Ljava/lang/String;)Ljava/lang/String;\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [getPropertyByteArray](https://developer.android.com/reference/android/media/MediaDrm.html#getPropertyByteArray(java.lang.String))
        ///
        /// Required features: "java-lang-String"
        #[cfg(any(feature = "all", all(feature = "java-lang-String")))]
        pub fn getPropertyByteArray<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, __jni_bindgen::ByteArray>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "getPropertyByteArray", .descriptor == "(Ljava/lang/String;)[B"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "getPropertyByteArray\0", "(Ljava/lang/String;)[B\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [setPropertyString](https://developer.android.com/reference/android/media/MediaDrm.html#setPropertyString(java.lang.String,%20java.lang.String))
        ///
        /// Required features: "java-lang-String"
        #[cfg(any(feature = "all", all(feature = "java-lang-String")))]
        pub fn setPropertyString<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "setPropertyString", .descriptor == "(Ljava/lang/String;Ljava/lang/String;)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "setPropertyString\0", "(Ljava/lang/String;Ljava/lang/String;)V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [setPropertyByteArray](https://developer.android.com/reference/android/media/MediaDrm.html#setPropertyByteArray(java.lang.String,%20byte%5B%5D))
        ///
        /// Required features: "java-lang-String"
        #[cfg(any(feature = "all", all(feature = "java-lang-String")))]
        pub fn setPropertyByteArray<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | NATIVE, .name == "setPropertyByteArray", .descriptor == "(Ljava/lang/String;[B)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "setPropertyByteArray\0", "(Ljava/lang/String;[B)V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [getCryptoSession](https://developer.android.com/reference/android/media/MediaDrm.html#getCryptoSession(byte%5B%5D,%20java.lang.String,%20java.lang.String))
        ///
        /// Required features: "android-media-MediaDrm_CryptoSession", "java-lang-String"
        #[cfg(any(feature = "all", all(feature = "android-media-MediaDrm_CryptoSession", feature = "java-lang-String")))]
        pub fn getCryptoSession<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env __jni_bindgen::ByteArray>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>, arg2: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, crate::android::media::MediaDrm_CryptoSession>>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC, .name == "getCryptoSession", .descriptor == "([BLjava/lang/String;Ljava/lang/String;)Landroid/media/MediaDrm$CryptoSession;"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into()), __jni_bindgen::AsJValue::as_jvalue(&arg2.into())];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "getCryptoSession\0", "([BLjava/lang/String;Ljava/lang/String;)Landroid/media/MediaDrm$CryptoSession;\0");
                __jni_env.call_object_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// [release](https://developer.android.com/reference/android/media/MediaDrm.html#release())
        pub fn release<'env>(&'env self) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/media/MediaDrm", java.flags == PUBLIC | FINAL | NATIVE, .name == "release", .descriptor == "()V"
            unsafe {
                let __jni_args = [];
                let __jni_env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/media/MediaDrm\0", "release\0", "()V\0");
                __jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
            }
        }

        /// public static final [EVENT_KEY_EXPIRED](https://developer.android.com/reference/android/media/MediaDrm.html#EVENT_KEY_EXPIRED)
        pub const EVENT_KEY_EXPIRED : i32 = 3;

        /// public static final [EVENT_KEY_REQUIRED](https://developer.android.com/reference/android/media/MediaDrm.html#EVENT_KEY_REQUIRED)
        pub const EVENT_KEY_REQUIRED : i32 = 2;

        /// public static final [EVENT_PROVISION_REQUIRED](https://developer.android.com/reference/android/media/MediaDrm.html#EVENT_PROVISION_REQUIRED)
        pub const EVENT_PROVISION_REQUIRED : i32 = 1;

        /// public static final [EVENT_VENDOR_DEFINED](https://developer.android.com/reference/android/media/MediaDrm.html#EVENT_VENDOR_DEFINED)
        pub const EVENT_VENDOR_DEFINED : i32 = 4;

        /// public static final [KEY_TYPE_OFFLINE](https://developer.android.com/reference/android/media/MediaDrm.html#KEY_TYPE_OFFLINE)
        pub const KEY_TYPE_OFFLINE : i32 = 2;

        /// public static final [KEY_TYPE_RELEASE](https://developer.android.com/reference/android/media/MediaDrm.html#KEY_TYPE_RELEASE)
        pub const KEY_TYPE_RELEASE : i32 = 3;

        /// public static final [KEY_TYPE_STREAMING](https://developer.android.com/reference/android/media/MediaDrm.html#KEY_TYPE_STREAMING)
        pub const KEY_TYPE_STREAMING : i32 = 1;

        /// public static final [PROPERTY_ALGORITHMS](https://developer.android.com/reference/android/media/MediaDrm.html#PROPERTY_ALGORITHMS)
        pub const PROPERTY_ALGORITHMS : &'static str = "algorithms";

        /// public static final [PROPERTY_DESCRIPTION](https://developer.android.com/reference/android/media/MediaDrm.html#PROPERTY_DESCRIPTION)
        pub const PROPERTY_DESCRIPTION : &'static str = "description";

        /// public static final [PROPERTY_DEVICE_UNIQUE_ID](https://developer.android.com/reference/android/media/MediaDrm.html#PROPERTY_DEVICE_UNIQUE_ID)
        pub const PROPERTY_DEVICE_UNIQUE_ID : &'static str = "deviceUniqueId";

        /// public static final [PROPERTY_VENDOR](https://developer.android.com/reference/android/media/MediaDrm.html#PROPERTY_VENDOR)
        pub const PROPERTY_VENDOR : &'static str = "vendor";

        /// public static final [PROPERTY_VERSION](https://developer.android.com/reference/android/media/MediaDrm.html#PROPERTY_VERSION)
        pub const PROPERTY_VERSION : &'static str = "version";
    }
}