cketti
c8808ae447
Add ImapBackendPusher that manages multiple ImapFolderPusher instances
2021-06-13 00:51:23 +02:00
cketti
d62aa030c9
Add BackendPusher interface
2021-06-13 00:36:34 +02:00
cketti
ca13a32fec
Add ImapFolderPusher to listen for changes to an IMAP folder
2021-06-12 21:09:30 +02:00
cketti
94f630cf88
Introduce ImapStore interface
2021-06-10 21:00:58 +02:00
cketti
ededa33ff2
Use enum class for ImapFolder.open() argument
2021-06-09 16:15:12 +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
5444d8be3a
Remove explicit dependency on Kotlin's standard library
2021-04-22 03:54:15 +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
f0bb82e1a9
Remove unused code related to "latest old message seen time"
2021-03-31 18:09:25 +02:00
cketti
4b4a0373a6
Change the way Pop3Sync stores "latest old message seen time"
2021-03-31 17:59:12 +02:00
cketti
d3b0e1a0c6
Remove unused code from WebDavSync
2021-03-31 17:47:57 +02:00
cketti
1f2404557b
Migrate storeUri/transportUri to new server settings format
2021-02-01 17:30:21 +01:00
cketti
08d6d9bebc
Delete remaining store/transport URI functionality
2021-02-01 17:30:21 +01:00
cketti
69ed32ff8a
Convert 'ServerSettings' to Kotlin
2021-02-01 10:39:19 +01:00
cketti
97051f3f7c
Make WebDavStore use ServerSettings directly
...
Instead of using WebDavStoreSettings as a ServerSettings subclass make it a helper to extract WebDav-specific settings.
2021-01-31 18:50:14 +01:00
cketti
42e180d6fa
Make ImapStore use ServerSettings directly
...
Instead of using ImapStoreSettings as a ServerSettings subclass make it a helper to extract IMAP-specific settings.
2021-01-31 18:50:14 +01:00
cketti
1873593dc5
Format Kotlin code
2020-10-16 16:41:19 +02:00
cketti
ed8009d9fa
Update ktlint-gradle to 9.4.1, ktlint to 0.39.0
...
Apply ktlint-gradle plugin to all Gradle subprojects.
2020-10-16 14:27:23 +02:00
cketti
9234b16c13
Convert 'ImapSync' to Kotlin
2020-08-27 22:35:36 +02:00
cketti
4dbb1ffaa0
Rename 'ImapSync' prior to conversion to Kotlin
2020-08-27 22:35:36 +02:00
cketti
f640d32a98
Convert 'UidReverseComparator' to Kotlin
2020-08-27 22:35:36 +02:00
cketti
86e51650c3
Rename 'UidReverseComparator' prior to conversion to Kotlin
2020-08-27 22:35:36 +02:00
cketti
996328e7cf
Convert 'CommandSetFlag' to Kotlin
2020-08-27 22:35:36 +02:00
cketti
43398b5f5e
Rename 'CommandSetFlag' prior to conversion to Kotlin
2020-08-27 22:35:36 +02:00
cketti
52156fc5c8
Convert 'CommandMoveOrCopyMessages' to Kotlin
2020-08-27 22:35:36 +02:00
cketti
c90b440a69
Rename 'CommandMoveOrCopyMessages' prior to conversion to Kotlin
2020-08-27 22:35:36 +02:00
cketti
03a1854068
Convert 'CommandMarkAllAsRead' to Kotlin
2020-08-27 22:35:36 +02:00
cketti
df2279e3e7
Rename 'CommandMarkAllAsRead' prior to conversion to Kotlin
2020-08-27 22:35:36 +02:00
cketti
621f3ab23b
Convert 'CommandExpunge' to Kotlin
2020-08-27 22:35:36 +02:00
cketti
9331667733
Rename 'CommandExpunge' prior to conversion to Kotlin
2020-08-27 22:35:36 +02:00
cketti
dec364f062
Convert 'ImapBackend' to Kotlin
2020-08-27 22:35:36 +02:00
cketti
66347ff77e
Rename 'ImapBackend' prior to conversion to Kotlin
2020-08-26 14:29:28 +02:00
cketti
83956aa502
Update OkHttp to 4.8.0
2020-07-15 17:51:31 +02:00
cketti
976590e190
Merge pull request #4840 from k9mail/convert_to_kotlin
...
Convert ImapFolder(Test) to Kotlin
2020-06-19 17:35:36 +02:00
cketti
dc119f9068
Convert 'ImapFolder' to Kotlin
2020-06-18 14:44:26 +02:00
cketti
14bf32cea4
Rename Backend.supportsSeenFlag to supportsFlags
2020-06-17 14:45:41 +02:00
cketti
4914ac589f
Fix IMAP folder refresh
...
We were using the old format server ID (UTF-7 decoded, with prefix removed)
to create and update folders. But we used the proper server ID to figure out
which folders to remove locally. This could lead to too many folders being
removed. They'd be added back the next time the folder list was refreshed
and then be removed again the next refresh after that.
2020-05-12 12:05:14 +02:00
cketti
767f7e0efe
Remove StoreConfig
2020-05-01 05:42:50 +02:00
cketti
a6f75dc587
Remove StoreConfig.getMaximumAutoDownloadMessageSize()
2020-05-01 05:15:51 +02:00
cketti
d7d1fe0c0e
Remove StoreConfig.isRemoteSearchFullText()
2020-05-01 04:18:16 +02:00
cketti
7ac210956a
Change List<? extends Message> to List<WebDavMessage> where appropriate
2020-04-27 18:37:10 +02:00
cketti
db7760a9e2
Change List<? extends Message> to List<Pop3Message> where appropriate
2020-04-27 18:37:10 +02:00
cketti
d3bdebccf3
Change List<? extends Message> to List<ImapMessage> where appropriate
2020-04-27 18:37:10 +02:00
cketti
e86f294a0f
Change the BackendStorage API to add/update/remove folders
...
This way the code to update special folders only runs once, and not on
every change.
2020-04-27 06:44:26 +02:00
cketti
8abac750af
Make ImapStore.getFolders() return the proper server ID
2020-04-24 22:00:10 +02:00
cketti
37eea88f82
Refactor ImapStore.getPersonalNamespaces()
2020-04-24 20:33:22 +02:00
cketti
d70564e423
Remove unused code
2020-04-18 19:51:48 +02:00
cketti
2a78418911
Remove old Push code
2020-04-05 20:08:29 +02:00
cketti
0554dfcd04
Clear local message cache when UIDVALIDITY value changes
2020-03-31 22:20:46 +02:00
cketti
2a8d094343
JMAP: Add support for uploading messages
2020-02-25 19:00:18 +01:00
cketti
3bde957b0c
JMAP: Add support for copying/moving emails
2020-02-22 19:36:00 +01:00
cketti
72335a2c2d
Merge pull request #4548 from k9mail/jmap_delete
...
JMAP: Add support for deleting messages
2020-02-19 10:34:31 +01:00
cketti
d44bdfdb73
JMAP: Don't delete message only to download it again right away
2020-02-18 17:43:15 +01:00
cketti
a2f1487ba5
JMAP: Add support for deleting messages
2020-02-18 16:47:33 +01:00
cketti
94ce631f7d
Merge pull request #4545 from k9mail/jmap_set_flag
...
JMAP: Add support for setting flags/keywords
2020-02-18 16:46:40 +01:00
cketti
5b4376e90f
JMAP: Implement Backend.markAllAsRead()
2020-02-18 03:06:00 +01:00
cketti
1deed00f45
JMAP: Implement Backend.setFlag()
2020-02-18 03:04:11 +01:00
cketti
d9abc13a1e
Don't limit Mailbox/get call to changed properties
...
BackendStorage currently doesn't support partial updates.
2020-02-18 01:04:01 +01:00
cketti
6a0a5c8f88
Update jmap-client library to version 0.3.0
2020-02-17 18:44:52 +01:00
cketti
5693c898f6
Add JMAP message flags/keywords sync
2020-02-17 01:30:12 +01:00
cketti
b78c2e295e
Add JMAP message sync (part 2) - delta sync
2020-02-14 00:16:34 +01:00
cketti
ab7feffa68
Add JMAP message sync (part 1)
...
This only supports doing a full sync and downloading complete messages.
2020-02-12 19:12:11 +01:00
cketti
611a57fb0e
Remove now unused folder name from SyncListener callbacks
2020-02-05 01:27:06 +01:00
cketti
2a760ef4bb
Remove local folder handling from Backend implementations
2020-02-04 19:58:24 +01:00
cketti
77ff9ea9ba
Remove unused method BackendFolder.getUnreadMessageCount()
2020-02-04 18:17:22 +01:00
cketti
35da218170
Make WebDavFolder no longer extend Folder
...
This highlighted that a bunch of code in backend-webdav was unused.
2020-01-28 16:22:09 +01:00
cketti
579027e66c
Make Pop3Folder no longer extend Folder
...
This highlighted that a bunch of code in backend-pop3 was unused.
2020-01-26 23:35:25 +01:00
cketti
76bc52beef
Make ImapFolder no longer extend Folder
2020-01-26 23:35:25 +01:00
cketti
b99d445736
Remove unused message counts from MessagingListener.synchronizeMailboxFinished()
2020-01-22 17:16:06 +01:00
cketti
aeef338efd
Remove unread count from MessagingListener.folderStatusChanged()
2020-01-22 17:02:16 +01:00
cketti
320cc8b40b
Add UI to add a JMAP account to the app
2020-01-18 21:14:57 +01:00
cketti
0b21a7521d
Add JMAP folder sync
2020-01-15 16:14:16 +01:00
cketti
65201633e8
Add JMAP backend module
2020-01-15 16:14:16 +01:00
cketti
2d470c73a0
Move FolderType and FolderClass out of Folder
2020-01-09 14:08:41 +01:00
ByteHamster
7b9f44ca1e
Added function to move to trash and read to backend
2020-01-08 18:48:28 +01:00
cketti
5494e106c8
Use ImapMessage/ImapFolder instead of Message/Folder in ImapSync
2019-12-18 01:53:12 +01:00
cketti
84327e085d
Don't pass Folder instance to Backend
2019-12-18 01:21:12 +01:00
cketti
b8b6b0497d
Remove age checks when downloading messages
...
We already filter by age when deciding which messages to download.
2019-12-17 02:59:14 +01:00
cketti
876cabad70
Open connection before attempting to download message via POP3
2019-12-12 01:13:13 +01:00
cketti
b04ea348fc
Remove now unused method parameters
2019-12-01 15:06:28 +01:00
cketti
b1faba725f
Remove LocalFolder.purgeToVisibleLimit()
...
The method was only called at the end of a mailbox sync. But during sync
another mechanism already destroyed messages outside of the sync window.
2019-12-01 15:06:27 +01:00
cketti
93d0e14b68
Fix code style issues found by ktlint
2019-11-29 13:44:00 +01:00
cketti
88d863c4c2
Add ktlint and Kotlin code style settings for Android Studio
2019-11-29 13:39:16 +01:00
cketti
57ff989edd
Add kotlinOptions.jvmTarget to Gradle projects using Kotlin
2019-11-17 14:45:05 +01:00
cketti
e3973096d3
Remove Checkstyle
2019-11-13 16:51:52 +01:00
cketti
56a37d9e14
Remove FindBugs
...
It's not maintained anymore and we're not currently using it.
2019-11-13 16:41:51 +01:00
cketti
105622a999
Use variable for 'sourceCompatibility' and 'targetCompatibility' values
2019-11-13 16:26:29 +01:00
cketti
91e5f629fd
Add deleteMessages() method to Backend interface
2019-03-10 23:56:42 +01:00
cketti
932f5f2ddc
Add 'isDeleteMoveToTrash' flag to Backend
2019-01-22 18:52:06 +01:00
cketti
aecdbf5a6a
Add FolderType support to WebDavStore + WebDavBackend
2018-11-13 16:57:32 +01:00
cketti
cea3c41269
Add FolderType support to ImapStore + ImapBackend
2018-11-13 16:57:32 +01:00
cketti
4847c0fa31
Add FolderType support to (K9)BackendStorage
2018-11-13 16:57:32 +01:00
cketti
0351dc8694
Hide 'upload sent messages' setting when Backend doesn't support uploads
2018-09-04 18:05:03 +02:00
cketti
56882dc6c3
Fix unresolved references in Javadoc comments
2018-09-03 00:13:58 +02:00
BO41
c043eb0df4
Replace explicit type arguments with <>
2018-09-02 23:35:09 +02:00
BO41
f24cb76d9e
Improve accessibility, correctness and performance
2018-09-02 22:49:48 +02:00
cketti
9514086513
Open remote folder before fetching message
2018-08-20 18:18:44 +02:00
cketti
de49c9d6c2
Move folder list sync logic into Backend implementations
2018-07-22 18:34:16 +02:00
cketti
87132562f8
Remove unused parameter
2018-07-22 18:31:41 +02:00
cketti
b35074315c
Merge pull request #3519 from k9mail/add_folder_extra_values
...
Allow backend code to store additional per-account and per-folder data
2018-07-22 18:21:51 +02:00