AppPasswordSetupScreen.kt (~lines 153-171) renders two OutlinedButtons for Gmail, in this
order: (1) "Create an app password for Gmail" (appPasswordHelpUrl), then (2) "How to turn on
2-Step Verification" (twoFactorHelpUrl). But 2-Step Verification is a prerequisite for step
1 — Gmail's app-passwords page won't work until it's on (see the intro copy, app_password_intro_gmail, and the comment directly above this button block explaining why the
2FA link exists at all). Showing the prerequisite second reads backwards for a user who doesn't
have 2FA enabled yet: they tap the first button, hit a dead end on Google's site, and only then
notice the second button.
Scope
Swap the order of the two buttons in AppPasswordSetupScreen.kt: render the twoFactorHelpUrl button (when non-null) before the appPasswordHelpUrl button.
Update the comment above the block (currently explains why the 2FA button exists; adjust
if needed to reflect the new ordering).
Acceptance criteria
On the Gmail guided-setup screen, "How to turn on 2-Step Verification" appears above "Create an
app password for Gmail".
No visible change for Yahoo/iCloud today (they have no twoFactorHelpUrl) — unless #153 lands
first, in which case iCloud gets the same corrected ordering for free.
None — small, low-risk, and independent of #153/#155/#156, though it touches the same button
block those tickets modify, so sequencing it first (or in the same PR) avoids merge friction.
## Context
`AppPasswordSetupScreen.kt` (~lines 153-171) renders two `OutlinedButton`s for Gmail, in this
order: (1) "Create an app password for Gmail" (`appPasswordHelpUrl`), then (2) "How to turn on
2-Step Verification" (`twoFactorHelpUrl`). But 2-Step Verification is a *prerequisite* for step
1 — Gmail's app-passwords page won't work until it's on (see the intro copy,
`app_password_intro_gmail`, and the comment directly above this button block explaining why the
2FA link exists at all). Showing the prerequisite second reads backwards for a user who doesn't
have 2FA enabled yet: they tap the first button, hit a dead end on Google's site, and only then
notice the second button.
## Scope
- [ ] Swap the order of the two buttons in `AppPasswordSetupScreen.kt`: render the
`twoFactorHelpUrl` button (when non-null) before the `appPasswordHelpUrl` button.
- [ ] Update the comment above the block (currently explains *why* the 2FA button exists; adjust
if needed to reflect the new ordering).
## Acceptance criteria
- On the Gmail guided-setup screen, "How to turn on 2-Step Verification" appears above "Create an
app password for Gmail".
- No visible change for Yahoo/iCloud today (they have no `twoFactorHelpUrl`) — unless #153 lands
first, in which case iCloud gets the same corrected ordering for free.
## Relevant files
- `ui/accountsetup/AppPasswordSetupScreen.kt` (~lines 153-171).
## Dependencies
None — small, low-risk, and independent of #153/#155/#156, though it touches the same button
block those tickets modify, so sequencing it first (or in the same PR) avoids merge friction.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
AppPasswordSetupScreen.kt(~lines 153-171) renders twoOutlinedButtons for Gmail, in thisorder: (1) "Create an app password for Gmail" (
appPasswordHelpUrl), then (2) "How to turn on2-Step Verification" (
twoFactorHelpUrl). But 2-Step Verification is a prerequisite for step1 — Gmail's app-passwords page won't work until it's on (see the intro copy,
app_password_intro_gmail, and the comment directly above this button block explaining why the2FA link exists at all). Showing the prerequisite second reads backwards for a user who doesn't
have 2FA enabled yet: they tap the first button, hit a dead end on Google's site, and only then
notice the second button.
Scope
AppPasswordSetupScreen.kt: render thetwoFactorHelpUrlbutton (when non-null) before theappPasswordHelpUrlbutton.if needed to reflect the new ordering).
Acceptance criteria
app password for Gmail".
twoFactorHelpUrl) — unless #153 landsfirst, in which case iCloud gets the same corrected ordering for free.
Relevant files
ui/accountsetup/AppPasswordSetupScreen.kt(~lines 153-171).Dependencies
None — small, low-risk, and independent of #153/#155/#156, though it touches the same button
block those tickets modify, so sequencing it first (or in the same PR) avoids merge friction.