kWalletStackRowWidth top-level constant

double const kWalletStackRowWidth

Below this row width the same starvation happens at EVERY text scale, so width alone forces the stack.

Measured in situ on the wallet screen (#409 R3, 320dp viewport ⇒ a 288dp row inside the surface's 16dp padding), at the DEFAULT 1.0x:

  • the sync-start notice's message keeps 59dp of 288 in en and 0.0dp in de, where the card runs 1250dp tall;
  • the rescan-failed notice keeps 80dp at 1.3x;
  • the in-flight swap row keeps 71dp at 1.0x and 36dp at 1.3x, growing that one row to 658dp tall.

None of those throws a RenderFlex overflow in en — the notice's first throw is at 360dp/3.0x — which is exactly why a takeException pin alone never caught the class, and why the pins measure width. (de is harsher: the pre-fix swap row DID throw 14px at 320dp/1.0x there.)

This is a ROW width, not a screen width, so the same constant lands at a different viewport per surface — measured breakpoints: swap row ≥552dp, compact notice ≥578dp, prominent notice ≥586dp. Between 560 and 585dp a foldable can therefore show a stacked notice above an inline swap row.

Implementation

const double kWalletStackRowWidth = 520;