// WARNING: This file was autogenerated by jni-bindgen. Any changes to this file may be lost!!!
#[cfg(any(feature = "all", feature = "android-hardware-fingerprint-FingerprintManager"))]
__jni_bindgen! {
/// public class [FingerprintManager](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html)
///
/// Required feature: "android-hardware-fingerprint-FingerprintManager"
public class FingerprintManager ("android/hardware/fingerprint/FingerprintManager") extends crate::java::lang::Object {
/// [authenticate](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#authenticate(android.hardware.fingerprint.FingerprintManager.CryptoObject,%20android.os.CancellationSignal,%20int,%20android.hardware.fingerprint.FingerprintManager.AuthenticationCallback,%20android.os.Handler))
///
/// Required features: "android-hardware-fingerprint-FingerprintManager_AuthenticationCallback", "android-hardware-fingerprint-FingerprintManager_CryptoObject", "android-os-CancellationSignal", "android-os-Handler"
#[cfg(any(feature = "all", all(feature = "android-hardware-fingerprint-FingerprintManager_AuthenticationCallback", feature = "android-hardware-fingerprint-FingerprintManager_CryptoObject", feature = "android-os-CancellationSignal", feature = "android-os-Handler")))]
pub fn authenticate<'env>(&'env self, arg0: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::android::hardware::fingerprint::FingerprintManager_CryptoObject>>, arg1: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::android::os::CancellationSignal>>, arg2: i32, arg3: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::android::hardware::fingerprint::FingerprintManager_AuthenticationCallback>>, arg4: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::android::os::Handler>>) -> __jni_bindgen::std::result::Result<(), __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
// class.path == "android/hardware/fingerprint/FingerprintManager", java.flags == PUBLIC, .name == "authenticate", .descriptor == "(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;Landroid/os/CancellationSignal;ILandroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback;Landroid/os/Handler;)V"
unsafe {
let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0.into()), __jni_bindgen::AsJValue::as_jvalue(&arg1.into()), __jni_bindgen::AsJValue::as_jvalue(&arg2), __jni_bindgen::AsJValue::as_jvalue(&arg3.into()), __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/hardware/fingerprint/FingerprintManager\0", "authenticate\0", "(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;Landroid/os/CancellationSignal;ILandroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback;Landroid/os/Handler;)V\0");
__jni_env.call_void_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
}
}
/// [hasEnrolledFingerprints](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#hasEnrolledFingerprints())
pub fn hasEnrolledFingerprints<'env>(&'env self) -> __jni_bindgen::std::result::Result<bool, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
// class.path == "android/hardware/fingerprint/FingerprintManager", java.flags == PUBLIC, .name == "hasEnrolledFingerprints", .descriptor == "()Z"
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/hardware/fingerprint/FingerprintManager\0", "hasEnrolledFingerprints\0", "()Z\0");
__jni_env.call_boolean_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
}
}
/// [isHardwareDetected](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#isHardwareDetected())
pub fn isHardwareDetected<'env>(&'env self) -> __jni_bindgen::std::result::Result<bool, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
// class.path == "android/hardware/fingerprint/FingerprintManager", java.flags == PUBLIC, .name == "isHardwareDetected", .descriptor == "()Z"
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/hardware/fingerprint/FingerprintManager\0", "isHardwareDetected\0", "()Z\0");
__jni_env.call_boolean_method_a(self.0.object, __jni_method, __jni_args.as_ptr())
}
}
/// public static final [FINGERPRINT_ACQUIRED_GOOD](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ACQUIRED_GOOD)
pub const FINGERPRINT_ACQUIRED_GOOD : i32 = 0;
/// public static final [FINGERPRINT_ACQUIRED_IMAGER_DIRTY](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ACQUIRED_IMAGER_DIRTY)
pub const FINGERPRINT_ACQUIRED_IMAGER_DIRTY : i32 = 3;
/// public static final [FINGERPRINT_ACQUIRED_INSUFFICIENT](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ACQUIRED_INSUFFICIENT)
pub const FINGERPRINT_ACQUIRED_INSUFFICIENT : i32 = 2;
/// public static final [FINGERPRINT_ACQUIRED_PARTIAL](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ACQUIRED_PARTIAL)
pub const FINGERPRINT_ACQUIRED_PARTIAL : i32 = 1;
/// public static final [FINGERPRINT_ACQUIRED_TOO_FAST](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ACQUIRED_TOO_FAST)
pub const FINGERPRINT_ACQUIRED_TOO_FAST : i32 = 5;
/// public static final [FINGERPRINT_ACQUIRED_TOO_SLOW](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ACQUIRED_TOO_SLOW)
pub const FINGERPRINT_ACQUIRED_TOO_SLOW : i32 = 4;
/// public static final [FINGERPRINT_ERROR_CANCELED](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_CANCELED)
pub const FINGERPRINT_ERROR_CANCELED : i32 = 5;
/// public static final [FINGERPRINT_ERROR_HW_UNAVAILABLE](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_HW_UNAVAILABLE)
pub const FINGERPRINT_ERROR_HW_UNAVAILABLE : i32 = 1;
/// public static final [FINGERPRINT_ERROR_LOCKOUT](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_LOCKOUT)
pub const FINGERPRINT_ERROR_LOCKOUT : i32 = 7;
/// public static final [FINGERPRINT_ERROR_LOCKOUT_PERMANENT](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_LOCKOUT_PERMANENT)
pub const FINGERPRINT_ERROR_LOCKOUT_PERMANENT : i32 = 9;
/// public static final [FINGERPRINT_ERROR_NO_SPACE](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_NO_SPACE)
pub const FINGERPRINT_ERROR_NO_SPACE : i32 = 4;
/// public static final [FINGERPRINT_ERROR_TIMEOUT](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_TIMEOUT)
pub const FINGERPRINT_ERROR_TIMEOUT : i32 = 3;
/// public static final [FINGERPRINT_ERROR_UNABLE_TO_PROCESS](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_UNABLE_TO_PROCESS)
pub const FINGERPRINT_ERROR_UNABLE_TO_PROCESS : i32 = 2;
/// public static final [FINGERPRINT_ERROR_USER_CANCELED](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_USER_CANCELED)
pub const FINGERPRINT_ERROR_USER_CANCELED : i32 = 10;
/// public static final [FINGERPRINT_ERROR_VENDOR](https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_VENDOR)
pub const FINGERPRINT_ERROR_VENDOR : i32 = 8;
}
}