r##"impl ControlStateChange for JavaCallback { #[allow(unused_mut)] fn on_state_changed(&self, a0: ControlItem, a1: bool) { swig_assert_eq_size!(::std::os::raw::c_uint, u32); swig_assert_eq_size!(::std::os::raw::c_int, i32); let env = self.get_jni_env(); if let Some(env) = env.env { let mut a0: jobject = ::swig_from(a0, env); let mut a1: jboolean = if a1 { 1 as jboolean } else { 0 as jboolean }; unsafe { (**env).CallVoidMethod.unwrap()( env, self.this, self.methods[0usize], a0, a1 as ::std::os::raw::c_uint, ); if (**env).ExceptionCheck.unwrap()(env) != 0 { log::error!(concat!( stringify!(on_state_changed), ": java throw exception" )); (**env).ExceptionDescribe.unwrap()(env); (**env).ExceptionClear.unwrap()(env); } }; } } }"##;