cketti
e9c45b4aa8
Disable Push if not supported by the server
2021-08-02 18:49:06 +02:00
cketti
95ecac8893
Close all Push connections when Android connects to another network
...
When the default network changes Android usually kills connections established over the old network after a little while. K-9 Mail treats this as a regular network error and sleeps for 5 minutes before trying to re-establish the Push connection(s). Closing old connections and opening new ones when a network change is detected avoids this error.
2021-07-04 21:27:38 +02:00
cketti
ebbe02c057
Add ImapPushConfigProvider
2021-06-23 15:34:31 +02:00
cketti
aa9f6eaefa
Add IdleRefreshTimeoutProvider
2021-06-23 14:02:07 +02:00
cketti
8fea80f14c
Add PushController implementation
2021-06-22 15:30:23 +02:00
cketti
a74c206a0c
Add implementation for BackendIdleRefreshManager
2021-06-16 15:04:01 +02:00
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
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
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
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
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
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
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
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
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