mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-02 04:18:20 +00:00
fix(core/ui): missing swipe event when animations disabled
This commit is contained in:
parent
bd8ce6e55d
commit
cbcd9dd8bd
@ -55,16 +55,21 @@ impl<Q: FlowState, S: FlowStore> SwipeFlow<Q, S> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn goto(&mut self, ctx: &mut EventCtx, direction: SwipeDirection, state: Q) {
|
fn goto(&mut self, ctx: &mut EventCtx, direction: SwipeDirection, state: Q) {
|
||||||
if state == self.state {
|
|
||||||
self.transition = Transition::Internal;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if util::animation_disabled() {
|
if util::animation_disabled() {
|
||||||
|
if state == self.state {
|
||||||
|
assert!(self
|
||||||
|
.store
|
||||||
|
.map_swipable(state.index(), |s| s.swipe_finished()));
|
||||||
|
}
|
||||||
self.state = state;
|
self.state = state;
|
||||||
self.store.event(state.index(), ctx, Event::Attach);
|
self.store.event(state.index(), ctx, Event::Attach);
|
||||||
ctx.request_paint();
|
ctx.request_paint();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if state == self.state {
|
||||||
|
self.transition = Transition::Internal;
|
||||||
|
return;
|
||||||
|
}
|
||||||
self.transition = Transition::External {
|
self.transition = Transition::External {
|
||||||
prev_state: self.state,
|
prev_state: self.state,
|
||||||
animation: Animation::new(0.0f32, 1.0f32, util::SLIDE_DURATION_MS, Instant::now()),
|
animation: Animation::new(0.0f32, 1.0f32, util::SLIDE_DURATION_MS, Instant::now()),
|
||||||
|
Loading…
Reference in New Issue
Block a user