Increment 3 — receive. - ImapClient.fetchRecentInbox pulls recent INBOX headers (ENVELOPE/FLAGS/UID) over IMAP (password or XOAUTH2) into FetchedMessage. - MailSyncer orchestrates per-account fetch -> Room (replace-per-account), refreshing and re-persisting the Gmail OAuth token when needed. - WorkManager background sync via a @HiltWorker (periodic 15-min + an expedited one-shot after adding an account); Application supplies the HiltWorkerFactory and the default WorkManager initializer is removed. - Mailbox renders real cached mail with pull-to-refresh and proper empty states (welcome/add-account vs no-messages); the sample-data crutch is removed. - Shared entity mappers; MessageDao.replaceAccountMessages transaction. - Tests: GreenMail-backed fetchRecentInbox unit test (deliver via SMTP, read via IMAP, newest-first). Instrumented Keystore + Angus-provider tests stay green on the Android 17 emulator, where the SyncWorker also runs to SUCCESS. - Add error_prone_annotations to the compile classpath (Hilt/Dagger codegen). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
66 lines
3.2 KiB
XML
66 lines
3.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- SPDX-License-Identifier: GPL-3.0-or-later -->
|
|
<resources>
|
|
<string name="app_name">LibreMail</string>
|
|
|
|
<!-- Destinations -->
|
|
<string name="title_mailbox">Inbox</string>
|
|
<string name="title_reader">Message</string>
|
|
<string name="title_compose">Compose</string>
|
|
<string name="title_settings">Settings</string>
|
|
<string name="title_account_setup">Add account</string>
|
|
|
|
<!-- Navigation / actions -->
|
|
<string name="nav_mailbox">Mail</string>
|
|
<string name="nav_settings">Settings</string>
|
|
<string name="action_compose">Compose</string>
|
|
<string name="action_back">Back</string>
|
|
<string name="action_send">Send</string>
|
|
|
|
<!-- Mailbox -->
|
|
<string name="mailbox_empty">No messages yet</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>
|
|
|
|
<!-- Compose -->
|
|
<string name="compose_to">To</string>
|
|
<string name="compose_subject">Subject</string>
|
|
<string name="compose_body">Message</string>
|
|
<string name="compose_not_implemented">Sending is not available yet</string>
|
|
|
|
<!-- Account setup -->
|
|
<string name="account_setup_gmail">Sign in with Google</string>
|
|
<string name="account_setup_other">Other (IMAP/SMTP)</string>
|
|
<string name="account_setup_subtitle">Choose how you want to connect your mailbox.</string>
|
|
<string name="account_gmail_needs_client_id">Add your Google OAuth client ID first — see the README</string>
|
|
|
|
<!-- Manual IMAP/SMTP setup -->
|
|
<string name="manual_setup_title">IMAP / SMTP</string>
|
|
<string name="manual_email">Email address</string>
|
|
<string name="manual_password">Password or app password</string>
|
|
<string name="manual_incoming">Incoming mail (IMAP)</string>
|
|
<string name="manual_outgoing">Outgoing mail (SMTP)</string>
|
|
<string name="manual_imap_server">IMAP server</string>
|
|
<string name="manual_smtp_server">SMTP server</string>
|
|
<string name="manual_imap_port">IMAP port</string>
|
|
<string name="manual_smtp_port">SMTP port</string>
|
|
<string name="manual_imap_security">IMAP security</string>
|
|
<string name="manual_smtp_security">SMTP security</string>
|
|
<string name="manual_test_and_add">Test & add account</string>
|
|
|
|
<!-- Settings -->
|
|
<string name="settings_accounts">Accounts</string>
|
|
<string name="settings_no_accounts">No accounts yet</string>
|
|
<string name="account_remove">Remove</string>
|
|
<string name="settings_appearance">Appearance</string>
|
|
<string name="settings_dynamic_color">Use wallpaper colors</string>
|
|
<string name="settings_dynamic_color_summary">Material You dynamic theming (Android 12+)</string>
|
|
<string name="settings_add_account">Add account</string>
|
|
<string name="settings_advanced">Advanced Settings</string>
|
|
<string name="settings_advanced_summary">Power-user options for sync and connections</string>
|
|
<string name="settings_adv_idle">Push mail (IMAP IDLE)</string>
|
|
<string name="settings_adv_starttls">Allow STARTTLS</string>
|
|
<string name="settings_adv_remote_images">Load remote images by default</string>
|
|
</resources>
|