1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-04 21:48:17 +00:00
Commit Graph

771 Commits

Author SHA1 Message Date
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
tychovrahe
a4ff76e840 fix(core/mercury): adjust swipe effect direction when animating transition through python 2024-07-01 09:33:40 +02:00
obrusvit
c73115df7b feat(core/ui): add PageCounter to T3T1 Footer
PageCounter sub-component is used within Footer to indicate progress in
screens, rendered e.g. as "1 / 20" for the first word in wallet backup.
2024-06-30 12:07:09 +02:00
obrusvit
aaa2ece3ba feat(core/ui): highlight repeated words on T3T1
ShowShareWords flow now informs the user if the word is repeated. The
most typical usecase in 1-of-1 shamir (SingleShare) where 3rd and 4th
word is "academic".
2024-06-30 12:07:09 +02:00
tychovrahe
95c2cb2008 fix(core/mercury): show coinjoin authorized notification 2024-06-24 21:43:08 +02:00
tychovrahe
60add32e3b fix(core): T2B1 - left align title when changing homescreen
[no changelog]
2024-06-24 21:43:08 +02:00
tychovrahe
9ab2ba9157 feat(core/mercury): animated device label on homescreen/lockscreen 2024-06-24 21:43:08 +02:00
tychovrahe
3a3259b574 feat(core/mercury): change homescreen flow 2024-06-24 21:43:08 +02:00
cepetr
a8f808822c fix(core/rust): shorten the ANIM_FRAME_TIMER deadline
[no changelog]
2024-06-19 16:40:23 +02:00
obrusvit
ed624e1cb8 feat(core/ui): use numerals in T3T1 checklist
[no changelog]
2024-06-19 16:02:24 +02:00
cepetr
3460c4b891 refactor(core/embed): prepare touch drivers for low power mode
[no changelog]
2024-06-19 14:03:38 +02:00
obrusvit
a01a787113 refactor(core): remove StringType
This commit removes the last usage of StringType. In the future, we use
TString.

[no changelog]
2024-06-19 09:14:51 +02:00
matejcik
4e788aa2f5 fix(core/rust): more careful management of ShortString capacity 2024-06-19 09:14:51 +02:00
matejcik
8cf039740f style(core/rust): rustfmt 2024-06-19 09:14:51 +02:00
matejcik
8e52081d8a refactor(core/rust): unify String usage 2024-06-19 09:14:51 +02:00
matejcik
da37bce59d refactor(core/rust): drop ui::macros
removing inttostr!, build_string!, and relocating include_res!
2024-06-19 09:14:51 +02:00
matejcik
8134490e2e feat(core): introduce uformat!, use uDebug in favor of Debug
now that we have ufmt, this is just much nicer
2024-06-19 09:14:51 +02:00
matejcik
b406fc22f3 refactor(core/rust): clean up macro namespace 2024-06-19 09:14:51 +02:00
matejcik
567de6579e chore(core/rust): drop cstr_core dependency
now that we have c"..." literals in Rust
2024-06-19 09:14:51 +02:00
cepetr
0f1cac9695 refactor(core): optimize assert/fatal_error for reduced flash footprint
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
06faae8f82 refactor(core/rust): replace panic! by fatal_error!
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
f5203011c5 feat(core/rust): introduce dbg_print and improve errors printing
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
5fc3c6e617 refactor(core): improve and simplify error handling
[no changelog]
2024-06-17 16:57:33 +02:00
tychovrahe
dfe6826101 fix(core): add missing swipe right to address QR screen - mercury ui 2024-06-10 14:50:28 +02:00
tychovrahe
84c182fdac fix(core): reduce animation frame requests when swiping
[no changelog]
2024-06-10 14:49:52 +02:00
Ioan Bizău
b28e29cf4f chore(core): update copy and translate
[no changelog]
2024-06-06 21:29:29 +02:00
Martin Milata
3760dd307c fix(core/ui): T3T1: wrong XPUB title
[no changelog]
2024-06-06 14:43:51 +00:00
Martin Milata
e0dfa15e89 fix(core/ui): T3T1 confirm_action: hold implies prompt_screen 2024-06-06 14:00:13 +02:00
obrusvit
7b291725e2 fix: TypeError from SwipeUpScreen
This allows cancellable homescreen.

This commit also adds cancel to recovery homescreen.
2024-06-06 14:00:13 +02:00
obrusvit
e30de62adc tests: fix input_flows
Reset/recovery tests after adding Wallet created screen and separate
backup intro.

Regen signatures.json after rebase.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
fd59c2ce88 feat(core/ui): T3T1 backup cannot be skipped
This commit disallows the user to exit backup flow once initiated.

It also ensurer the  intro screen is shown when initiating backup via
protobuf msg after it was previously skipped during wallet creation.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
25a9ef3cf5 feat(core/ui): info screens before ShareWords
Inform the user about possible repeated words in 1-of-1 SLIP39.

Instruct the user to "repeat for all shares".

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
dd70b438d3 feat(core/ui): default button active style
[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
5bd6996ae4 feat(core/ui): show success screens between shares
This commit also adds minor improvements to reset flow.

[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
6911870654 fix(core/ui): T3T1: ethereum signtx hold
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
b567d15732 perf(core/ui): T3T1: reduce ParagraphSources to save flash
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
b64c8ef6a2 perf(core/ui): remove Child from T3T1 Frame
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
320fa06122 fix(core/ui): T3T1: prompt screen for confirm_action
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
4d6af487f4 fix(core/ui): T3T1: remove ButtonPage, Dialog, IconDialog
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
e268f79749 fix(core/ui): T3T1: improve passphrase prompt
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
9ee670a440 feat(core): change default homescreen image for mercury
the default homescreen is rendered algorithmically, when changing homescreen to default we now use text message due to lack of scaling

[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
0cd36cd41b fix(core): fix lockscreen animation cutting from right and bottom
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
2f6ade5911 feat(core): word quiz enter animation
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
6ad41aa06e feat(core): improve hold to confirm animation
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
a66dd78ef7 fix(core): fix missing hold to confirm screen
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
9cd933b88e perf(core/ui): save flash by forbidding some inlining
[no changelog]
2024-06-06 14:00:13 +02:00
matejcik
d1cf36097a refactor(core): optimize repeated code for swipe directions 2024-06-06 14:00:13 +02:00
matejcik
fbfb000d62 refactor(core): optimize copyabilitity in swipe_detect 2024-06-06 14:00:13 +02:00
tychovrahe
a67bc19bac feat(core) screen transitions for mercury UI
[no changelog]
2024-06-06 14:00:13 +02:00
Ioan Bizău
ed58409888 chore(core): update tests 2024-06-05 12:35:09 +03:00
Ioan Bizău
8870869f93 chore(core): rename recovery type & kind and tweak feature flags 2024-06-05 12:35:09 +03:00
Ioan Bizău
8ef7dfab0d feat(core): implement repeated backup 2024-06-05 12:35:09 +03:00
matejcik
4e1e3bc550 fix(core): revert bad renderer lifetime changes
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
f793e6d509 refactor(core): move mercury loader to cshape module
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
51c1ff728d refactor(core): remove lockscreen lifetimes
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
e03d404dca fix(core): ensure drop is called on layout objects
[no changelog]
2024-06-03 19:43:08 +02:00
matejcik
813d9b7687 feat(core/rust): add option to Gc-allocate with finaliser
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
288c855868 fix(core): prevent negative circle rendering
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
88078db700 feat(core): mercury ui homescreen
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
429a558d78 fix(core): mercury ui animations only ask for frame on timer event
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
e53e7cc13b refactor(core): mercury ui: downgraded homescreen module to file
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
a34c2cb9dd feat(core): animated lockscreen for mercury UI
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
17072faa65 feat(core): animate status screen in mercury ui
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
47a2661736 feat(core): respect disable animations in hold to confirm
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
c8c7001301 feat(core): implement tap to confirm in mercury UI
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
491aeaa0f5 feat(core): add value info to brightness dialog in mercury
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
3a8595b43a fix(core): ensure circles with radius zero are not rendered
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
67fe334dc2 feat(core): add hold-to-confirm animation to mercury UI
[no changelog]
2024-06-03 14:26:25 +02:00
cepetr
1f01150e7c feat(core): introduce a stopwatch
[no changelog]
2024-06-03 14:26:25 +02:00
cepetr
212391fc37 feat(core): add pareen & easer crates
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
2e10d440fa fix(core): add subtitle to confirm action
[no changelog]
2024-06-03 14:26:25 +02:00
matejcik
9bed793f68 refactor(core): provide backlight values from Rust 2024-06-03 14:26:25 +02:00
tychovrahe
a65511846b feat(core): added user adjustable brightness setting 2024-06-03 14:26:25 +02:00
matejcik
5ec8b58772 style(core/rust): remove unreachable statement 2024-05-31 15:49:29 +02:00
matejcik
dd0fe3d878 test(core/ui): fix Rust paragraph splitting unit tests on T3T1 2024-05-31 15:49:29 +02:00
matejcik
9a6f6c6b75 fix(core/ui): fix build of Rust unit tests on T3T1 2024-05-31 15:49:29 +02:00
matejcik
27fe6810c0 refactor(core/ui): better structured selection of render_on_display function
We should still get rid of this completely though 🤷
2024-05-31 15:49:29 +02:00
matejcik
e62f0b507a build(core): fix build for Rust unit tests on T3T1 2024-05-31 15:49:29 +02:00
Martin Milata
662f13136f fix(core/ui): T3T1: get rid of some of the remaining button dialogs 2024-05-31 11:59:52 +00:00
Martin Milata
69e406f7cf fix(core/ui): T3T1 device tests
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
cde0dce3ef fix(core/ui): T3T1: rebase on main 2024-05-31 11:59:52 +00:00
obrusvit
27d733f89d feat(core/ui): T3T1 backup checklist
Also add subtitle to ShareWords.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
43eeccac59 feat(core/ui): T3T1 request number flow
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
9c14cae656 fix(core/ui): allow component to terminate flow on swipe
[skip_ci]
2024-05-31 11:59:52 +00:00
Martin Milata
cbcd9dd8bd fix(core/ui): missing swipe event when animations disabled 2024-05-31 11:59:52 +00:00
Martin Milata
bd8ce6e55d fix(core/ui): T3T1 always detect swipes on entire screen
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
d6152c02e9 refactor(core/ui): T3T1: drop duplicate Swipe implementation
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
d2bfe56293 fix(core/ui): make it harder to accidentally close VerticalMenu 2024-05-31 11:59:52 +00:00
Martin Milata
30ca8bdd62 feat(core/ui): T3T1 share words animation
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
e5e8e27abc feat(core/ui): T3T1 recovery keyboards
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
3f0ab537af feat(core/ui): T3T1 passphrase keyboard
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
f11c2891d8 feat(core/ui): allow rounded mercury button
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
250593125c feat(core): update translation strings
Based on latest Figma designs.

[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
198693259d fix(core/ui): set page_count through rust ButtonRequest 2024-05-31 11:59:52 +00:00
Martin Milata
53609a85fd refactor(core/ui): fix clippy issues 2024-05-31 11:59:52 +00:00
Martin Milata
b16411631b fix(core/ui): T3T1 ButtonRequests from rust
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
a212b325fe feat(core/ui): T3T1 send flow
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
7bbfa64dbb fix(core/ui): re-export T3T1 icons
Commit re-exports T3T1 icons (mercury UI) in white color so that
applying color to them during rendering works as expected. Previously
they were grey and the desired color mixed with grey.

[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
11808a6f14 fix(core): rebase on drawlib 2024-05-31 11:59:52 +00:00
obrusvit
1ee36baea8 feat(core/ui): T3T1 confirm_action
Adds SwipeFlow for ConfirmAction or ConfirmActionSimple. Without
animation as of now.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
d8f20616be feat(core/ui): T3T1 set new PIN flow
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
51a78dddee feat(core/ui): T3T1 PIN keyboard
[no changelog]
2024-05-31 11:59:52 +00:00
tychovrahe
3109001fa0 refactor(core): remove old homescreen rendering from mercury UI
[no changelog]
2024-05-31 11:59:52 +00:00
tychovrahe
0993ca0434 feat(core): lockscreen for mercury_ui
[no changelog]
2024-05-31 11:59:52 +00:00
tychovrahe
14c81f6860 feat(core): T3T1 loaders improvement
[no changelog]
2024-05-31 11:59:52 +00:00
tychovrahe
f3ced5e831 feat(core): expand menu button touch area a bit more
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
e0fece2050 fix(core/ui): T3T1 UI tests: GetAddress
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
6ddf1c849a fix(core/ui): respect animation_disabled() on T3T1 2024-05-31 11:59:52 +00:00
Martin Milata
091b51c9c4 fix(core/ui): T3T1 lints
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
5020868c2c feat(core/ui): T3T1 receive flow
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
1028c3500f feat(core/ui): T3T1 separate reset flows
Create separate flows for wallet creating, prompt of backup and
recovery.

Put more strings to copy.

Change style of Frame subheader.
2024-05-31 11:59:52 +00:00
obrusvit
4471281adc feat(core/ui): improve T3T1 recovery 2024-05-31 11:59:52 +00:00
obrusvit
6486b03248 feat(core/ui): T3T1 mnemonic keyboard
These are initial changes to the mnemonic keyboard designs. The designs
themselves from Figma are still WIP.
2024-05-31 11:59:52 +00:00
obrusvit
0566f0b7c3 feat(core/ui): T3T1 word count choice 2024-05-31 11:59:52 +00:00
obrusvit
8f4e0cc885 feat(core/ui): add text align to T3T1 button 2024-05-31 11:59:52 +00:00
Martin Milata
dc2525196b refactor(core/ui): T3T1 flow animation
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
b05b54dfd8 refactor(core/ui): VerticalMenu flexibility 2024-05-31 11:59:52 +00:00
Martin Milata
cf53876292 refactor(core/ui): rust UI flow simplification 2024-05-31 11:59:52 +00:00
Martin Milata
1b6b2d2b9f chore(core/rust): fix formatting 2024-05-31 11:59:52 +00:00
Martin Milata
908f123dbf refactor(core/ui): fix bootloader build failure 2024-05-31 11:59:52 +00:00
obrusvit
23021c5152 fix(core/ui): remove border from T3T1 buttons
According to Figma designs, there will be no rounded buttons in T3T1, so
the ButtonStyle does not need these fields.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
0615b1bbc2 feat(core/ui): T3T1 confirm backup flow 2024-05-31 11:59:52 +00:00
obrusvit
7905770e7e feat(core/ui/): introduce SwipeUpScreen
A simple wrapper of a component which supports returning
PageMsg::Confirmed if swipe up action was detected.
2024-05-31 11:59:52 +00:00
obrusvit
6b76ec0413 feat(core/ui): add T3T1 Status/PromptScreen
StatusScreen serves to show a result of operation, typically a checkmark
with a circle around dismissed by swipe up gesture.

PromptScreen serves to confirm action, typically by holding a button.

Designs based on Figma.
So far without animation.
2024-05-31 11:59:52 +00:00
obrusvit
1882cc3a80 feat(core/ui): T3T1 Frame additions
This commit allows all combinations of Frame designs from Figma. This
includes adding icon_color to ButtonStyle and a small cleanup of
ButtonStyleSheets.
2024-05-31 11:59:52 +00:00
obrusvit
b8fd987dd8 feat(core/ui): add two more T3T1 icons
Icon named sign used in hold to confirm prompt screens.
2024-05-31 11:59:52 +00:00
obrusvit
8a56c393e2 feat(core/ui): T3T1 reset wallet screen
The first screen in wallet reset (onboarding or recovery) implemented as
a simple SwipeFlow to handle moving between Menu and back.
2024-05-31 11:59:52 +00:00
obrusvit
b87048e265 feat(core/ui): add Footer to T3T1 Frame 2024-05-31 11:59:52 +00:00
obrusvit
683ea6ed26 fix(core): rebase on drawlib
mercury theme.rs needs some cleanup after this action
2024-05-31 11:59:52 +00:00
Martin Milata
1363495165 feat(core/ui): GetAddress flow demo 2024-05-31 11:59:52 +00:00
Martin Milata
10234787a4 feat(core/ui): rust-based UI flows
[no changelog]
2024-05-31 11:59:52 +00:00