Make the Rust client the sole app
This commit is contained in:
1 parent
5ca244528f
commit
6dbc800739
27 files changed
+59
-42
No files matched your search
+19
-6
@@ -217,7 +217,11 @@ impl<State: AndroidAppState> IrisViewPeer<State> {
|
||||
.get_or_insert_with(|| DeviceClock::anchored(Instant::now(), event_time, oldest))
|
||||
}
|
||||
|
||||
fn generic_motion(&mut self, ctx: &mut CallbackCtx, event: &MotionEvent<'_>) -> bool {
|
||||
fn generic_motion<'local>(
|
||||
&mut self,
|
||||
ctx: &mut CallbackCtx<'local>,
|
||||
event: &MotionEvent<'local>,
|
||||
) -> bool {
|
||||
let action = event.action_masked(&mut ctx.env);
|
||||
let event_time = event.event_time_nanos(&mut ctx.env);
|
||||
let mut clock = self.device_clock(event_time, event_time);
|
||||
@@ -539,11 +543,20 @@ impl<State: AndroidAppState> ViewPeer for IrisViewPeer<State> {
|
||||
let action = event.action(&mut ctx.env);
|
||||
let x = event.x(&mut ctx.env);
|
||||
let y = event.y(&mut ctx.env);
|
||||
let ui = self.state.android_state_mut();
|
||||
if let Some(events) = ui
|
||||
.access_adapter
|
||||
.on_hover_event(&mut NullActionHandler, action, x, y)
|
||||
{
|
||||
let access_events = {
|
||||
let render_handle = self.rsc.ui.render_state();
|
||||
let render_state = render_handle.get();
|
||||
let mut source = AndroidAccessSource {
|
||||
widgets: self.rsc.widgets(),
|
||||
render: &render_state,
|
||||
rsc: &self.rsc,
|
||||
};
|
||||
self.state
|
||||
.android_state_mut()
|
||||
.access_adapter
|
||||
.on_hover_event(&mut source, action, x, y)
|
||||
};
|
||||
if let Some(events) = access_events {
|
||||
ctx.push_dynamic_deferred_callback(move |env, view| {
|
||||
raise_if_enabled(env, view, events);
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user