From 53609a85fdf6e7e7f10698bdf0303744d05cb6d5 Mon Sep 17 00:00:00 2001 From: Martin Milata Date: Tue, 21 May 2024 00:42:33 +0200 Subject: [PATCH] refactor(core/ui): fix clippy issues --- .../src/ui/model_mercury/bootloader/mod.rs | 10 +++--- .../src/ui/model_mercury/component/loader.rs | 10 +++--- .../ui/model_mercury/component/progress.rs | 19 +++++++---- .../ui/model_mercury/flow/confirm_action.rs | 8 ++--- .../embed/rust/src/ui/model_mercury/shapes.rs | 32 +++++++++++-------- 5 files changed, 47 insertions(+), 32 deletions(-) diff --git a/core/embed/rust/src/ui/model_mercury/bootloader/mod.rs b/core/embed/rust/src/ui/model_mercury/bootloader/mod.rs index 5fce9d5e2..c77d7e1c9 100644 --- a/core/embed/rust/src/ui/model_mercury/bootloader/mod.rs +++ b/core/embed/rust/src/ui/model_mercury/bootloader/mod.rs @@ -38,7 +38,7 @@ use crate::ui::{ constant, display::{toif::Toif, LOADER_MAX}, geometry::{Alignment, Alignment2D}, - model_mercury::shapes::render_loader, + model_mercury::shapes::{render_loader, LoaderRange}, shape, shape::render_on_display, }; @@ -130,9 +130,11 @@ impl ModelMercuryFeatures { inactive_color, fg_color, bg_color, - 0, - end, - progress >= LOADER_MAX, + if progress >= LOADER_MAX { + LoaderRange::Full + } else { + LoaderRange::FromTo(0, end) + }, target, ); diff --git a/core/embed/rust/src/ui/model_mercury/component/loader.rs b/core/embed/rust/src/ui/model_mercury/component/loader.rs index f12e8e308..78e9e5438 100644 --- a/core/embed/rust/src/ui/model_mercury/component/loader.rs +++ b/core/embed/rust/src/ui/model_mercury/component/loader.rs @@ -7,7 +7,7 @@ use crate::{ component::{Component, Event, EventCtx, Pad}, display::{self, toif::Icon, Color, LOADER_MAX}, geometry::{Alignment2D, Offset, Rect}, - model_mercury::shapes::render_loader, + model_mercury::shapes::{render_loader, LoaderRange}, shape::{self, Renderer}, util::animation_disabled, }, @@ -231,9 +231,11 @@ impl Component for Loader { inactive_color, active_color, background_color, - start, - end, - progress >= LOADER_MAX, + if progress >= LOADER_MAX { + LoaderRange::Full + } else { + LoaderRange::FromTo(start, end) + }, target, ); diff --git a/core/embed/rust/src/ui/model_mercury/component/progress.rs b/core/embed/rust/src/ui/model_mercury/component/progress.rs index aaa1cd6bd..c2af34a0a 100644 --- a/core/embed/rust/src/ui/model_mercury/component/progress.rs +++ b/core/embed/rust/src/ui/model_mercury/component/progress.rs @@ -11,7 +11,10 @@ use crate::{ }, display::{self, Font, LOADER_MAX}, geometry::{Insets, Offset, Rect}, - model_mercury::{constant, shapes::render_loader}, + model_mercury::{ + constant, + shapes::{render_loader, LoaderRange}, + }, shape, shape::Renderer, util::animation_disabled, @@ -116,15 +119,19 @@ impl Component for Progress { let background_color = theme::BG; let inactive_color = theme::GREY_EXTRA_DARK; - let (start, end) = if self.indeterminate { + let range = if self.indeterminate { let start = (self.value - 100) % 1000; let end = (self.value + 100) % 1000; let start = ((start as i32 * 8 * shape::PI4 as i32) / 1000) as i16; let end = ((end as i32 * 8 * shape::PI4 as i32) / 1000) as i16; - (start, end) + LoaderRange::FromTo(start, end) } else { let end = ((self.value as i32 * 8 * shape::PI4 as i32) / 1000) as i16; - (0, end) + if self.value >= LOADER_MAX { + LoaderRange::Full + } else { + LoaderRange::FromTo(0, end) + } }; render_loader( @@ -132,9 +139,7 @@ impl Component for Progress { inactive_color, active_color, background_color, - start, - end, - !self.indeterminate && self.value >= LOADER_MAX, + range, target, ); diff --git a/core/embed/rust/src/ui/model_mercury/flow/confirm_action.rs b/core/embed/rust/src/ui/model_mercury/flow/confirm_action.rs index 64f956b96..2244f3cc2 100644 --- a/core/embed/rust/src/ui/model_mercury/flow/confirm_action.rs +++ b/core/embed/rust/src/ui/model_mercury/flow/confirm_action.rs @@ -155,7 +155,7 @@ fn new_confirm_action_obj(_args: &[Obj], kwargs: &Map) -> Result Result Result( center: Point, inactive_color: Color, active_color: Color, background_color: Color, - start: i16, - end: i16, - full: bool, + range: LoaderRange, target: &mut impl Renderer<'s>, ) { shape::Circle::new(center, constant::LOADER_OUTER) .with_bg(inactive_color) .render(target); - if full { - shape::Circle::new(center, constant::LOADER_OUTER) - .with_bg(active_color) - .render(target); - } else { - shape::Circle::new(center, constant::LOADER_OUTER) - .with_bg(active_color) - .with_start_angle(start) - .with_end_angle(end) - .render(target); + match range { + LoaderRange::Full => { + shape::Circle::new(center, constant::LOADER_OUTER) + .with_bg(active_color) + .render(target); + } + LoaderRange::FromTo(start, end) => { + shape::Circle::new(center, constant::LOADER_OUTER) + .with_bg(active_color) + .with_start_angle(start) + .with_end_angle(end) + .render(target); + } } shape::Circle::new(center, constant::LOADER_INNER + 2)