Adds MailProvider.AOL as a fourth guided app-password provider (Gmail/Yahoo/iCloud/AOL), positioned after iCloud in the picker. Closes the coupled pair of #156 and #154 together, since AOL isn't usable in the picker without its servers.
Verified against AOL's current live docs at implementation time (not just the issue text):
App-password help: https://help.aol.com/articles/Create-and-manage-app-password (AOL's own "Create and manage 3rd-party app passwords" article — confirmed still live).
Two-factor: no twoFactorHelpUrl. Directly checked both AOL's app-password article and its separate "2-Step Verification" article (https://help.aol.com/articles/2-step-verification-stronger-than-your-password-alone) — neither treats 2FA as a prerequisite for generating an app password, so AOL follows Yahoo's pattern here, not Gmail/iCloud's.
IMAP: imap.aol.com:993, MailSecurity.SSL_TLS — matches issue #154, confirmed via AOL's official "Use POP or IMAP..." help page and the Thunderbird ISPDB autoconfig for aol.com.
SMTP: smtp.aol.com:465, MailSecurity.SSL_TLS — this is where implementation deviated from issue #154's assumption. The issue expected AOL to document both 465 (SSL/TLS) and 587 (STARTTLS) the way Gmail/iCloud do. Direct verification of two separate official AOL help pages, plus the Thunderbird ISPDB, found only port 465/SSL documented for SMTP submission — no 587/STARTTLS alternative appears anywhere in AOL's own docs. So this entry follows Yahoo's existing rationale (465/SSL_TLS) instead, and the class KDoc was updated to say so.
Changes
domain/model/MailProvider.kt — new AOL entry + updated class/param KDoc (now describes 4 providers, and groups Yahoo+AOL as the "465/SSL_TLS only" camp vs. Gmail/iCloud's "587/STARTTLS" camp).
ui/accountsetup/AppPasswordSetupScreen.kt — providerIntro() and twoFactorHelpLabel() (both exhaustive when blocks over MailProvider) gain an AOL branch. AccountPickerScreen.kt needed no change — it already lists providers generically via MailProvider.entries.
res/values/strings.xml — new app_password_intro_aol string, phrased like Yahoo's (no 2FA mention, since AOL doesn't gate on it either).
domain/model/MailProviderTest.kt — new AOL preset test, app-password-help-URL test, and assertions folded into the existing shared tests (fromKey, forImapHost, brandFor, two-factor-null-for-yahoo-and-aol).
Test plan
assembleDebug, testDebugUnitTest (18/18 MailProviderTest cases pass, 0 failures), lintDebug, ktlintCheck, detekt, compileDebugAndroidTestKotlin — all green locally under JDK 21.
Diff scoped to exactly the four files above (verified via git diff --stat).
## Summary
Adds `MailProvider.AOL` as a fourth guided app-password provider (Gmail/Yahoo/iCloud/AOL), positioned after iCloud in the picker. Closes the coupled pair of #156 and #154 together, since AOL isn't usable in the picker without its servers.
**Verified against AOL's current live docs at implementation time** (not just the issue text):
- **App-password help**: `https://help.aol.com/articles/Create-and-manage-app-password` (AOL's own "Create and manage 3rd-party app passwords" article — confirmed still live).
- **Two-factor**: no `twoFactorHelpUrl`. Directly checked both AOL's app-password article and its separate "2-Step Verification" article (`https://help.aol.com/articles/2-step-verification-stronger-than-your-password-alone`) — neither treats 2FA as a prerequisite for generating an app password, so AOL follows Yahoo's pattern here, not Gmail/iCloud's.
- **IMAP**: `imap.aol.com:993`, `MailSecurity.SSL_TLS` — matches issue #154, confirmed via AOL's official "Use POP or IMAP..." help page and the Thunderbird ISPDB autoconfig for `aol.com`.
- **SMTP**: `smtp.aol.com:465`, `MailSecurity.SSL_TLS` — this is where implementation deviated from issue #154's assumption. The issue expected AOL to document both 465 (SSL/TLS) and 587 (STARTTLS) the way Gmail/iCloud do. Direct verification of two separate official AOL help pages, plus the Thunderbird ISPDB, found **only** port 465/SSL documented for SMTP submission — no 587/STARTTLS alternative appears anywhere in AOL's own docs. So this entry follows Yahoo's existing rationale (465/SSL_TLS) instead, and the class KDoc was updated to say so.
## Changes
- `domain/model/MailProvider.kt` — new `AOL` entry + updated class/param KDoc (now describes 4 providers, and groups Yahoo+AOL as the "465/SSL_TLS only" camp vs. Gmail/iCloud's "587/STARTTLS" camp).
- `ui/accountsetup/AppPasswordSetupScreen.kt` — `providerIntro()` and `twoFactorHelpLabel()` (both exhaustive `when` blocks over `MailProvider`) gain an AOL branch. `AccountPickerScreen.kt` needed no change — it already lists providers generically via `MailProvider.entries`.
- `res/values/strings.xml` — new `app_password_intro_aol` string, phrased like Yahoo's (no 2FA mention, since AOL doesn't gate on it either).
- `domain/model/MailProviderTest.kt` — new AOL preset test, app-password-help-URL test, and assertions folded into the existing shared tests (`fromKey`, `forImapHost`, `brandFor`, two-factor-null-for-yahoo-and-aol).
## Test plan
- [x] `assembleDebug`, `testDebugUnitTest` (18/18 `MailProviderTest` cases pass, 0 failures), `lintDebug`, `ktlintCheck`, `detekt`, `compileDebugAndroidTestKotlin` — all green locally under JDK 21.
- [x] Diff scoped to exactly the four files above (verified via `git diff --stat`).
Closes #156
Closes #154
🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.
Summary
Adds
MailProvider.AOLas a fourth guided app-password provider (Gmail/Yahoo/iCloud/AOL), positioned after iCloud in the picker. Closes the coupled pair of #156 and #154 together, since AOL isn't usable in the picker without its servers.Verified against AOL's current live docs at implementation time (not just the issue text):
https://help.aol.com/articles/Create-and-manage-app-password(AOL's own "Create and manage 3rd-party app passwords" article — confirmed still live).twoFactorHelpUrl. Directly checked both AOL's app-password article and its separate "2-Step Verification" article (https://help.aol.com/articles/2-step-verification-stronger-than-your-password-alone) — neither treats 2FA as a prerequisite for generating an app password, so AOL follows Yahoo's pattern here, not Gmail/iCloud's.imap.aol.com:993,MailSecurity.SSL_TLS— matches issue #154, confirmed via AOL's official "Use POP or IMAP..." help page and the Thunderbird ISPDB autoconfig foraol.com.smtp.aol.com:465,MailSecurity.SSL_TLS— this is where implementation deviated from issue #154's assumption. The issue expected AOL to document both 465 (SSL/TLS) and 587 (STARTTLS) the way Gmail/iCloud do. Direct verification of two separate official AOL help pages, plus the Thunderbird ISPDB, found only port 465/SSL documented for SMTP submission — no 587/STARTTLS alternative appears anywhere in AOL's own docs. So this entry follows Yahoo's existing rationale (465/SSL_TLS) instead, and the class KDoc was updated to say so.Changes
domain/model/MailProvider.kt— newAOLentry + updated class/param KDoc (now describes 4 providers, and groups Yahoo+AOL as the "465/SSL_TLS only" camp vs. Gmail/iCloud's "587/STARTTLS" camp).ui/accountsetup/AppPasswordSetupScreen.kt—providerIntro()andtwoFactorHelpLabel()(both exhaustivewhenblocks overMailProvider) gain an AOL branch.AccountPickerScreen.ktneeded no change — it already lists providers generically viaMailProvider.entries.res/values/strings.xml— newapp_password_intro_aolstring, phrased like Yahoo's (no 2FA mention, since AOL doesn't gate on it either).domain/model/MailProviderTest.kt— new AOL preset test, app-password-help-URL test, and assertions folded into the existing shared tests (fromKey,forImapHost,brandFor, two-factor-null-for-yahoo-and-aol).Test plan
assembleDebug,testDebugUnitTest(18/18MailProviderTestcases pass, 0 failures),lintDebug,ktlintCheck,detekt,compileDebugAndroidTestKotlin— all green locally under JDK 21.git diff --stat).Closes #156
Closes #154
🤖 Generated with Claude Code