@@ -11,31 +11,29 @@ class SettingID(Enum):
11
11
DEBUG_DATA = auto ()
12
12
13
13
14
- def get_device_settings (device : str ) -> list [SettingID ]:
15
- if device == "nanos" :
14
+ def get_device_settings (firmware : Firmware ) -> list [SettingID ]:
15
+ if firmware == Firmware . NANOS :
16
16
return [
17
17
SettingID .NONCE ,
18
18
SettingID .DEBUG_DATA ,
19
19
]
20
- if device in ("nanox" , "nanosp" , "stax" , "flex" ):
21
- return [
22
- SettingID .VERBOSE_ENS ,
23
- SettingID .VERBOSE_EIP712 ,
24
- SettingID .NONCE ,
25
- SettingID .DEBUG_DATA ,
26
- ]
27
- return []
20
+ return [
21
+ SettingID .VERBOSE_ENS ,
22
+ SettingID .VERBOSE_EIP712 ,
23
+ SettingID .NONCE ,
24
+ SettingID .DEBUG_DATA ,
25
+ ]
28
26
29
27
30
- def get_setting_per_page (device : str ) -> int :
31
- if device == "stax" :
28
+ def get_setting_per_page (firmware : Firmware ) -> int :
29
+ if firmware == Firmware . STAX :
32
30
return 3
33
31
return 2
34
32
35
33
36
- def get_setting_position (device : str , setting : Union [NavInsID , SettingID ]) -> tuple [int , int ]:
37
- settings_per_page = get_setting_per_page (device )
38
- if device == "stax" :
34
+ def get_setting_position (firmware : Firmware , setting : Union [NavInsID , SettingID ]) -> tuple [int , int ]:
35
+ settings_per_page = get_setting_per_page (firmware )
36
+ if firmware == Firmware . STAX :
39
37
screen_height = 672 # px
40
38
header_height = 88 # px
41
39
footer_height = 92 # px
@@ -47,15 +45,15 @@ def get_setting_position(device: str, setting: Union[NavInsID, SettingID]) -> tu
47
45
option_offset = 420 # px
48
46
usable_height = screen_height - (header_height + footer_height )
49
47
setting_height = usable_height // settings_per_page
50
- index_in_page = get_device_settings (device ).index (SettingID (setting )) % settings_per_page
48
+ index_in_page = get_device_settings (firmware ).index (SettingID (setting )) % settings_per_page
51
49
return option_offset , header_height + (setting_height * index_in_page ) + (setting_height // 2 )
52
50
53
51
54
- def settings_toggle (fw : Firmware , nav : Navigator , to_toggle : list [SettingID ]):
52
+ def settings_toggle (firmware : Firmware , nav : Navigator , to_toggle : list [SettingID ]):
55
53
moves : list [Union [NavIns , NavInsID ]] = list ()
56
- settings = get_device_settings (fw . device )
54
+ settings = get_device_settings (firmware )
57
55
# Assume the app is on the home page
58
- if fw . device . startswith ( "nano" ) :
56
+ if firmware . is_nano :
59
57
moves += [NavInsID .RIGHT_CLICK ] * 2
60
58
moves += [NavInsID .BOTH_CLICK ]
61
59
for setting in settings :
@@ -65,12 +63,12 @@ def settings_toggle(fw: Firmware, nav: Navigator, to_toggle: list[SettingID]):
65
63
moves += [NavInsID .BOTH_CLICK ] # Back
66
64
else :
67
65
moves += [NavInsID .USE_CASE_HOME_SETTINGS ]
68
- settings_per_page = get_setting_per_page (fw . device )
66
+ settings_per_page = get_setting_per_page (firmware )
69
67
for setting in settings :
70
68
setting_idx = settings .index (setting )
71
69
if (setting_idx > 0 ) and (setting_idx % settings_per_page ) == 0 :
72
70
moves += [NavInsID .USE_CASE_SETTINGS_NEXT ]
73
71
if setting in to_toggle :
74
- moves += [NavIns (NavInsID .TOUCH , get_setting_position (fw . device , setting ))]
72
+ moves += [NavIns (NavInsID .TOUCH , get_setting_position (firmware , setting ))]
75
73
moves += [NavInsID .USE_CASE_SETTINGS_MULTI_PAGE_EXIT ]
76
74
nav .navigate (moves , screen_change_before_first_instruction = False )
0 commit comments