#[rustfmt::skip] // This file has been automatically generated by `jnim` from `ComponentCallbacks2.class`. // DO NOT EDIT use jnim::*; use crate::android::content::ComponentCallbacks; pub trait ComponentCallbacks2: AsRef + ComponentCallbacks { const TRIM_MEMORY_BACKGROUND: i32 = 40i32; const TRIM_MEMORY_COMPLETE: i32 = 80i32; const TRIM_MEMORY_MODERATE: i32 = 60i32; const TRIM_MEMORY_RUNNING_CRITICAL: i32 = 15i32; const TRIM_MEMORY_RUNNING_LOW: i32 = 10i32; const TRIM_MEMORY_RUNNING_MODERATE: i32 = 5i32; const TRIM_MEMORY_UI_HIDDEN: i32 = 20i32; fn component_callbacks2_class(env: Option<&JEnv>) -> Option { const NAME: &'static [u8] = b"android/content/ComponentCallbacks2\0"; static CACHE: CachedID = CachedID::new(); CACHE.get(|| JEnv::env(env)?.find_class(NAME)) } fn on_trim_memory<'a>(&'a self, env: &'a JEnv, arg0: JInt) -> Option<()> { static CACHE: CachedID = CachedID::new(); CACHE .get(|| Self::component_callbacks2_class(Some(env))?.method(env, b"onTrimMemory\0", b"(I)V\0"))? .call(env, self.as_ref(), (arg0,)) } } pub struct ComponentCallbacks2Object { __object: JObject, } impl ComponentCallbacks2 for ComponentCallbacks2Object {} impl JNameMaker for ComponentCallbacks2Object { const JAVA_PATH: &'static [u8] = b"android/content/ComponentCallbacks2\0"; } impl JPlainMarker for ComponentCallbacks2Object { 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 ComponentCallbacks2Object { type Target = JObject; fn deref(&self) -> &Self::Target { &self.__object } } impl AsRef for ComponentCallbacks2Object { fn as_ref(&self) -> &JObject { &self.__object } } impl ComponentCallbacks for ComponentCallbacks2Object {} #[test] fn test_type_zero() { assert_eq!(0, std::mem::size_of::()); }