matejcik
85d699a42d
refactor(core/rust): simplify match statement in footer.rs
2024-09-26 10:00:48 +02:00
matejcik
f7ce99e7d7
refactor(core/rust): EventPropagation enum
...
to indicate in a better way that some event should be propagated further
there are probably more places where this would be appropriate
2024-09-26 10:00:48 +02:00
matejcik
c0bb55258b
refactor(core/rust): use SwipeEvent in place of SwipeDetectMsg
2024-09-26 10:00:48 +02:00
matejcik
9f083c1865
refactor(core/rust): replace TouchAbort event with explicit abort via a detected swipe
...
worth considering:
pub enum Phase {
Start,
Move,
End,
}
pub enum TouchEvent {
Touch(Phase, Point),
Swipe(Phase, Point),
}
(Swipe needs its own Phase because it needs a progress on the Move, but
otherwise...)
2024-09-26 10:00:48 +02:00
matejcik
943d6d9b30
refactor(core/rust): use separate files for button and touch events
...
this makes it easier to feature-gate them
2024-09-26 10:00:48 +02:00
matejcik
e049efd171
refactor(core/rust): move ui::component::SwipeDirection to ui::geometry::Direction
...
it's a rather general thing, no reason to tie its existence to Swipe
2024-09-26 10:00:48 +02:00
matejcik
48edb483a0
refactor(core/rust): streamline FlowState handling
...
* use the freed-up FlowState name for an alias to &'static dyn
FlowController
* replace StateChange with raw Decision
* move FlowState into Decision::Transition (the other Decisions should
not have the ability to change state
* also rename `transit` to `goto` which is a much better name
2024-09-26 10:00:48 +02:00
matejcik
9cc03c91d1
refactor(core/rust): rename the FlowState trait to FlowController
...
so that we can use the FlowState name for a type alias
2024-09-26 10:00:48 +02:00
matejcik
30c08b6442
refactor(core/rust): simplify code for internal paging events
...
[no changelog]
2024-09-26 10:00:48 +02:00
cepetr
454b8140ec
fix(core): fix slow jpeg decoding
...
[no changelog]
2024-09-25 12:46:57 +02:00
cepetr
35c6f52133
refactor(core/embed): introduce system, tasks, applets and emergency mode
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b1a41ded79
refactor(core/embed): improve bootuils api
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1443f86983
feat(core/embed): introduce systick and systimer drivers
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a3fcc62655
refactor(core/build): remove hardcoded build path
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
4312c08612
refactor(core/embed): extract hw entropy logic to its own module
...
[no changelog]
2024-09-24 12:21:53 +02:00
Ioan Bizău
6da38f4cf3
feat(core): show account info in ETH send/stake flow
2024-09-24 11:57:34 +03:00
tychovrahe
6658c42a95
fix(core): use new rendering in changing_text
...
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
23d68eb0bb
fix(core): fix model T new-rendering loader
...
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
c6a1eba4b6
fix(core): fix fading on model T bootloader
...
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
1dc5c4c03f
fix(core): fix model_tr icons for new rendering
...
[no changelog]
2024-09-17 17:46:11 +02:00
Ioan Bizău
32be89a29a
refactor(core): use code to append colon to strings
...
[no changelog]
2024-09-17 01:44:20 +02:00
Ioan Bizău
1c7bfdb04c
refactor(core): use a template to add colon to strings
...
[no changelog]
2024-09-17 01:44:20 +02:00
obrusvit
8d1a9bc17f
chore(core): remove duplicated FlowMsg conversion
...
[no changelog]
2024-09-13 12:08:42 +02:00
obrusvit
9b4b1203b6
refactor(core/mercury): remove some unused code
...
[no changelog]
2024-09-12 21:26:45 +02:00
obrusvit
aab68b9dfa
feat(core/mercury): impl footer in RemainingShares
2024-09-12 21:26:45 +02:00
obrusvit
d15ecfb859
refactor(core/mercury): self-updating footer
...
This commit enables registering function for updating footer and header
based on the content. This eliminates the need to create wrappers around
Frame to update them.
[no changelog]
2024-09-12 21:26:45 +02:00
Ioan Bizău
f6aa7cbb08
fix(core): tweak swipes in ETH staking flow
2024-09-12 11:45:30 +03:00
Ioan Bizău
ba8f0ea4bc
feat(core): use new ETH send flow also for staking
2024-09-03 18:59:53 +03:00
obrusvit
c5f9fadbd1
fix(core/mercury): show remaining shares
...
This commit enables showing "Remaining shares" from the context menu
during recovery process. This is only shown during super-shamir.
2024-09-03 14:20:34 +02:00
tychovrahe
d334b92073
feat(core): add bootloader unlocking functionality to U5 optiga models
2024-09-03 13:07:34 +02:00
tychovrahe
b8c27d5fd6
feat(core/bootloader): only allow confirm-less firmware installation for full-trust images
2024-09-03 08:39:42 +02:00
Martin Milata
7db1529533
refactor(core/ui): alternative multipage footer
2024-09-02 19:36:25 +02:00
Martin Milata
2572705d1f
refactor(core/ui/mercury): delete CancelInfoConfirm
...
[no changelog]
2024-09-02 19:36:25 +02:00
Martin Milata
7c8be6f0ea
fix(core/ui/mercury): FIDO2 layouts
2024-09-02 19:36:25 +02:00
tychovrahe
6caafd6642
fix(core/bootloader): fix T3B1 bootloader UI - unsafe screen, boot image
2024-09-02 15:50:51 +02:00
obrusvit
9e18e72a2c
feat(core): ask for 20/33 words to unlock backup
...
Unlocking repeated backup is only possible with SLIP-39 extendable
backup which contains shares of 20 or 33 words. It is UI bug to have the
user choose from all options (12, 18, 20, 24, 33). This commit reduces
the choices when unlocking repeated backup to (20, 33) for all models.
2024-08-29 16:01:13 +02:00
tychovrahe
384615c047
fix(core): fix button alignment in T3T1 bootloader
...
[no changelog]
2024-08-29 10:49:32 +02:00
obrusvit
f0989e20b8
fix(core/ui): fix persistent word during recovery
...
Remove the current word from recovery progress if a user goes to
previous word.
[no changelog]
2024-08-28 14:33:02 +02:00
obrusvit
65d3fd00f1
fix(core/ui): fix mnemonic keys availability
...
This commit disables keys of mnemonic keyboard if their press cannot
lead to a valid word if the keyboard is initialized with a pre-filled
word. This is useful to get valid keyboard state when going to a
previous word during recovery.
[no changelog]
2024-08-28 14:33:02 +02:00
obrusvit
e2022db8fa
feat(core/mercury): use less severe icon color
...
Not using danger color during onboarding.
[no changelog]
2024-08-28 14:21:07 +02:00
Andrew Kozlik
2a567f3a0c
feat: Remove display_random feature.
2024-08-27 19:33:23 +02:00
Ioan Bizău
b747a5bcc9
refactor(core): merge confirm_summary flow into confirm_output flow
2024-08-27 16:21:03 +03:00
Ioan Bizău
692eee3e07
feat(core): add progress to Ethereum transaction signing
2024-08-27 16:21:03 +03:00
Ioan Bizău
09d3301785
feat(core): improve ETH send flow
2024-08-27 16:21:03 +03:00
obrusvit
e19138cdc8
chore(core): remove unused mercury ButtonContent
...
[no changelog]
2024-08-22 08:58:10 +02:00
obrusvit
50dc265162
feat(core/mercury): impl flow_request_passphrase
...
This commit replaces request_passphrase with flow_request_passphrase.
The added benefit is that the user is prompted for confirmation if they
want to proceed with an empty passphrase.
2024-08-22 00:47:15 +02:00
obrusvit
60ad7219fe
refactor(core): use PromptMsg instead of Option<>
...
PromptScreen now uses dedicated PromptMsg with Confirmed and Cancelled
values instead of empty Option<>. This change affects only mercury code.
This is more explicit and enables "yes" or "no" prompts screens.
Otherwise, the "no" option was handled by the 'x' button handled by
Frame.
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
2b4d6eb798
feat(core/mercury): passphrase confirm empty btn
...
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
15526343c9
feat(core/mercury): introduce binary_selection
...
This commit adds a Component which prompts a user with a pair of two
buttons - left and right. The Component is parametrized by the buttons
contents and styles.
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
d99a94758b
feat(core/mercury): allow passphrase in FlowStore
...
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
2203d9be1a
feat(core/ui): introduce FlowMsg::Text option
...
This commit allows flows to work with ShortString which can be converted
to micropython as str.
[no changelog]
2024-08-22 00:47:15 +02:00
tychovrahe
5417ec15df
fix(core): introduce ui_overlay feature - fixes T3T1 bootloader compilation with new rendering
...
[no changelog]
2024-08-19 12:17:11 +02:00
tychovrahe
182f8d9774
chore(core): fix unused warning
...
[no changelog]
2024-08-01 16:17:12 +02:00
tychovrahe
effd81ed3b
chore(core): fix xframebuffer conditionals
...
[no changelog]
2024-08-01 16:17:12 +02:00
obrusvit
fbf380caba
refactor(core/mercury): init Paragraphs from Vec
...
[no changelog]
2024-07-31 11:52:47 +02:00
obrusvit
71b2c986f8
feat(core/ui): send BR from rust during recovery
...
[no changelog]
2024-07-31 11:36:32 +02:00
obrusvit
510230628b
feat(core): allow BR from rust on every Attach
...
This commit allows creating a rust flow in which a component sends the
configured ButtonRequest repeatedly on every Event::Attach.
This is necessary in recovery homescreen flow where we want to send
ButtonRequest also after restarting the device.
[no changelog]
2024-07-31 11:36:32 +02:00
obrusvit
11308f578d
feat(core/ui): T3T1 instruction screens between shares
...
Changes the content and visual appearance of the screens between shares
during multi-share (shamir) recovery. Context menu with the option to
cancel is added to the screen.
2024-07-31 11:36:32 +02:00
Ioan Bizău
5188dfc83d
feat(core): deal with non-breaking spaces
...
[no changelog]
2024-07-30 18:48:01 +03:00
Ioan Bizău
33f5d47330
chore(core): rename "hidden wallet" -> "passphrase wallet"
...
[no changelog]
2024-07-29 17:45:28 +03:00
tychovrahe
79feb690ad
fix(core/mercury): prefer vertical swipes over horizontal
2024-07-29 15:47:24 +02:00
Ioan Bizău
6f96585d4b
feat(core): make brightness an u8
...
[no changelog]
2024-07-29 13:30:34 +03:00
tychovrahe
a15dd6598f
fix(core/mercury): improve share words swiping animation
2024-07-29 09:07:35 +02:00
obrusvit
008490bf4b
refactor(core/mercury): unify confirm TOS
...
[no changelog]
2024-07-28 23:14:12 +02:00
obrusvit
f41176af02
feat(core/mercury): change FW update UI
...
This commit changes the UI of confirming interaction-less firmware
update.
2024-07-28 22:11:30 +02:00
Martin Milata
888e384f79
refactor(core/mercury): remove unnecessary Child
...
[no changelog]
2024-07-25 21:09:43 +00:00
obrusvit
c6df2179d6
fix(core): show correct word count in more info
...
Make translated strings describing recovery shares templated so that we
can show correct number of words (i.e. 20 or 33) in more info.
2024-07-22 12:09:16 +02:00
obrusvit
0d987a68f4
fix(core/mercury): multi-share backup more info
...
The commit fixes More Info screen hidden behind context menu during a
prompt for number of shares and shares threshold. It removes wrong title
and enables changing the info text based on currently selected number.
2024-07-22 12:09:16 +02:00
obrusvit
958d08cc91
fix(core/mercury): small copy change in tutorial
...
[no changelog]
2024-07-19 15:05:36 +02:00
Ioan Bizău
522d33a71f
refactor(core): send out ButtonRequest name
...
[no changelog]
2024-07-19 11:28:07 +03:00
obrusvit
108d9c737e
feat(core/mercury): add rounded overlay to keypads
...
Make the corner keys of passphrase and mnemonic keyboards rounded by an
overlay, similarly to PIN keyboard.
[no changelog]
2024-07-18 23:57:13 +02:00
tychovrahe
a700ff8dff
refactor(core): extract non-generic code from SwipeContent
...
[no changelog]
2024-07-18 09:12:35 +02:00
tychovrahe
df018a2af8
refactor(core/mercury): extract non-generic code from confirm action
...
[no changelog]
2024-07-17 20:57:58 +02:00
tychovrahe
873658104d
refactor(core/mercury): extract non-generic code from frame component
...
[no changelog]
2024-07-17 20:23:19 +02:00
tychovrahe
f2bdd6e189
fix(core/mercury): change status screen - display message in center after animation
...
Because some messages didn't fit the title
2024-07-17 20:23:19 +02:00
tychovrahe
747303fd39
fix(core/mercury): fix trace impl for TapToConfirm and HoldToConfirm
...
[no changelog]
2024-07-17 20:23:19 +02:00
tychovrahe
905beb6ede
refactor(core/mercury): extract swipe cover rendering from frame
...
[no changelog]
2024-07-17 20:23:19 +02:00
tychovrahe
e6a2a3b263
refactor(core/mercury): extract frame header to separate component
...
[no changelog]
2024-07-17 20:23:19 +02:00
Ioan Bizău
7d90552d81
refactor(core/ui): new Mercury design for number input slider
2024-07-17 17:10:05 +03:00
Ioan Bizău
7404436305
refactor(core/ui): optimize brightness settings for Mercury
2024-07-17 17:10:05 +03:00
tychovrahe
2994317dcd
fix(core/mercury): homescreen attach animation, resume animations after an interrupt from workflow
2024-07-16 23:12:32 +02:00
tychovrahe
ff869dd864
feat(core/mercury): pin entry animation
...
[no changelog]
2024-07-16 23:12:32 +02:00
tychovrahe
b99325a764
feat(core/mercury): menu animation
2024-07-16 23:12:32 +02:00
Martin Milata
7e26e1df15
chore(core/rust): drop unused ui_bounds
...
[no changelog]
2024-07-16 16:23:19 +00:00
matejcik
3884abde64
chore(core/rust): remove warnings in translations
2024-07-16 13:29:56 +02:00
matejcik
3fcb0acaff
refactor(core/rust): refactor SwipeFlow
...
* remove SwipeStore in favor of Vec<dyn FlowComponent>
* unify state and controllers
* implement tighter coupling between controller/states and pages of the
flow
2024-07-16 13:29:56 +02:00
matejcik
4c10a4f643
chore(core/rust): publish the ConcreteRenderer types for each renderer version
...
we need them to be able to spell out a concrete type of the argument to
`render()`
2024-07-16 13:29:56 +02:00
matejcik
863dee1a43
refactor(core/rust): reorganize LayoutObj
...
* move most actual functionality to LayoutObjInner
* subsume features of top-level Root and Child into LayoutObjInner
(saving ~7 kB of flash because LayoutObjInner is not generic)
* make use of GcBox to drop the top-level component
2024-07-12 09:46:50 +02:00
matejcik
2a896c44f6
feat(core/rust): introduce GcBox
2024-07-12 09:46:50 +02:00
tychovrahe
3bc9e23260
feat(core): add support for 32bit colors in UI
...
[no changelog]
2024-07-09 11:44:21 +02:00
obrusvit
4fe4bb0bed
chore(core): remove some unused assets and code
...
Removing model_t leftovers from mercury code.
[no changelog]
2024-07-03 14:16:10 +02:00
tychovrahe
23d31cc8b3
fix(core): fix lockscreen Not connected label hiding
...
[no changelog]
2024-07-01 09:07:07 +00:00
Martin Milata
106edd4309
feat(core/ui): T3T1: tutorial flow
...
[no changelog]
2024-07-01 09:35:11 +02:00
tychovrahe
d08f5d05aa
fix(core/mercury): improve handling and visual of swipes when displaying words
2024-07-01 09:33:40 +02:00
tychovrahe
e5fc1e1d42
fix(core/mercury): fix swipe animation when repeatedly touching display while the transition is already in effect
2024-07-01 09:33:40 +02:00
tychovrahe
56385f79c7
fix(core/mercury): disallow swipes when touch starts too close to an edge of the display
2024-07-01 09:33:40 +02:00
tychovrahe
bfbcecc085
fix(core/mercury): fix swipe effect duration when swipe is cancelled
2024-07-01 09:33:40 +02:00
tychovrahe
272b668feb
fix(core/mercury): remove instant lock-trigger swipe behavior
...
[no changelog]
2024-07-01 09:33:40 +02:00
tychovrahe
a0e33d61bd
fix(core/mercury): fix share words hold to confirm swipe effect
2024-07-01 09:33:40 +02:00
tychovrahe
e89ae8246d
fix(core/mercury): do not block swipe on button press, abort press on swipe lock instead
2024-07-01 09:33:40 +02:00