Commit graph

1793 commits

Author SHA1 Message Date
cketti
78ad10e3df Remove unused K9AlarmManager 2021-06-18 19:46:48 +02:00
cketti
7a940240c3 Add BootCompleteReceiver to start PushController on device boot 2021-06-18 19:34:28 +02:00
cketti
5520fdac96
Merge pull request #5347 from k9mail/idle_refresh_manager
Add implementation for BackendIdleRefreshManager
2021-06-18 16:27:59 +02:00
cketti
be17063212
Merge pull request #5348 from k9mail/account_push_controller
Add AccountPushController
2021-06-17 22:15:20 +02:00
cketti
bf1d528972 Add AccountPushController 2021-06-17 21:49:23 +02:00
cketti
a2a6b93253
Merge pull request #5349 from k9mail/fix_attachment_box
Fix attachment box layout in compose screen
2021-06-17 21:38:47 +02:00
cketti
129ec0de98
Merge pull request #5350 from k9mail/fix_expunge_immediately
Honor expunge policy when deleting messages
2021-06-17 21:38:25 +02:00
cketti
cf4a6233fd
Merge pull request #5344 from arissystem-labs/bugfix-5343
fix some issues with "Add from Contact" when permission not granted
2021-06-17 21:33:39 +02:00
cketti
e4af588431 Honor expunge policy when deleting messages
Previously, we didn't expunge messages when the expunge policy was set to 'immediately' (default) and no Trash folder was configured.
2021-06-16 19:47:01 +02:00
cketti
6562ee4ac8 Fix attachment box layout in compose screen 2021-06-16 19:15:53 +02:00
cketti
a74c206a0c Add implementation for BackendIdleRefreshManager 2021-06-16 15:04:01 +02:00
r.zarchi
66d37a0db2 Ignore fillContactDataFromLookupKey if we don't have the necessary permission 2021-06-16 10:00:53 +04:30
r.zarchi
fb9ed80df6 check for contact permission and contact picker to show or hide "Add from Contacts" option 2021-06-16 09:46:08 +04:30
cketti
c8808ae447 Add ImapBackendPusher that manages multiple ImapFolderPusher instances 2021-06-13 00:51:23 +02:00
cketti
ac0f01c206
Merge pull request #5338 from k9mail/push_service
Add foreground service for Push
2021-06-13 00:09:02 +02:00
cketti
f45b8a2317 Add AutoSyncManager to listen for changes to the "auto sync" system setting 2021-06-12 23:53:15 +02:00
cketti
46a2c351d5 Add foreground service for Push 2021-06-12 17:04:45 +02:00
cketti
fb55ee76f9
Merge pull request #5337 from k9mail/notification_ids_test
Rewrite tests for NotificationIds
2021-06-12 16:00:28 +02:00
cketti
f3b7cd7d14 Add notification channel for a Push foreground service 2021-06-11 18:33:09 +02:00
cketti
5df81c2908 Rewrite tests for NotificationIds
Check the properties we actually care about instead of testing implementation details.
2021-06-11 13:52:01 +02:00
cketti
296ba92221
Merge pull request #5333 from k9mail/imap_interfaces 2021-06-10 21:28:01 +02:00
cketti
e877c3b313
Merge pull request #5329 from k9mail/fix_locale_override
Re-apply the locale override to the configuration if necessary
2021-06-10 21:27:35 +02:00
cketti
94f630cf88 Introduce ImapStore interface 2021-06-10 21:00:58 +02:00
cketti
7fcd1976e9 Minor cleanup 2021-06-05 15:08:06 +02:00
cketti
db0bd06f21 Re-apply the locale override to the configuration if necessary 2021-06-05 14:18:00 +02:00
Art O Cathain
886a5a0610 Show account unread count on account list in drawer 2021-06-05 15:28:43 +10:00
cketti
295b9d8d28
Merge pull request #5327 from k9mail/issue_4407_unifiedInbox 2021-06-04 21:38:15 +02:00
cketti
2e785325de Simplify logic in MessageListFragment.setWindowTitle() 2021-06-04 11:47:55 +02:00
plan3d
4b488d9cbf Issue #4407: Fixed localized unified inbox title if app language was changed 2021-06-04 11:30:38 +02:00
cketti
63e6c61368 Make sure BodyTextExtractor.getBodyTextFromMessage() never returns null 2021-06-02 00:32:35 +02:00
cketti
c6fc922e5b
Merge pull request #5323 from k9mail/remove_notification_opens_unread
Remove "Notification opens unread messages" option
2021-06-01 16:05:29 +02:00
cketti
240c935f85
Merge pull request #5321 from plan3d/issue_4407_setTitle 2021-06-01 15:46:28 +02:00
cketti
bca8f2f301 Explicitly set activity titles
This is so cached activity titles aren't used when changing the app language.
See https://proandroiddev.com/change-language-programmatically-at-runtime-on-android-5e6bc15c758
2021-06-01 15:32:40 +02:00
cketti
2598d3e199 Remove "Notification opens unread messages" option 2021-06-01 09:45:12 +02:00
plan3d
1066cf84b0 Removed dead code 2021-05-31 16:30:53 +02:00
plan3d
26db6638d8 Issue #4407: Fixed localized titles if app language and system language are different 2021-05-31 16:10:36 +02:00
cketti
11c85017e2
Merge pull request #5313 from k9mail/push_folders_flow
Add FolderRepository.getPushFoldersFlow()
2021-05-29 13:23:08 +02:00
cketti
6862b737ed Add FolderRepository.getPushFoldersFlow()
This method returns a flow that emits the list of folders to sync via Push. It will automatically update when the account's 'Push folders' setting or a folder's Push class is changed.
2021-05-28 14:15:48 +02:00
cketti
fdaf91cd2e Remove 'Poll when connecting for push' setting 2021-05-28 12:28:54 +02:00
cketti
72b1ab5ac5 Remove message list update mechanism that no longer works
The adapter in MessageListFragment used a complicated mechanism that allowed for changing the displayed list by changing the cache and not reading the data from the database again. With the latest change to the adapter this no longer works. And so the associated "notification" mechanism can be removed.
2021-05-23 10:01:10 +02:00
Nuno Ferreira
18e8b31f1c
Add long-press action to copy subject text to clipboard (#5296) 2021-05-14 18:21:00 +02:00
cketti
ec8efc631e Merge branch 'long_folder_names' into main
Closes #5291
2021-05-12 15:21:10 +02:00
cketti
66bae83468 Use custom layout for folders in drawer 2021-05-12 15:12:26 +02:00
Marcus Wolschon
6f615337c0 Improve support for long folder names in drawer
Ellipsize long folder names in the middle, not the end.
2021-05-12 14:42:02 +02:00
cketti
769d658e5a Correctly persist message download state
Add the flag X_DOWNLOADED_FULL when the message has been downloaded completely, the flag X_DOWNLOADED_PARTIAL when only the text of a message has been downloaded, and set no additional flag when only the envelope and structure of the message has been downloaded. The latter happens when we fetch remote search results.
2021-05-10 00:47:27 +02:00
cketti
a3d6fd7ab4
Merge pull request #5283 from k9mail/drawer_toggle
Remove ActionBarDrawerToggle
2021-05-02 14:58:07 +02:00
cketti
79fe2ca7ab Remove ActionBarDrawerToggle
The animation of the menu icon was mostly obscured by the drawer anyway.
2021-05-01 03:43:59 +02:00
cketti
48c9a061c1 Use SummaryProvider instead of summary attribute with format strings 2021-05-01 03:11:41 +02:00
cketti
e32c497f8f Prepare for version 5.735 2021-05-01 00:14:06 +02:00
cketti
9c1c464dc3 Version 5.734 2021-04-30 23:54:36 +02:00
cketti
5313f0e01d Update translations 2021-04-30 23:21:10 +02:00
cketti
1459a2feda Remove duplicate drawable 2021-04-24 03:01:09 +02:00
cketti
a389c1860f Move notification mechanism from K9MessageStore to NotifierMessageStore 2021-04-24 01:09:37 +02:00
cketti
8d45e9cdd3 Remove now unused code from LocalFolder 2021-04-23 22:28:40 +02:00
cketti
c204c24c23 Use new implementation in MessageStore to copy messages 2021-04-23 22:28:40 +02:00
cketti
e05bc461b5 Re-implement copy message functionality in MessageStore
Instead of loading a message into memory and then saving it to the new folder the new code copies the database entries and data files.
2021-04-23 22:28:40 +02:00
cketti
9ef105d74f
Merge pull request #5267 from k9mail/update_dependencies 2021-04-22 18:37:38 +02:00
cketti
5444d8be3a Remove explicit dependency on Kotlin's standard library 2021-04-22 03:54:15 +02:00
cketti
632d8f3cb7 Upgrade Mockito-Kotlin to 3.1.0 2021-04-22 03:54:15 +02:00
cketti
0e7ec3846d Upgrade Koin to 2.2.2 2021-04-22 03:54:15 +02:00
cketti
65d3df63b0 Upgrade AndroidX lifecycle libraries to 2.3.1 2021-04-22 03:54:15 +02:00
cketti
105d55a303 Remove unnecessary code to update thread entry 2021-04-22 03:43:00 +02:00
cketti
4573b5d001 Clean up ThreadInfo 2021-04-22 03:33:32 +02:00
cketti
813cc4eec2 Remove unused ThreadInfo.messageIdHeader 2021-04-22 03:17:48 +02:00
cketti
826e4a470e Various message threading fixes 2021-04-21 20:44:47 +02:00
cketti
341687e9dc
Merge pull request #5263 from k9mail/custom_language_rewrite
Rewrite custom app language feature
2021-04-20 22:12:27 +02:00
cketti
a61429e8c5 Rewrite custom app language feature
Add AppLanguageManager that notifies listeners when the app language has been changed. K9Activity uses this mechanism to restart() on language changes. The Application object will update its configuration.

Instead of using the deprecated Resources.updateConfiguration() we now use LocaleContextWrapper (in combination with AppCompat) to override the locale in the configuration.
2021-04-20 21:41:18 +02:00
cketti
c43f27a9ff
Merge pull request #5259 from k9mail/save_messages 2021-04-20 21:23:47 +02:00
cketti
034e1fbd79 Fix crash when starting MessageCompose without an account UUID 2021-04-19 21:21:13 +02:00
cketti
abd336addb Save message in Outbox folder using MessageStore 2021-04-18 02:28:33 +02:00
cketti
903babe917 Save drafts using MessageStore 2021-04-17 23:26:46 +02:00
cketti
f58860f8bb
Merge pull request #5257 from k9mail/save_messages
Split Backend.fetchMessage() into two methods
2021-04-17 21:45:00 +02:00
cketti
127e311385 Change FolderDetailsAccessor to better support local folders
For "local-only" folders the server ID column in the database is NULL.
2021-04-17 17:54:25 +02:00
cketti
53d8ddef81 Clean up code in FolderSettingsFragment 2021-04-17 17:54:25 +02:00
plan3d
9558dec197 Hide folder poll class and folder notification class preferences for local folders 2021-04-17 10:12:54 +02:00
plan3d
27e6dc9d84 Issue #5249: Fixed NPE in folder settings of outbox folder 2021-04-17 10:12:54 +02:00
cketti
428ae60a58 Split Backend.fetchMessage() into two methods
The two new methods now also save the downloaded message data instead of returning a Message instance.
MessageStore.saveRemoteMessage() will now replace a message if it already exists.
2021-04-17 00:04:58 +02:00
cketti
4bfe03de35
Merge pull request #5255 from k9mail/BackendStorage_to_MessageStore 2021-04-16 20:46:06 +02:00
cketti
1bbaf668f6 Remove K9BackendStorage's dependency on LocalStore 2021-04-15 01:51:57 +02:00
cketti
289744ec24 Change key/value functions in K9BackendFolder to use MessageStore 2021-04-15 01:51:54 +02:00
cketti
cf51883637 Change K9BackendFolder.getOldestMessageDate() to use MessageStore 2021-04-15 01:51:52 +02:00
cketti
0a50acd38b
Merge pull request #5251 from k9mail/BackendStorage_to_MessageStore
Change K9BackendFolder.saveMessage() to use MessageStore
2021-04-15 01:51:24 +02:00
cketti
4e4babeea6 Change K9BackendFolder.saveMessage() to use MessageStore 2021-04-15 01:19:18 +02:00
cketti
756ffc7856
Merge pull request #5246 from k9mail/BackendStorage_to_MessageStore
Remove ThreadMessageOperations' dependency on LocalStore
2021-04-13 18:03:49 +02:00
cketti
78e616ed37 Remove ThreadMessageOperations' dependency on LocalStore 2021-04-13 17:43:24 +02:00
plan3d
352cd7a356 Issue #1430: Fixed lost signature spaces 2021-04-13 07:37:52 +02:00
plan3d
960989bdb2 Fixed TextBodyBuilder 2021-04-13 07:37:52 +02:00
plan3d
20a00de34c Rewrote TextBodyBuilderTest 2021-04-13 07:37:52 +02:00
cketti
1a68adc803
Merge pull request #5242 from k9mail/BackendStorage_to_MessageStore 2021-04-12 21:00:07 +02:00
cketti
e521a8d23b Extract variable for FastAdapter version and upgrade to 5.4.0 2021-04-12 16:14:27 +02:00
cketti
b9653f7b76 Only show drag handle if there's more than one account 2021-04-12 16:14:27 +02:00
cketti
35da587399 Save new account order in background thread 2021-04-10 07:29:37 +02:00
cketti
123292dde5 Use RecyclerViewBackgroundDrawable in settings screen
Use a background that becomes visible when account items are dragged. This creates a nice layered surfaces effect.
2021-04-10 07:15:23 +02:00
Poldi
3d9e9d96fc Allow reordering accounts in settings 2021-04-10 06:47:02 +02:00
cketti
a00d69cf13
Merge pull request #5241 from k9mail/BackendStorage_to_MessageStore 2021-04-09 23:21:15 +02:00
cketti
923b0308b4 Change K9BackendFolder.setMessageFlag() to use MessageStore 2021-04-09 03:08:25 +02:00
cketti
c20de077d9 Change K9BackendFolder.getMessageFlags() to use MessageStore 2021-04-09 02:24:02 +02:00
cketti
c17db2cb94 Change K9BackendFolder.isMessagePresent() to use MessageStore 2021-04-09 02:00:10 +02:00
cketti
d52b4511fe Change K9BackendFolder.setStatus() to use MessageStore 2021-04-08 21:33:25 +02:00
cketti
e7b764e6e8 Change K9BackendFolder.setLastChecked() to use MessageStore 2021-04-08 21:28:05 +02:00