use std::rc::Rc;
#[cfg(target_os = "android")]
pub type Intent = crate::interop::java::JavaObject;
#[cfg(not(target_os = "android"))]
pub type Intent = std::convert::Infallible;
pub const RESULT_OK: i32 = -1;
pub const RESULT_CANCELED: i32 = 0;
pub const RESULT_FIRST_USER: i32 = 1;
pub const PERMISSION_GRANTED: i32 = 0;
pub const PERMISSION_DENIED: i32 = -1;
pub type ActivityResultHandler = Rc<dyn Fn(i32, i32, Option<&Intent>)>;
pub type RequestPermissionsResultHandler = Rc<dyn Fn(i32, &[String], &[i32])>;
pub trait IActivityResultHandler {
fn activity_result(&self) -> Option<ActivityResultHandler>;
fn set_activity_result(&self, value: Option<ActivityResultHandler>);
fn request_permissions_result(&self) -> Option<RequestPermissionsResultHandler>;
fn set_request_permissions_result(&self, value: Option<RequestPermissionsResultHandler>);
}