Update client to adapt 'settings'

This commit is contained in:
Charles-Edouard de la Vergne
2024-04-16 11:54:21 +02:00
parent 6dd70e11a8
commit 647ffa3b25

View File

@@ -19,7 +19,7 @@ def get_device_settings(device: str) -> list[SettingID]:
SettingID.DEBUG_DATA,
SettingID.NONCE
]
if (device == "nanox") or (device == "nanosp") or (device == "stax"):
if device in ("nanox", "nanosp", "stax", "flex"):
return [
SettingID.BLIND_SIGNING,
SettingID.DEBUG_DATA,
@@ -30,17 +30,28 @@ def get_device_settings(device: str) -> list[SettingID]:
return []
settings_per_page = 3
def get_setting_per_page(device: str) -> int:
if device == "stax":
return 3
return 2
def get_setting_position(device: str, setting: Union[NavInsID, SettingID]) -> tuple[int, int]:
screen_height = 672 # px
header_height = 85 # px
footer_height = 124 # px
settings_per_page = get_setting_per_page(device)
if device == "stax":
screen_height = 672 # px
header_height = 85 # px
footer_height = 132 # px
option_offset = 350 # px
else:
screen_height = 600 # px
header_height = 92 # px
footer_height = 97 # px
option_offset = 420 # px
usable_height = screen_height - (header_height + footer_height)
setting_height = usable_height // settings_per_page
index_in_page = get_device_settings(device).index(SettingID(setting)) % settings_per_page
return 350, header_height + (setting_height * index_in_page) + (setting_height // 2)
return option_offset, header_height + (setting_height * index_in_page) + (setting_height // 2)
def settings_toggle(fw: Firmware, nav: Navigator, to_toggle: list[SettingID]):
@@ -57,7 +68,7 @@ def settings_toggle(fw: Firmware, nav: Navigator, to_toggle: list[SettingID]):
moves += [NavInsID.BOTH_CLICK] # Back
else:
moves += [NavInsID.USE_CASE_HOME_SETTINGS]
moves += [NavInsID.USE_CASE_SETTINGS_NEXT]
settings_per_page = get_setting_per_page(fw.device)
for setting in settings:
setting_idx = settings.index(setting)
if (setting_idx > 0) and (setting_idx % settings_per_page) == 0: