#[rustfmt::skip] // This file has been automatically generated by `jnim` from `KeyEventCallback.class`. // DO NOT EDIT use jnim::*; pub trait KeyEventCallback: AsRef { fn key_event_callback_class(env: Option<&JEnv>) -> Option { const NAME: &'static [u8] = b"android/view/KeyEvent$Callback\0"; static CACHE: CachedID = CachedID::new(); CACHE.get(|| JEnv::env(env)?.find_class(NAME)) } fn on_key_down<'a>(&'a self, env: &'a JEnv, arg0: JInt, arg1: &'a crate::android::view::KeyEvent) -> Option { static CACHE: CachedID = CachedID::new(); CACHE .get(|| Self::key_event_callback_class(Some(env))?.method(env, b"onKeyDown\0", b"(ILandroid/view/KeyEvent;)Z\0"))? .call(env, self.as_ref(), (arg0, arg1)) } fn on_key_long_press<'a>(&'a self, env: &'a JEnv, arg0: JInt, arg1: &'a crate::android::view::KeyEvent) -> Option { static CACHE: CachedID = CachedID::new(); CACHE .get(|| Self::key_event_callback_class(Some(env))?.method(env, b"onKeyLongPress\0", b"(ILandroid/view/KeyEvent;)Z\0"))? .call(env, self.as_ref(), (arg0, arg1)) } fn on_key_up<'a>(&'a self, env: &'a JEnv, arg0: JInt, arg1: &'a crate::android::view::KeyEvent) -> Option { static CACHE: CachedID = CachedID::new(); CACHE .get(|| Self::key_event_callback_class(Some(env))?.method(env, b"onKeyUp\0", b"(ILandroid/view/KeyEvent;)Z\0"))? .call(env, self.as_ref(), (arg0, arg1)) } fn on_key_multiple<'a>(&'a self, env: &'a JEnv, arg0: JInt, arg1: JInt, arg2: &'a crate::android::view::KeyEvent) -> Option { static CACHE: CachedID = CachedID::new(); CACHE .get(|| Self::key_event_callback_class(Some(env))?.method(env, b"onKeyMultiple\0", b"(IILandroid/view/KeyEvent;)Z\0"))? .call(env, self.as_ref(), (arg0, arg1, arg2)) } } pub struct KeyEventCallbackObject { __object: JObject, } impl KeyEventCallback for KeyEventCallbackObject {} impl JNameMaker for KeyEventCallbackObject { const JAVA_PATH: &'static [u8] = b"android/view/KeyEvent$Callback\0"; } impl JPlainMarker for KeyEventCallbackObject { fn class(env: Option<&JEnv>) -> Option { static CACHE: CachedID = CachedID::new(); CACHE.get(|| JEnv::env(env)?.find_class(Self::JAVA_PATH)) } } impl core::ops::Deref for KeyEventCallbackObject { type Target = JObject; fn deref(&self) -> &Self::Target { &self.__object } } impl AsRef for KeyEventCallbackObject { fn as_ref(&self) -> &JObject { &self.__object } } #[test] fn test_type_zero() { assert_eq!(0, std::mem::size_of::()); }