From b8addc87f804789368612bf8e1be31a2bf28efe1 Mon Sep 17 00:00:00 2001 From: cirakg Date: Sun, 25 Oct 2026 23:51:52 +0100 Subject: test(ui): second UI scenario, and the fixes it found A second UI-test build (uitest-extra.jungle) covers the legacy PIN and the forced new PIN, Change and Reset PIN, a queued Require PIN, UPC-A, Code 39, the code error screen, the encoding progress, auto-lock on a barcode, the light theme and the glance without a code; the main flow adds the Steam and Library details and the menu's text screens. Fixed from what it found: Entry IDs tripped the watchdog with 110 entries; auto-lock didn't close a locked barcode; a queued Require PIN showed "Confirm in menu"; locked barcodes lacked the padlock; the PIN keypad's bottom row, the Reset PIN question, text-screen bottoms, the glance title and the light-theme warning colour. Goldens approved on all seven watches; only the Forerunner 70 was re-verified after the version bump. Co-Authored-By: Claude Opus 5.5 --- source/ui/Ui.mc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source/ui/Ui.mc') diff --git a/source/ui/Ui.mc b/source/ui/Ui.mc index a8d1ec7..bf52520 100644 --- a/source/ui/Ui.mc +++ b/source/ui/Ui.mc @@ -15,6 +15,7 @@ module Ui { const ELLIPSIS = "…"; const WARN_COLOR = 0xFF5555; + const LIGHT_WARN_COLOR = 0xCC0000; // 0xFF5555 is too faint on white for small text const ACCENT_COLOR = 0x00AAAA; // the teal of the launcher icon const LIGHT_ACCENT_COLOR = 0x007777; @@ -71,6 +72,11 @@ module Ui { return dark() ? ACCENT_COLOR : LIGHT_ACCENT_COLOR; } + // Warnings (wrong PIN, the last seconds of a code) in the theme. + function warn() as Number { + return dark() ? WARN_COLOR : LIGHT_WARN_COLOR; + } + // Clear the screen in the theme's background. function clear(dc as Graphics.Dc) as Void { dc.setColor(fg(), bg()); @@ -142,7 +148,7 @@ module Ui { if (period <= 0 || remaining <= 0) { return; } - dc.setColor(remaining <= 5 ? WARN_COLOR : accent(), Graphics.COLOR_TRANSPARENT); + dc.setColor(remaining <= 5 ? warn() : accent(), Graphics.COLOR_TRANSPARENT); var pen = r / 2 > 1 ? r / 2 : 1; dc.setPenWidth(pen); var sweep = 360 * remaining / period; -- cgit v1.2.3