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 = <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);
}
};
}
}
}"##;