Skip to content

Commit

Permalink
fix(core): make sure run-time settings are reset after wipe (fixes #1322
Browse files Browse the repository at this point in the history
)
  • Loading branch information
matejcik committed Oct 26, 2020
1 parent 3acde2b commit 526d105
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
12 changes: 8 additions & 4 deletions core/src/apps/management/apply_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,6 @@ async def apply_settings(ctx: wire.Context, msg: ApplySettings):
raise wire.ProcessError("Auto-lock delay too long")
await require_confirm_change_autolock_delay(ctx, msg.auto_lock_delay_ms)
storage.device.set_autolock_delay_ms(msg.auto_lock_delay_ms)
# use the value that was stored, not the one that was supplied by the user
workflow.idle_timer.set(storage.device.get_autolock_delay_ms(), lock_device)

if msg.safety_checks is not None:
await require_confirm_safety_checks(ctx, msg.safety_checks)
Expand All @@ -90,16 +88,22 @@ async def apply_settings(ctx: wire.Context, msg: ApplySettings):
if msg.display_rotation is not None:
await require_confirm_change_display_rotation(ctx, msg.display_rotation)
storage.device.set_rotation(msg.display_rotation)
ui.display.orientation(storage.device.get_rotation())

if msg.experimental_features is not None:
await require_confirm_experimental_features(ctx, msg.experimental_features)
storage.device.set_experimental_features(msg.experimental_features)
wire.experimental_enabled = msg.experimental_features

reload_settings_from_storage()

return Success(message="Settings applied")


def reload_settings_from_storage() -> None:
workflow.idle_timer.set(storage.device.get_autolock_delay_ms(), lock_device)
ui.display.orientation(storage.device.get_rotation())
wire.experimental_enabled = storage.device.get_experimental_features()


async def require_confirm_change_homescreen(ctx):
text = Text("Set homescreen", ui.ICON_CONFIG)
text.normal("Do you really want to", "change the homescreen", "image?")
Expand Down
3 changes: 3 additions & 0 deletions core/src/apps/management/wipe_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

from apps.common.confirm import require_hold_to_confirm

from .apply_settings import reload_settings_from_storage


async def wipe_device(ctx, msg):
text = Text("Wipe device", ui.ICON_WIPE, ui.RED)
Expand All @@ -22,5 +24,6 @@ async def wipe_device(ctx, msg):
)

storage.wipe()
reload_settings_from_storage()

return Success(message="Device wiped")

0 comments on commit 526d105

Please sign in to comment.