From 144e2013bdeeab7f029e97801006c27c55b18b7c Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Thu, 1 Mar 2018 05:02:11 +0100 Subject: [PATCH] src/apps/management: reset_device with no layout resets homescreen --- src/apps/management/reset_device.py | 4 ++++ src/trezor/workflow.py | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/src/apps/management/reset_device.py b/src/apps/management/reset_device.py index 7c79399b..242e7a18 100644 --- a/src/apps/management/reset_device.py +++ b/src/apps/management/reset_device.py @@ -5,6 +5,7 @@ from trezor.messages import ButtonRequestType, FailureType, wire_types from trezor.messages.ButtonRequest import ButtonRequest from trezor.messages.EntropyRequest import EntropyRequest from trezor.messages.Success import Success +from trezor import workflow from trezor.pin import pin_to_int from trezor.ui.confirm import HoldToConfirmDialog from trezor.ui.mnemonic import MnemonicKeyboard @@ -79,6 +80,9 @@ async def reset_device(ctx, msg): # show success message if not msg.skip_backup: await show_success(ctx) + else: + # trigger reload of homescreen + workflow.restartdefault() return Success(message='Initialized') diff --git a/src/trezor/workflow.py b/src/trezor/workflow.py index 7aa9ec93..7d3f0712 100644 --- a/src/trezor/workflow.py +++ b/src/trezor/workflow.py @@ -34,6 +34,13 @@ def startdefault(handler): loop.schedule(default) +def restartdefault(): + global default_handler + d = default_handler + closedefault() + startdefault(d) + + def onlayoutstart(l): closedefault() layouts.append(l)