Files
hash-wallet/lib/entities
jwinterm 4be2424486 feat(demo): DEMO_MODE — boot straight to an unlocked wallet for capture
Adds a debug-only capture mode so screenshots/video never depend on the
onboarding/PIN flow, whose synthetic taps are unreliable under the headless
emulator (both flutter_test and adb input drop taps on the PIN confirm screen).

lib/entities/demo_mode.dart: on launch, when kDebugMode AND
--dart-define=DEMO_MODE=true, create a fresh throwaway Wownero wallet through
the real WalletNewVM.create() (so walletInfo/derivation/paths/persistence and
changeCurrentWallet all happen exactly as in the UI), then set the PIN and
allow auth — landing on the dashboard. Reuses the wallet on later launches.
Both halves are compile-time const/kDebugMode, so this is tree-shaken out of
release: DEMO_MODE cannot be enabled in a store binary.

lib/main.dart: call maybeSetupDemoWallet() during bootstrap and force the
initial route to the dashboard in demo mode.

tools/demo/{build-apk,capture}.sh: DEMO=1 bakes the define into a local build;
flutter drive passes it so scenarios start at the dashboard.

Verified end to end: demo build boots to a live Wownero wallet and captured a
clean 1080x1920 store set (dashboard/receive/send/swap/settings) with no PIN.
This also implements the SCREENSHOT_MODE the iOS UITest scaffold already
references (store/SCREENSHOTS.md Path B).

Note: the API-35 emulator needs -gpu host (real GPU) for deep-page rendering;
-gpu software hard-crashes qemu on the Receive page. Stills use screencap
(screenrecord's encoder is unrelated).
2026-08-03 08:33:22 -04:00
..
2022-10-12 13:09:57 -04:00
2026-03-11 04:26:57 +02:00
2026-03-11 04:26:57 +02:00
2022-10-12 13:09:57 -04:00
2022-10-12 13:09:57 -04:00
2025-03-21 04:52:05 +02:00
2024-03-10 04:02:30 +02:00
2023-08-15 03:47:25 +03:00
2020-09-21 14:50:26 +03:00
2022-10-12 13:09:57 -04:00
2022-10-12 13:09:57 -04:00
2022-10-12 13:09:57 -04:00
2025-08-13 00:19:47 +03:00