ferroui_android/
i_activity_result_handler.rs1use std::rc::Rc;
5
6#[cfg(target_os = "android")]
9pub type Intent = crate::interop::java::JavaObject;
10#[cfg(not(target_os = "android"))]
11pub type Intent = std::convert::Infallible;
12
13pub const RESULT_OK: i32 = -1;
16pub const RESULT_CANCELED: i32 = 0;
17pub const RESULT_FIRST_USER: i32 = 1;
18
19pub const PERMISSION_GRANTED: i32 = 0;
22pub const PERMISSION_DENIED: i32 = -1;
23
24pub type ActivityResultHandler = Rc<dyn Fn(i32, i32, Option<&Intent>)>;
27
28pub type RequestPermissionsResultHandler = Rc<dyn Fn(i32, &[String], &[i32])>;
30
31pub trait IActivityResultHandler {
32 fn activity_result(&self) -> Option<ActivityResultHandler>;
33
34 fn set_activity_result(&self, value: Option<ActivityResultHandler>);
35
36 fn request_permissions_result(&self) -> Option<RequestPermissionsResultHandler>;
37
38 fn set_request_permissions_result(&self, value: Option<RequestPermissionsResultHandler>);
39}