diff --git a/core/assets/lock24.png b/core/assets/lock24.png new file mode 100644 index 0000000000..5c5b7673fd Binary files /dev/null and b/core/assets/lock24.png differ diff --git a/core/embed/rust/src/ui/model_tt/component/homescreen/mod.rs b/core/embed/rust/src/ui/model_tt/component/homescreen/mod.rs index a89345fef0..47922aa527 100644 --- a/core/embed/rust/src/ui/model_tt/component/homescreen/mod.rs +++ b/core/embed/rust/src/ui/model_tt/component/homescreen/mod.rs @@ -38,7 +38,7 @@ const TOP_CENTER: Point = AREA.top_center(); const LABEL_Y: i16 = HEIGHT - 18; const LOCKED_Y: i16 = HEIGHT / 2 - 13; const TAP_Y: i16 = HEIGHT / 2 + 14; -const HOLD_Y: i16 = 35; +const HOLD_Y: i16 = 200; const COINJOIN_Y: i16 = 30; const LOADER_OFFSET: Offset = Offset::y(-10); const LOADER_DELAY: Duration = Duration::from_millis(500); @@ -67,7 +67,7 @@ where label, notification, hold_to_lock, - loader: Loader::new().with_durations(LOADER_DURATION, LOADER_DURATION / 3), + loader: Loader::with_lock_icon().with_durations(LOADER_DURATION, LOADER_DURATION / 3), pad: Pad::with_background(theme::BG), paint_notification_only: false, delay: None, @@ -106,8 +106,8 @@ where fn paint_loader(&mut self) { display::text_center( TOP_CENTER + Offset::y(HOLD_Y), - "HOLD TO LOCK", - Font::BOLD, + "Locking the device...", + Font::NORMAL, theme::FG, theme::BG, ); diff --git a/core/embed/rust/src/ui/model_tt/component/loader.rs b/core/embed/rust/src/ui/model_tt/component/loader.rs index 2f6b9d62d4..20eac60466 100644 --- a/core/embed/rust/src/ui/model_tt/component/loader.rs +++ b/core/embed/rust/src/ui/model_tt/component/loader.rs @@ -39,6 +39,15 @@ impl Loader { pub fn new() -> Self { let styles = theme::loader_default(); + Self::with_styles(styles) + } + + pub fn with_lock_icon() -> Self { + let styles = theme::loader_lock_icon(); + Self::with_styles(styles) + } + + pub fn with_styles(styles: LoaderStyleSheet) -> Self { Self { pad: Pad::with_background(styles.normal.background_color), state: State::Initial, diff --git a/core/embed/rust/src/ui/model_tt/res/lock24.toif b/core/embed/rust/src/ui/model_tt/res/lock24.toif new file mode 100644 index 0000000000..16b4c4600f Binary files /dev/null and b/core/embed/rust/src/ui/model_tt/res/lock24.toif differ diff --git a/core/embed/rust/src/ui/model_tt/theme/mod.rs b/core/embed/rust/src/ui/model_tt/theme/mod.rs index edcea4682b..8d0052b71f 100644 --- a/core/embed/rust/src/ui/model_tt/theme/mod.rs +++ b/core/embed/rust/src/ui/model_tt/theme/mod.rs @@ -75,6 +75,7 @@ include_icon!(ICON_LIST_CHECK, "model_tt/res/check16.toif"); include_icon!(ICON_WARN, "model_tt/res/warning16.toif"); include_icon!(ICON_WARNING40, "model_tt/res/warning40.toif"); include_icon!(ICON_LOCK, "model_tt/res/lock16.toif"); +include_icon!(ICON_LOCK_BIG, "model_tt/res/lock24.toif"); include_icon!(ICON_COINJOIN, "model_tt/res/coinjoin16.toif"); include_icon!(ICON_MAGIC, "model_tt/res/magic.toif"); @@ -575,6 +576,21 @@ pub const fn loader_default() -> LoaderStyleSheet { } } +pub const fn loader_lock_icon() -> LoaderStyleSheet { + LoaderStyleSheet { + normal: &LoaderStyle { + icon: Some((ICON_LOCK_BIG, FG)), + loader_color: FG, + background_color: BG, + }, + active: &LoaderStyle { + icon: Some((ICON_LOCK_BIG, FG)), + loader_color: GREEN, + background_color: BG, + }, + } +} + pub const TEXT_NORMAL: TextStyle = TextStyle::new(Font::NORMAL, FG, BG, GREY_LIGHT, GREY_LIGHT); pub const TEXT_DEMIBOLD: TextStyle = TextStyle::new(Font::DEMIBOLD, FG, BG, GREY_LIGHT, GREY_LIGHT); pub const TEXT_BOLD: TextStyle = TextStyle::new(Font::BOLD, FG, BG, GREY_LIGHT, GREY_LIGHT);