Skip to content

Commit 7c3b032

Browse files
committed
docs: refresh hw journeys
1 parent d35810d commit 7c3b032

8 files changed

Lines changed: 59 additions & 30 deletions

journeys/hardware-wallet/README.md

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,19 @@ The Bridge transport is HTTP (`TrezorBridgeTransport` → `http://127.0.0.1:2132
1414
- **Reliably simulated**: the device itself (deterministic seed and label), the full
1515
wallet protocol (scan, connect, features, xpubs, watchers, signing), and therefore all
1616
home-screen UI behavior: tiles, balances, activity, indicators, sheets. This includes the
17-
Connect Hardware flow's Searching → Found → Paired steps (the device pairs without a code).
17+
Connect Hardware flow's Intro → Searching → Found → Paired steps (the Bridge device pairs
18+
without the inline pair-code step).
1819
- **Partially simulated**: the USB attach → auto-reconnect chain. The OS-level attach
1920
intent can be injected with `am start -a android.hardware.usb.action.USB_DEVICE_ATTACHED`,
20-
which drives the full in-app path (MainActivity → AppViewModel → reconnect loop), with
21-
the Bridge standing in for the transport.
21+
which drives the in-app reconnect path (MainActivity → AppViewModel → reconnect loop), with
22+
the Bridge standing in for the transport. A real OS chooser event with a `UsbDevice` extra
23+
is still needed to verify the "Open with Bitkit" path that opens the Found Device sheet for
24+
an unpaired Trezor.
2225
- **Not simulated**: kernel/libusbhost behavior, USB enumeration timing, permission
23-
grants, the OS app picker, and the THP one-time pairing code (the inline Pair Device step
24-
of the connect flow). Those need a physical device.
26+
grants, the OS app picker, BLE runtime/settings recovery, THP one-time pairing code
27+
(the inline Pair Device step), and passphrase/hidden-wallet selection. Those need a physical
28+
device or a dedicated emulator scenario; passphrase coverage is tracked in
29+
synonymdev/bitkit-android#1030.
2530

2631
Journey steps that start with `adb:` are device commands the runner executes verbatim
2732
instead of UI interactions.
@@ -55,16 +60,31 @@ Remove step forgets the device.
5560
| Journey | Covers |
5661
| - | - |
5762
| `connect-home-tile.xml` | Dev-screen connect, home tile, indicator, balance, detail screen opens |
58-
| `activity-blue-icons.xml` | Hardware activity merge, blue icons, All Activity filters, detail fallback |
59-
| `usb-reconnect.xml` | Disconnect indicator, injected USB attach intent → silent auto-reconnect |
60-
| `suggestion-intro-sheet.xml` | Forget device, Hardware suggestion card, full connect flow (Searching → Found → Paired → Finish) re-pairs |
63+
| `activity-blue-icons.xml` | Hardware activity merge, blue icons, All Activity filters, current watch-only detail fallback |
64+
| `usb-reconnect.xml` | Disconnect indicator, injected USB attach intent → silent auto-reconnect; physical-device chooser path noted separately |
65+
| `suggestion-intro-sheet.xml` | Forget device, Hardware suggestion card, full connect flow (Intro → Searching → Found → Paired → Finish) re-pairs |
6166
| `connect-flow.xml` | Settings Add button → connect flow with an edited Label Funds → paired device count + name |
62-
| `settings-hardware-wallets.xml` | Payments count row, Hardware Wallets screen list, Add button sheet, per-row delete confirm + re-pair |
63-
| `detail-overview.xml` | Detail screen overview, Transfer placeholder, activity, Remove confirm + forget |
67+
| `settings-hardware-wallets.xml` | Payments count row, Hardware Wallets screen list, Add button sheet/back dismiss, per-row delete confirm + re-pair |
68+
| `detail-overview.xml` | Detail screen overview, Transfer placeholder when funded, activity, Remove confirm + forget |
6469

6570
Connect-flow testTags: `HardwareSheet`, `HwIntroScreen`, `HwSearchingScreen`,
6671
`HwFoundScreen`, `HwPairedScreen`, `HwPairedLabelField`, `HwPairedFinish`,
67-
`HwPairScreen` (inline pair code, physical device only).
72+
`HwPairScreen` (inline pair code, physical device only), `HwSearchingError`, and
73+
`HwFoundError`.
74+
75+
The current Connect Hardware sheet starts USB discovery immediately after Continue. BLE is
76+
included only once Android nearby-devices permission is granted and Bluetooth is enabled.
77+
The sheet has no internal back navigation; Android back dismisses the sheet.
78+
79+
If Android shows the Nearby devices/Bluetooth runtime permission prompt after tapping
80+
Continue, allow it and keep waiting on the Searching step. If permission is denied, Bitkit
81+
should show its Bluetooth access recovery dialog with an Open Settings action; that recovery
82+
path is better validated on a physical device because the Bridge path can still find devices
83+
without BLE.
84+
85+
Current journeys pair the standard wallet. Hidden/passphrase wallet behavior is intentionally
86+
not asserted here yet; it needs explicit UX and identity-scoping coverage as described in
87+
synonymdev/bitkit-android#1030.
6888

6989
To exercise the received-money sheet (not covered by a journey because it needs an
7090
out-of-band transfer), fund the emulator wallet on regtest from `bitkit-docker`, e.g.

journeys/hardware-wallet/activity-blue-icons.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<journey name="Hardware Wallet Activity Blue Icons">
22
<description>
33
Verifies hardware wallet on-chain activity merged into the home list and the All
4-
Activity screen with blue icon variants, filter behavior, and the activity detail
5-
fallback. Requires a paired Bridge emulator whose wallet has at least one on-chain
6-
transaction (run connect-home-tile.xml first; fund per README.md if the
4+
Activity screen with blue icon variants, filter behavior, and the current watch-only
5+
activity detail fallback until Core-backed hardware activity support lands. Requires a
6+
paired Bridge emulator whose wallet has at least one on-chain transaction (run
7+
connect-home-tile.xml first; fund per README.md if the
78
deterministic wallet has no history).
89
</description>
910
<actions>

journeys/hardware-wallet/connect-flow.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
<action>
3030
Verify the sheet advances to the "Connect Device" step (testTag "HwSearchingScreen") headed "Searching for devices"
3131
</action>
32+
<action>
33+
If Android shows a Nearby devices/Bluetooth permission prompt or Bluetooth enable prompt, allow it and continue waiting on the Searching step
34+
</action>
3235
<action>
3336
Verify the sheet advances to the "Found Device" step (testTag "HwFoundScreen") headed "Found Trezor" within 15 seconds, then tap "Connect"
3437
</action>

journeys/hardware-wallet/connect-home-tile.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<description>
33
Pairs the Bridge Trezor emulator through the dev Trezor screen, then verifies the
44
home-screen hardware wallet tile: name, connection indicator, balance, and the
5-
not-yet-implemented overview notice. Requires the bitkit-docker Trezor User Env
6-
running and a Bridge-enabled build (see README.md).
5+
hardware wallet detail screen. Requires the bitkit-docker Trezor User Env running
6+
and a Bridge-enabled build (see README.md).
77
</description>
88
<actions>
99
<action>
@@ -40,7 +40,7 @@
4040
Tap the hardware wallet tile
4141
</action>
4242
<action>
43-
Verify the hardware wallet detail screen opens, showing the device name with a blue bitcoin icon in the top bar and a balance header
43+
Verify the hardware wallet detail screen opens (testTag "HardwareWalletScreen"), showing the device name with a blue bitcoin icon in the top bar and a balance header
4444
</action>
4545
<action>
4646
Navigate back to the wallet home screen

journeys/hardware-wallet/detail-overview.xml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<journey name="Hardware Wallet Detail Overview">
22
<description>
33
Opens the hardware wallet detail screen from the home tile and verifies its overview:
4-
the top bar, balance header, the not-yet-implemented Transfer To Spending action, the
5-
grouped activity list, and the Remove device confirm dialog. The final Remove step
6-
forgets the device, so run this last (re-run connect-home-tile.xml to pair again).
7-
Requires a paired Bridge emulator (run connect-home-tile.xml first).
4+
the top bar, balance header, the current Transfer To Spending placeholder when funds
5+
are present, the grouped activity list, and the Remove device confirm dialog. The final
6+
Remove step forgets the device, so run this last (re-run connect-home-tile.xml to pair
7+
again). Requires a paired Bridge emulator (run connect-home-tile.xml first).
88
</description>
99
<actions>
1010
<action>
@@ -14,16 +14,16 @@
1414
Tap the hardware wallet tile beneath the SAVINGS and SPENDING tiles
1515
</action>
1616
<action>
17-
Verify the hardware wallet detail screen opens, showing the device name with a blue bitcoin icon in the top bar and a balance header
17+
Verify the hardware wallet detail screen opens (testTag "HardwareWalletScreen"), showing the device name with a blue bitcoin icon in the top bar and a balance header
1818
</action>
1919
<action>
20-
If a "Transfer To Spending" button is shown, tap it and verify a notice appears saying "Transfer to spending not yet implemented.", otherwise skip this step
20+
If a "Transfer To Spending" button is shown (testTag "HwTransferToSpending"), tap it and verify a notice appears saying "Transfer to spending not yet implemented.", otherwise skip this step
2121
</action>
2222
<action>
2323
If the activity list shows transactions, verify their circular icons are blue, then tap the first one, verify an activity detail screen opens, and navigate back
2424
</action>
2525
<action>
26-
Tap the "Remove" button labelled with the device name near the bottom of the screen
26+
Tap the "Remove" button labelled with the device name near the bottom of the screen (testTag "RemoveHardwareWallet")
2727
</action>
2828
<action>
2929
Verify a confirm dialog appears explaining that your funds are safe and your coins won't be deleted

journeys/hardware-wallet/settings-hardware-wallets.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@
2121
Tap the "Hardware Wallets" row
2222
</action>
2323
<action>
24-
Verify the Hardware Wallets screen opens with the top bar titled "Hardware Wallets"
24+
Verify the Hardware Wallets screen opens (testTag "HardwareWalletsScreen") with the top bar titled "Hardware Wallets"
2525
</action>
2626
<action>
2727
Verify the paired device is listed with its name, a bitcoin balance prefixed with the ₿ symbol, and a green connection indicator on the left
2828
</action>
2929
<action>
30-
Tap the "Add Hardware Wallet" button near the bottom
30+
Tap the "Add Hardware Wallet" button near the bottom (testTag "AddHardwareWallet")
3131
</action>
3232
<action>
33-
Verify a bottom sheet opens titled "Hardware Wallet" showing Trezor and Ledger device images, then tap "Cancel" to close it
33+
Verify a bottom sheet opens titled "Hardware Wallet" (testTag "HwIntroScreen") showing hardware device illustrations, then press Android back and verify the sheet closes back to the Hardware Wallets screen
3434
</action>
3535
<action>
3636
Tap the trash (delete) icon on the device row

journeys/hardware-wallet/suggestion-intro-sheet.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,17 @@
2626
Tap the "Hardware" suggestion card
2727
</action>
2828
<action>
29-
Verify a bottom sheet opens titled "Hardware Wallet" showing Trezor and Ledger device images
29+
Verify a bottom sheet opens titled "Hardware Wallet" (testTag "HwIntroScreen") showing hardware device illustrations
3030
</action>
3131
<action>
3232
Verify the headline reads "Add your hardware wallet" with the words "hardware wallet" in blue
3333
</action>
3434
<action>
3535
Tap the "Continue" button and verify the sheet advances to the "Connect Device" step headed "Searching for devices", showing a loading animation and a "Cancel" button
3636
</action>
37+
<action>
38+
If Android shows a Nearby devices/Bluetooth permission prompt or Bluetooth enable prompt, allow it and continue waiting on the Searching step
39+
</action>
3740
<action>
3841
Verify the sheet advances to the "Found Device" step within 15 seconds, headed "Found Trezor" with a "Connect" button
3942
</action>

journeys/hardware-wallet/usb-reconnect.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
Verifies the disconnect indicator and the USB-attach auto-reconnect chain by
44
injecting the OS attach intent, with the Bridge emulator standing in for the
55
transport. Covers MainActivity intent handling, the serialized reconnect retry
6-
loop, and the prompt-free reconnect. Requires a paired Bridge emulator (run
7-
connect-home-tile.xml first).
6+
loop, and the prompt-free reconnect for an already paired wallet. The unpaired
7+
physical-device OS chooser path ("Open with Bitkit" → Found Device sheet) cannot
8+
be fully simulated by this injected intent because it lacks a real UsbDevice extra.
9+
Requires a paired Bridge emulator (run connect-home-tile.xml first).
810
</description>
911
<actions>
1012
<action>

0 commit comments

Comments
 (0)