#![cfg_attr(not(target_os = "android"), allow(dead_code))]
pub mod automation;
pub mod interop;
pub mod log;
pub mod platform;
mod android_platform;
mod android_runtime_platform;
mod application_lifetime;
mod cursor_factory;
mod explore_by_touch_helper;
mod ferro_access_helper;
mod i_activity_result_handler;
mod i_android_navigation_service;
mod i_ferro_activity;
mod i_init_editor_info;
mod platform_icon_loader;
mod stubs;
#[cfg(target_os = "android")]
mod android_dispatcher_impl;
#[cfg(target_os = "android")]
mod android_egl;
#[cfg(target_os = "android")]
mod android_view_control_handle;
#[cfg(target_os = "android")]
mod back_pressed_callback;
#[cfg(target_os = "android")]
mod choreographer_timer;
#[cfg(target_os = "android")]
mod ferro_activity;
#[cfg(target_os = "android")]
mod ferro_android_application;
#[cfg(target_os = "android")]
mod ferro_main_activity;
#[cfg(target_os = "android")]
mod ferro_view;
#[cfg(target_os = "android")]
mod ferro_view_input;
pub use android_platform::{AndroidPlatformOptions, AndroidRenderingMode};
pub use application_lifetime::ApplicationLifetime;
pub use cursor_factory::CursorFactory;
pub use i_activity_result_handler::{
ActivityResultHandler, IActivityResultHandler, Intent, RequestPermissionsResultHandler, PERMISSION_DENIED,
PERMISSION_GRANTED, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK,
};
pub use i_android_navigation_service::{AndroidBackRequestedEventArgs, IActivityNavigationService};
pub use i_ferro_activity::IFerroActivity;
pub use platform_icon_loader::PlatformIconLoader;
pub use stubs::{PlatformIconLoaderStub, WindowingPlatformStub};
#[cfg(target_os = "android")]
pub use android_dispatcher_impl::AndroidDispatcherImpl;
#[cfg(target_os = "android")]
pub use android_platform::{AndroidApplicationExtensions, AndroidPlatform};
#[cfg(target_os = "android")]
pub use android_runtime_platform::{AndroidRuntimePlatform, AndroidRuntimePlatformServices};
#[cfg(target_os = "android")]
pub use android_view_control_handle::AndroidViewControlHandle;
#[cfg(target_os = "android")]
pub use choreographer_timer::ChoreographerTimer;
#[cfg(target_os = "android")]
pub use ferro_activity::FerroActivity;
#[cfg(target_os = "android")]
pub use ferro_android_application::FerroAndroidApplication;
#[cfg(target_os = "android")]
pub use ferro_main_activity::FerroMainActivity;
#[cfg(target_os = "android")]
pub use ferro_view::FerroView;
#[cfg(target_os = "android")]
pub use interop::natives::on_load;
#[macro_export]
macro_rules! android_application {
($build:expr) => {
#[cfg(target_os = "android")]
#[no_mangle]
pub unsafe extern "system" fn JNI_OnLoad(
vm: *mut ::std::ffi::c_void,
_reserved: *mut ::std::ffi::c_void,
) -> i32 {
unsafe { $crate::on_load(vm, $build) }
}
};
}