Add multi-account: unified inbox with per-account filter

The data layer, background sync, and IDLE already handled N accounts; this makes
the UI account-aware.

- Mailbox: filter chips (All + one per account) appear once 2+ accounts exist, and
  each message in the unified view is labelled with its account. The filter resets to
  All if the selected account is removed.
- Reply now carries the receiving account through to compose, so From defaults to the
  account that received the message rather than just the first account.
- Removing an account now also deletes its cached messages and attachments, so they
  leave the unified inbox.
- assemble/test/lint green; verified on the Android 17 emulator — added a second
  GreenMail account, saw both accounts' mail unified + attributed, filtered to one
  account, and replied from the correct account.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-27 13:16:49 -05:00
co-authored by Claude Opus 4.8
parent 6d3360fdb9
commit ee0bbacb98
10 changed files with 121 additions and 28 deletions
+1
View File
@@ -24,6 +24,7 @@
<!-- Mailbox -->
<string name="mailbox_empty">No messages yet</string>
<string name="mailbox_all_accounts">All</string>
<string name="mailbox_pull_to_refresh">Pull down to refresh</string>
<string name="mailbox_welcome_title">Welcome to LibreMail</string>
<string name="mailbox_welcome_subtitle">Add an account to start reading your mail.</string>