parent
822b1c344f
commit
485ee6e209
@ -1,17 +1,30 @@
|
|||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from trezor import wire
|
from trezor import ui, wire, workflow
|
||||||
from trezor.messages import FirmwareHash, GetFirmwareHash
|
from trezor.messages import FirmwareHash, GetFirmwareHash
|
||||||
from trezor.utils import firmware_hash
|
from trezor.ui.layouts import draw_simple_text
|
||||||
|
from trezor.utils import DISABLE_ANIMATION, firmware_hash
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from trezor.wire import Context
|
from trezor.wire import Context
|
||||||
|
|
||||||
|
|
||||||
async def get_firmware_hash(ctx: Context, msg: GetFirmwareHash) -> FirmwareHash:
|
async def get_firmware_hash(ctx: Context, msg: GetFirmwareHash) -> FirmwareHash:
|
||||||
|
render_func = None
|
||||||
|
if not DISABLE_ANIMATION:
|
||||||
|
workflow.close_others()
|
||||||
|
draw_simple_text("Please wait")
|
||||||
|
render_func = _render_progress
|
||||||
|
|
||||||
try:
|
try:
|
||||||
hash = firmware_hash(msg.challenge)
|
hash = firmware_hash(msg.challenge, render_func)
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
raise wire.DataError(str(e))
|
raise wire.DataError(str(e))
|
||||||
|
|
||||||
return FirmwareHash(hash=hash)
|
return FirmwareHash(hash=hash)
|
||||||
|
|
||||||
|
|
||||||
|
def _render_progress(progress: int, total: int) -> None:
|
||||||
|
p = 1000 * progress // total
|
||||||
|
ui.display.loader(p, False, 18, ui.WHITE, ui.BG)
|
||||||
|
ui.refresh()
|
||||||
|
Loading…
Reference in new issue