From 62c5d51d2a1772b811e6f30ca47fa331f7e821c3 Mon Sep 17 00:00:00 2001 From: Matt Gleason Date: Mon, 13 Feb 2023 12:17:33 -0600 Subject: [PATCH 1/3] PASS1-655: fixed character hiding timer reset while cycling through letters --- ports/stm32/boards/Passport/modules/views/pin_input.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ports/stm32/boards/Passport/modules/views/pin_input.py b/ports/stm32/boards/Passport/modules/views/pin_input.py index 26b784db4..98a7552b3 100644 --- a/ports/stm32/boards/Passport/modules/views/pin_input.py +++ b/ports/stm32/boards/Passport/modules/views/pin_input.py @@ -84,7 +84,8 @@ def add_char(self, char): self.show_last_char = True if self.timer is not None: self.timer._del() - self.timer = lv.timer_create(self.on_timer, 500, None) + self.timer = None + self.timer = lv.timer_create(self.on_timer, 1000, None) self.update_pin() def del_char(self): @@ -100,11 +101,12 @@ def on_timer(self, t): self.update_pin() def set_pin(self, pin): - if len(pin) > len(self.pin): + if len(pin) > len(self.pin) or (len(pin) > 0 and len(pin) == len(self.pin) and pin[-1] != self.pin[-1]): self.show_last_char = True if self.timer is not None: self.timer._del() - self.timer = lv.timer_create(self.on_timer, 500, None) + self.timer = None + self.timer = lv.timer_create(self.on_timer, 1000, None) self.pin = pin self.update_pin() From 243ec275f9ccd24d824389db88fdb34dbde79e3c Mon Sep 17 00:00:00 2001 From: Matt Gleason Date: Mon, 13 Feb 2023 14:58:06 -0600 Subject: [PATCH 2/3] PASS1-655: updated changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cbf1d2b3..359972dbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ SPDX-License-Identifier: GPL-3.0-or-later ## Head +## 2.0.6 +- Fixed alphanumeric pin entry timing (PASS1-655) + ## 2.0.5 - Ensured "New Account" UI returns to the "More" menu (PASS1-582) - Added changelog (PASS1-581) From e106a9b0d2dc012f678c7a88b93ac50a844544ba Mon Sep 17 00:00:00 2001 From: Matt Gleason Date: Mon, 13 Feb 2023 15:05:36 -0600 Subject: [PATCH 3/3] PASS1-655: added comment explaining changes --- ports/stm32/boards/Passport/modules/views/pin_input.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ports/stm32/boards/Passport/modules/views/pin_input.py b/ports/stm32/boards/Passport/modules/views/pin_input.py index 98a7552b3..1711a99c4 100644 --- a/ports/stm32/boards/Passport/modules/views/pin_input.py +++ b/ports/stm32/boards/Passport/modules/views/pin_input.py @@ -101,6 +101,8 @@ def on_timer(self, t): self.update_pin() def set_pin(self, pin): + # This makes the character visible when a new character is added, + # or when the latest character is still being modified if len(pin) > len(self.pin) or (len(pin) > 0 and len(pin) == len(self.pin) and pin[-1] != self.pin[-1]): self.show_last_char = True if self.timer is not None: