SettingsScreen.kt currently renders its top-level sections in this order: Accounts, Notifications (settings_notifications), Contacts (autocomplete), Appearance, Message downloading (settings_downloading), Diagnostics (Report a problem), Backup, Storage on this device (retention), then the collapsible Advanced block. This ticket
reorders and relabels the top-level (non-Advanced) sections; Advanced's own internal order is
covered separately by #162.
Requested order, with the renames it implies:
Accounts — unchanged.
Message downloading — moved up from position 5. The header string
(settings_downloading = "Message downloading") already matches; no rename needed, just move
the block (fetch-policy radios) to follow Accounts.
Appearance — add a two-line subtext under the section header: "Match device theme" /
"Material You theming (Android 12+)". Note: there is no user-facing "match device theme" setting today — LibreMailTheme(darkTheme: Boolean = isSystemInDarkTheme(), ...)
(ui/theme/Theme.kt) already always follows the system light/dark setting, unconditionally.
So this reads as descriptive copy, not a new toggle: line 1 explains the (already-automatic)
light/dark behavior, line 2 explains the existing "Use wallpaper colors" switch
(settings_dynamic_color_summary = "Material You dynamic theming (Android 12+)"). Confirm that
reading before implementing — if a real light/dark override toggle is actually wanted, that's a
materially bigger, separate ticket.
Settings Backup — rename the section header string settings_backup from "Backup" to
"Settings Backup" (the row content — "Include settings in Android Backup" — is unaffected).
New mail notifications — rename settings_new_mail from "New-mail notifications" to
"New mail notifications" (drop the hyphen). Move the section (currently second) down to this
position.
Storage on this device — the retention section (RetentionSection, settings_retention = "Storage on this device" already matches). Per #162, "Background battery
usage" moves out of Advanced into the main list "just above local message retention options" —
i.e. immediately before this section. Coordinate sequencing with #162.
Report a Problem — moved from its current position (under a "Diagnostics" header) to the
end of the list. Decide whether to keep the standalone "Diagnostics" SectionHeader above it
now that it's a single trailing item, or drop the header since the item reads as self-explanatory
at the bottom of the list.
Open questions
The Contacts section (recipient-autocomplete row, #127-129) isn't mentioned in the requested
order. Confirm where it should land — left in its current spot (between Notifications' old
position and Appearance) is the safest default absent other guidance, but flag this for
confirmation rather than silently guessing.
Scope
Reorder the top-level sections in SettingsScreen.kt per the list above.
Rename settings_backup ("Backup" → "Settings Backup") and settings_new_mail
("New-mail notifications" → "New mail notifications") in res/values/strings.xml.
Add the two-line Appearance subtext (new string resource) under the settings_appearance SectionHeader.
Resolve the Contacts-section placement and the Diagnostics-header question above before
or during implementation.
Acceptance criteria
Settings screen renders sections in the order specified, with the renamed headers and the new
Appearance subtext.
No functional change to any toggle/radio behavior — this is a presentation/ordering pass only.
Coordinate with #162 (Advanced Settings hierarchy — moves Background battery usage into this
list, just above Storage on this device).
## Context
`SettingsScreen.kt` currently renders its top-level sections in this order: **Accounts**,
**Notifications** (`settings_notifications`), **Contacts** (autocomplete), **Appearance**,
**Message downloading** (`settings_downloading`), **Diagnostics** (Report a problem), **Backup**,
**Storage on this device** (retention), then the collapsible **Advanced** block. This ticket
reorders and relabels the top-level (non-Advanced) sections; Advanced's own internal order is
covered separately by #162.
Requested order, with the renames it implies:
1. **Accounts** — unchanged.
2. **Message downloading** — moved up from position 5. The header string
(`settings_downloading` = "Message downloading") already matches; no rename needed, just move
the block (fetch-policy radios) to follow Accounts.
3. **Appearance** — add a two-line subtext under the section header: "Match device theme" /
"Material You theming (Android 12+)". Note: there is no user-facing "match device theme"
*setting* today — `LibreMailTheme(darkTheme: Boolean = isSystemInDarkTheme(), ...)`
(`ui/theme/Theme.kt`) already always follows the system light/dark setting, unconditionally.
So this reads as **descriptive copy**, not a new toggle: line 1 explains the (already-automatic)
light/dark behavior, line 2 explains the existing "Use wallpaper colors" switch
(`settings_dynamic_color_summary` = "Material You dynamic theming (Android 12+)"). Confirm that
reading before implementing — if a real light/dark override toggle is actually wanted, that's a
materially bigger, separate ticket.
4. **Settings Backup** — rename the section header string `settings_backup` from "Backup" to
"Settings Backup" (the row content — "Include settings in Android Backup" — is unaffected).
5. **New mail notifications** — rename `settings_new_mail` from "New-mail notifications" to
"New mail notifications" (drop the hyphen). Move the section (currently second) down to this
position.
6. **Storage on this device** — the retention section (`RetentionSection`,
`settings_retention` = "Storage on this device" already matches). Per #162, "Background battery
usage" moves out of Advanced into the main list "just above local message retention options" —
i.e. immediately before this section. Coordinate sequencing with #162.
7. **Report a Problem** — moved from its current position (under a "Diagnostics" header) to the
end of the list. Decide whether to keep the standalone "Diagnostics" `SectionHeader` above it
now that it's a single trailing item, or drop the header since the item reads as self-explanatory
at the bottom of the list.
## Open questions
- The **Contacts** section (recipient-autocomplete row, #127-129) isn't mentioned in the requested
order. Confirm where it should land — left in its current spot (between Notifications' old
position and Appearance) is the safest default absent other guidance, but flag this for
confirmation rather than silently guessing.
## Scope
- [ ] Reorder the top-level sections in `SettingsScreen.kt` per the list above.
- [ ] Rename `settings_backup` ("Backup" → "Settings Backup") and `settings_new_mail`
("New-mail notifications" → "New mail notifications") in `res/values/strings.xml`.
- [ ] Add the two-line Appearance subtext (new string resource) under the `settings_appearance`
`SectionHeader`.
- [ ] Resolve the Contacts-section placement and the Diagnostics-header question above before
or during implementation.
## Acceptance criteria
- Settings screen renders sections in the order specified, with the renamed headers and the new
Appearance subtext.
- No functional change to any toggle/radio behavior — this is a presentation/ordering pass only.
## Relevant files
- `ui/settings/SettingsScreen.kt`, `ui/settings/SettingsComponents.kt` (`RetentionSection`),
`res/values/strings.xml`.
## Dependencies
Coordinate with #162 (Advanced Settings hierarchy — moves Background battery usage into this
list, just above Storage on this device).
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
SettingsScreen.ktcurrently renders its top-level sections in this order: Accounts,Notifications (
settings_notifications), Contacts (autocomplete), Appearance,Message downloading (
settings_downloading), Diagnostics (Report a problem), Backup,Storage on this device (retention), then the collapsible Advanced block. This ticket
reorders and relabels the top-level (non-Advanced) sections; Advanced's own internal order is
covered separately by #162.
Requested order, with the renames it implies:
(
settings_downloading= "Message downloading") already matches; no rename needed, just movethe block (fetch-policy radios) to follow Accounts.
"Material You theming (Android 12+)". Note: there is no user-facing "match device theme"
setting today —
LibreMailTheme(darkTheme: Boolean = isSystemInDarkTheme(), ...)(
ui/theme/Theme.kt) already always follows the system light/dark setting, unconditionally.So this reads as descriptive copy, not a new toggle: line 1 explains the (already-automatic)
light/dark behavior, line 2 explains the existing "Use wallpaper colors" switch
(
settings_dynamic_color_summary= "Material You dynamic theming (Android 12+)"). Confirm thatreading before implementing — if a real light/dark override toggle is actually wanted, that's a
materially bigger, separate ticket.
settings_backupfrom "Backup" to"Settings Backup" (the row content — "Include settings in Android Backup" — is unaffected).
settings_new_mailfrom "New-mail notifications" to"New mail notifications" (drop the hyphen). Move the section (currently second) down to this
position.
RetentionSection,settings_retention= "Storage on this device" already matches). Per #162, "Background batteryusage" moves out of Advanced into the main list "just above local message retention options" —
i.e. immediately before this section. Coordinate sequencing with #162.
end of the list. Decide whether to keep the standalone "Diagnostics"
SectionHeaderabove itnow that it's a single trailing item, or drop the header since the item reads as self-explanatory
at the bottom of the list.
Open questions
order. Confirm where it should land — left in its current spot (between Notifications' old
position and Appearance) is the safest default absent other guidance, but flag this for
confirmation rather than silently guessing.
Scope
SettingsScreen.ktper the list above.settings_backup("Backup" → "Settings Backup") andsettings_new_mail("New-mail notifications" → "New mail notifications") in
res/values/strings.xml.settings_appearanceSectionHeader.or during implementation.
Acceptance criteria
Appearance subtext.
Relevant files
ui/settings/SettingsScreen.kt,ui/settings/SettingsComponents.kt(RetentionSection),res/values/strings.xml.Dependencies
Coordinate with #162 (Advanced Settings hierarchy — moves Background battery usage into this
list, just above Storage on this device).