You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-firmware/core/src/trezor/ui/popup.py

21 lines
605 B

from trezor import loop, ui
if False:
from typing import Iterable
class Popup(ui.Layout):
def __init__(self, content: ui.Control, time_ms: int = 0) -> None:
self.content = content
self.time_ms = time_ms
def dispatch(self, event: int, x: int, y: int) -> None:
self.content.dispatch(event, x, y)
def create_tasks(self) -> Iterable[loop.Task]:
return self.handle_input(), self.handle_rendering(), self.handle_timeout()
def handle_timeout(self) -> loop.Task: # type: ignore
yield loop.sleep(self.time_ms * 1000)
raise ui.Result(None)