From 39b3ecb224f581886c0226a1d86a5c583cd760ea Mon Sep 17 00:00:00 2001 From: Jan Pochyla Date: Tue, 15 Nov 2016 13:48:31 +0100 Subject: [PATCH] confirm: allow to resolve the dialogs from outside --- src/apps/common/confirm.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/apps/common/confirm.py b/src/apps/common/confirm.py index 2f09b304..ac70f9f9 100644 --- a/src/apps/common/confirm.py +++ b/src/apps/common/confirm.py @@ -1,6 +1,10 @@ -from trezor import wire, ui +from trezor import wire, ui, loop from trezor.utils import unimport +# used to confirm/cancel the dialogs from outside of this module (i.e. +# through debug link) +future = loop.Future() + @unimport async def confirm(session_id, content=None, code=None, *args, **kwargs): @@ -16,7 +20,7 @@ async def confirm(session_id, content=None, code=None, *args, **kwargs): if code is None: code = Other await wire.reply_message(session_id, ButtonRequest(code=code), ButtonAck) - return await dialog == CONFIRMED + return await loop.Wait((future, dialog)) == CONFIRMED @unimport @@ -36,7 +40,7 @@ async def hold_to_confirm(session_id, content=None, code=None, *args, **kwargs): if code is None: code = Other await wire.reply_message(session_id, ButtonRequest(code=code), ButtonAck) - return await dialog == CONFIRMED + return await loop.Wait((future, dialog)) == CONFIRMED @unimport