1#[cfg(target_os = "android")]
2use freya::prelude::{
3 LaunchConfig,
4 WindowConfig,
5 launch,
6};
7#[cfg(target_os = "android")]
8use winit::platform::android::activity::AndroidApp;
9
10#[cfg(target_os = "android")]
11mod app;
12
13#[cfg(target_os = "android")]
14#[unsafe(no_mangle)]
15fn android_main(droid_app: AndroidApp) {
16 use freya::android::AndroidPlugin;
17 use freya_winit::renderer::NativeEvent;
18 use winit::{
19 event_loop::EventLoop,
20 platform::android::EventLoopBuilderExtAndroid,
21 };
22
23 android_logger::init_once(
24 android_logger::Config::default().with_max_level(log::LevelFilter::Debug),
25 );
26
27 let event_loop = EventLoop::<NativeEvent>::with_user_event()
28 .with_android_app(droid_app.clone())
29 .build()
30 .expect("Failed to build event loop");
31
32 launch(
33 LaunchConfig::new()
34 .with_plugin(AndroidPlugin::new(droid_app))
35 .with_window(WindowConfig::new(app::app))
36 .with_event_loop(event_loop),
37 )
38}