diff --git a/Cargo.lock b/Cargo.lock index 5aae73f..b83081e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -33,7 +33,7 @@ dependencies = [ ] [[package]] -name = "android-native" +name = "android-native-test" version = "0.1.0" dependencies = [ "android-activity", diff --git a/src/lib.rs b/src/lib.rs index 987925e..fc2a422 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,10 +1,12 @@ use std::time::Duration; -use android_activity::{AndroidApp, InputStatus, MainEvent, PollEvent}; +use android_activity::{input::InputEvent, AndroidApp, InputStatus, MainEvent, PollEvent}; #[no_mangle] fn android_main(app: AndroidApp) { - android_logger::init_once(android_logger::Config::default().with_min_level(log::Level::Info)); + android_logger::init_once( + android_logger::Config::default().with_max_level(log::LevelFilter::Debug), + ); loop { app.poll_events(Some(Duration::from_millis(500)), |event| { @@ -18,35 +20,49 @@ fn android_main(app: AndroidApp) { PollEvent::Main(event) => { log::info!("Main event: {:?}", event); match event { - MainEvent::InputAvailable => {} - MainEvent::InitWindow {} => {} - MainEvent::TerminateWindow {} => {} - MainEvent::WindowResized {} => {} - MainEvent::RedrawNeeded {} => {} - MainEvent::ContentRectChanged {} => {} + MainEvent::InputAvailable => match app.input_events_iter() { + Ok(mut iter) => loop { + let read_input = iter.next(|event| match event { + InputEvent::KeyEvent(key_event) => { + log::info!("KeyEvent: {:?}", key_event); + InputStatus::Unhandled + } + InputEvent::MotionEvent(motion_event) => { + log::info!("MotionEvent: {:?}", motion_event); + InputStatus::Unhandled + } + event => { + log::info!("Event: {:?}", event); + InputStatus::Unhandled + } + }); + + if !read_input { + break; + } + }, + Err(err) => log::error!("Failed to get input events: {err:?}"), + }, MainEvent::GainedFocus => {} MainEvent::LostFocus => {} - MainEvent::ConfigChanged {} => {} MainEvent::LowMemory => {} MainEvent::Start => {} - MainEvent::Resume { loader } => {} - MainEvent::SaveState { saver } => {} MainEvent::Pause => {} MainEvent::Stop => {} MainEvent::Destroy => { return; } - MainEvent::InsetsChanged {} => {} _ => {} } } _ => {} } - app.input_events(|event| { + /*app.input_events(|event| { log::info!("Input event: {event:?}"); InputStatus::Unhandled }); + */ }); } }