diff --git a/core/.changelog.d/3244.fixed b/core/.changelog.d/3244.fixed new file mode 100644 index 0000000000..452486f418 --- /dev/null +++ b/core/.changelog.d/3244.fixed @@ -0,0 +1 @@ +[T2T1] Fixed blank display delay on startup when display orientation is set to other than north diff --git a/core/src/boot.py b/core/src/boot.py index 090c663368..8823a66635 100644 --- a/core/src/boot.py +++ b/core/src/boot.py @@ -42,17 +42,30 @@ async def bootscreen() -> None: Allowing all of them before returning. """ lockscreen = Lockscreen(label=storage.device.get_label(), bootscreen=True) - ui.display.orientation(storage.device.get_rotation()) while True: try: + if can_lock_device(): enforce_welcome_screen_duration() + ui.backlight_fade(ui.style.BACKLIGHT_DIM) + ui.display.orientation(storage.device.get_rotation()) await lockscreen - await verify_user_pin() - storage.init_unlocked() - enforce_welcome_screen_duration() - allow_all_loader_messages() - return + await verify_user_pin() + storage.init_unlocked() + allow_all_loader_messages() + return + else: + await verify_user_pin() + storage.init_unlocked() + enforce_welcome_screen_duration() + rotation = storage.device.get_rotation() + if rotation != ui.display.orientation(): + # there is a slight delay before next screen is shown, + # so we don't fade unless there is a change of orientation + ui.backlight_fade(ui.style.BACKLIGHT_DIM) + ui.display.orientation(rotation) + allow_all_loader_messages() + return except wire.PinCancelled: # verify_user_pin will convert a SdCardUnavailable (in case of sd salt) # to PinCancelled exception.