Files and Wallet are bar destinations, like iOS #116

Merged
paulhitt merged 12 commits from feat/files-and-wallet-in-the-bar into main 2026-09-07 19:41:31 +00:00
paulhitt commented 2026-09-07 14:05:13 +00:00 (Migrated from gitlab.com)

Both apps had both features. iOS carried them in its tab bar; Android had them as buttons most of the way down the Account screen, behind a comment arguing the kit's bar is four icons and "a wallet people open occasionally does not earn the slot".

What that produced: somebody testing the Android build reported Files and Wallet as missing. That is a fair reading of a feature you have to scroll past a dozen settings sections to reach — and two apps disagreeing about where a feature lives is worse than either answer.

What changed

Seven destinations, in iOS's order: Home · Messages · Calls · Stories · Files · Wallet · Account.

The Account sections are gone, not kept alongside. Two routes to one screen is two things to keep in step, and the bar is the one people look at.

Tapping a tab calls navigateTo, not showScreen. Wallet and Files each read the vault before they have anything to draw, so a bare showScreen lands somebody on an empty screen with nothing loading and no error. That is now one method with the loading inside it, so no future caller can navigate past it.

The bar's contents are data now, and a test reads them

It was a hand-written run of NavButton calls, so nothing could assert what was in it — a destination could vanish in a refactor and no test anywhere would go red. That is exactly how this divergence survived for weeks.

NavDestinations.tabs() returns the list. Five tests pin:

  • the order, against iOS's
  • the nav-* tags the instrumented suite looks for (its nodesWithTag(...).isEmpty() guards turn a renamed tag into a silent early return, so a wrong tag is a test that stops testing and still passes)
  • that every tab has an accessibility label — the bar draws icons only, so that string is all TalkBack has
  • that supervision removes Stories and only Stories

Verified from test-results/*.xml — 5 tests, 0 failures — not from BUILD SUCCESSFUL, which prints no test names for :app.

The kit's artboard is four icons and this is seven. A deliberate departure, said in the comment rather than left looking like an oversight.

Related: iOS MainTabView already has this shape.

Both apps had both features. iOS carried them in its **tab bar**; Android had them as buttons most of the way down the **Account screen**, behind a comment arguing the kit's bar is four icons and "a wallet people open occasionally does not earn the slot". What that produced: somebody testing the Android build reported Files and Wallet as **missing**. That is a fair reading of a feature you have to scroll past a dozen settings sections to reach — and two apps disagreeing about where a feature lives is worse than either answer. ## What changed Seven destinations, in iOS's order: Home · Messages · Calls · Stories · **Files** · **Wallet** · Account. The Account sections are **gone**, not kept alongside. Two routes to one screen is two things to keep in step, and the bar is the one people look at. **Tapping a tab calls `navigateTo`, not `showScreen`.** Wallet and Files each read the vault before they have anything to draw, so a bare `showScreen` lands somebody on an empty screen with nothing loading and no error. That is now one method with the loading inside it, so no future caller can navigate past it. ## The bar's contents are data now, and a test reads them It was a hand-written run of `NavButton` calls, so **nothing could assert what was in it** — a destination could vanish in a refactor and no test anywhere would go red. That is exactly how this divergence survived for weeks. `NavDestinations.tabs()` returns the list. Five tests pin: - the order, against iOS's - the `nav-*` tags the instrumented suite looks for (its `nodesWithTag(...).isEmpty()` guards turn a renamed tag into a silent early return, so a wrong tag is a test that stops testing and still passes) - that every tab has an accessibility label — the bar draws icons only, so that string is all TalkBack has - that supervision removes Stories **and only Stories** Verified from `test-results/*.xml` — 5 tests, 0 failures — not from BUILD SUCCESSFUL, which prints no test names for `:app`. The kit's artboard is four icons and this is seven. A deliberate departure, said in the comment rather than left looking like an oversight. Related: iOS `MainTabView` already has this shape.
paulhitt commented 2026-09-07 15:09:06 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 563e9efe - The same purple ground, and a test that checks it stays the same

Compare with previous version

added 1 commit <ul><li>563e9efe - The same purple ground, and a test that checks it stays the same</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009471618&start_sha=832cbf9214f4f1c416084dda808feb7816a9f702)
paulhitt commented 2026-09-07 15:21:36 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 49854ac2 - Darker ground, the mark on sign-in, and a dark mode that was never readable

Compare with previous version

added 1 commit <ul><li>49854ac2 - Darker ground, the mark on sign-in, and a dark mode that was never readable</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009501178&start_sha=563e9efed7a519af1c63fe25f99d96c33a664040)
paulhitt commented 2026-09-07 15:54:27 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 4444e7e8 - The ground shades from purple into a medium blue

Compare with previous version

added 1 commit <ul><li>4444e7e8 - The ground shades from purple into a medium blue</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009564375&start_sha=49854ac222831a2b12b2a18d8f04f288118e9fb1)
paulhitt commented 2026-09-07 16:13:38 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 37143c5b - Darker again — matches ios!144

Compare with previous version

added 1 commit <ul><li>37143c5b - Darker again — matches ios!144</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009597888&start_sha=4444e7e8e2037d04a3b2430ab69e1101d3b5d87a)
paulhitt commented 2026-09-07 16:26:49 +00:00 (Migrated from gitlab.com)

added 1 commit

  • c688ed21 - One theme, and it is dark — matches ios!144

Compare with previous version

added 1 commit <ul><li>c688ed21 - One theme, and it is dark — matches ios!144</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009618127&start_sha=37143c5b6e69dbd54506823a15583c2f183ca5e2)
paulhitt commented 2026-09-07 16:37:05 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 28d10bec - The recovery button did not recover, and half the text went black

Compare with previous version

added 1 commit <ul><li>28d10bec - The recovery button did not recover, and half the text went black</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009632760&start_sha=c688ed21b4f9be5d8bb8826db2a2677a1a2073db)
paulhitt commented 2026-09-07 16:44:58 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 15e678d5 - Bright, but still dark — matches ios!144

Compare with previous version

added 1 commit <ul><li>15e678d5 - Bright, but still dark — matches ios!144</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009643596&start_sha=28d10bec4da69234d5e429892d85bb10af8ffb84)
paulhitt commented 2026-09-07 17:37:37 +00:00 (Migrated from gitlab.com)

added 1 commit

  • b824e626 - Three stops — purple into blue into black — matches ios!144

Compare with previous version

added 1 commit <ul><li>b824e626 - Three stops — purple into blue into black — matches ios!144</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009706346&start_sha=15e678d593ab778248f5b1766a55e588a3c4b718)
paulhitt commented 2026-09-07 18:11:25 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 8fa66cd6 - White text boxes — matches ios!144

Compare with previous version

added 1 commit <ul><li>8fa66cd6 - White text boxes — matches ios!144</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009741670&start_sha=b824e626e769beea8ab1f10f0de4b35cbe3245fc)
paulhitt commented 2026-09-07 18:57:42 +00:00 (Migrated from gitlab.com)

added 1 commit

  • 17495659 - Icons and initials are white, not the accent — matches ios!144

Compare with previous version

added 1 commit <ul><li>17495659 - Icons and initials are white, not the accent — matches ios!144</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009793501&start_sha=8fa66cd6035f39637e3d4bf71f3e7cd4498ff522)
paulhitt commented 2026-09-07 19:32:14 +00:00 (Migrated from gitlab.com)

added 1 commit

  • ca0d3f78 - A photo sent as a file loses its location too (android#17)

Compare with previous version

added 1 commit <ul><li>ca0d3f78 - A photo sent as a file loses its location too (android#17)</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009833284&start_sha=17495659eb1298bd9369fc78125bb87d190d6609)
paulhitt commented 2026-09-07 19:41:32 +00:00 (Migrated from gitlab.com)

mentioned in commit 0fab7cc6d3

mentioned in commit 0fab7cc6d38081b2a698b45a2f3f45311566b70a
paulhitt (Migrated from gitlab.com) merged commit 0fab7cc6d3 into main 2026-09-07 19:41:32 +00:00
paulhitt commented 2026-09-09 19:01:05 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
Sign in to join this conversation.