cketti
bc366e98eb
Add support for retrieving a folder's last checked time via MessageStore
2021-08-18 11:55:21 +02:00
cketti
3252002629
Rename MessageStore.setLastUpdated() to setLastChecked()
2021-08-18 11:53:53 +02:00
cketti
652d52b6a6
Add setting to suppress notifications for chat messages
...
Messages containing a 'Chat-Version' header field will not generate notifications when this setting is enabled.
2021-08-18 11:17:06 +02:00
cketti
ddcdc72321
Merge pull request #5519 from andrewfg/starred-unread-count
...
Display both unread and starred message counts in navigation drawer
2021-08-18 01:05:30 +02:00
cketti
74a0ed8b93
Remove UnreadMessageCountProvider
2021-08-17 20:02:56 +02:00
cketti
106c132d8d
Code cleanup
2021-08-17 19:57:02 +02:00
Andrew Fiddian-Green
4729ae044a
Optionally show starred message count in navigation drawer
2021-08-17 19:18:26 +02:00
cketti
46c4e6fd8d
Don't connect to server when incoming/outgoing server passwords are missing
...
If a user imports an account but doesn't provide server passwords, don't attempt to connect to the incoming or outgoing server of that account.
2021-08-17 01:19:41 +02:00
cketti
04d68624ad
Remove notification when a message was deleted
2021-08-07 21:48:01 +02:00
lostfictions
8c56d0c702
make push notification low priority
...
fixes #5521 .
2021-08-04 19:01:16 -04:00
cketti
97891d15e0
Merge pull request #5511 from k9mail/fix_identity_header
...
Fold identity header value so we're not generating invalid messages
2021-08-04 15:36:00 +02:00
cketti
0e54bd2bc5
Fold identity header value so we're not generating invalid messages
2021-08-04 15:21:29 +02:00
cketti
e9c45b4aa8
Disable Push if not supported by the server
2021-08-02 18:49:06 +02:00
cketti
49600c470c
Reset "ring notified" flag when syncing a folder after a Push event
...
Without this (but with the new silent fixes) new messages downloaded after a Push event would only create silent notifications.
2021-07-31 20:38:50 +02:00
cketti
d461dece67
Fix sound/vibration for the summary notification
2021-07-31 20:36:01 +02:00
cketti
529a6c0aad
Make sure summary notification is silent during quiet time
2021-07-31 20:02:59 +02:00
cketti
2ef430565d
Make sure "stacked notifications" are silent
2021-07-31 20:02:18 +02:00
Matt Smith
baed7c09b8
Show full error message in notification
2021-07-17 15:36:18 +12:00
cketti
26c64806f2
Add "Push Info" screen
2021-07-15 00:20:48 +02:00
cketti
00be66b1c1
Don't throw in AccountPushController.updatePushFolders()
...
When the 'backendPusher' property is null the AccountPushController (and BackendPusher) have already been stopped.
2021-07-13 15:45:21 +02:00
cketti
38c0b2dfb2
Restart AccountPushControllers when connectivity returns
...
PushController.onConnectivityChanged() is not only called when the active network changes, but also when connectivity returns (offline -> online). In that case we need to restart the AccountPushControllers.
2021-07-10 14:28:57 +02:00
cketti
108868155e
Persist general settings on a background thread
2021-07-08 22:56:45 +02:00
plan3d
68fd9cf819
Issue #2490 : Inline attachments are included in forwarded messages
2021-07-06 21:00:18 +02:00
cketti
7580c04d6c
Don't allow an IDLE refresh interval of 1 minute
2021-07-05 17:38:49 +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
830b358ff3
Change 'ConnectivityChangeListener' interface
...
Distinguish between 'connectivity changed' and 'connectivity lost' events.
2021-07-04 21:17:06 +02:00
cketti
1a12ab3177
Add new setting: showRecentChanges
2021-07-03 14:13:29 +02:00
cketti
991f814980
Introduce GeneralSettingsManager
...
A first step towards moving away from the global mutable state in `K9`.
2021-07-01 17:47:10 +02:00
cketti
198975dda3
Use ConnectivityManager.registerDefaultNetworkCallback() on API 24+
2021-06-26 23:15:15 +02:00
cketti
ec6e976198
Merge pull request #5370 from k9mail/inbox_push_class
...
Set push class of Inbox to 'first class' by default
2021-06-26 22:37:50 +02:00
cketti
f9f5f8eb1c
Set push class of Inbox to 'first class' by default
2021-06-26 22:17:24 +02:00
cketti
fe4282a03c
Merge pull request #5368 from k9mail/connectivity_manager_network_change
...
Make ConnectivityManager notify when the active network changes
2021-06-26 22:02:16 +02:00
cketti
1bd3173f71
Don't start PushService if there are no Push-enabled accounts
2021-06-26 21:22:19 +02:00
cketti
0ca3c5575f
Make ConnectivityManager notify when the active network changes
...
Also fix how isNetworkAvailable() works. We now always query the active network (if there is one).
2021-06-26 21:11:33 +02:00
cketti
ac131758b1
Make sure PushController only deals with Push accounts
...
We could end up with a non-Push-capable account that has `folderPushMode` set to something other than `NONE` due to missing checks in the settings import code. See issue #5363 .
2021-06-24 15:22:10 +02:00
cketti
211ffb98df
Set default value of 'Push folders' to 'None'
2021-06-24 14:22:00 +02:00
cketti
ebbe02c057
Add ImapPushConfigProvider
2021-06-23 15:34:31 +02:00
cketti
145eba5e2e
Merge pull request #5360 from k9mail/account_flow
...
Add AccountManager.getAccountFlow()
2021-06-23 12:59:59 +02:00
cketti
15bac4c18a
Add AccountManager.getAccountFlow()
...
Instead of adding a custom callbackFlow() for each account property we're interested in, we can now use `AccountManager.getAccountFlow(accountUuid).map { it.relevantProperty }`.
2021-06-23 10:05:52 +02:00
cketti
a7f4093147
Remove unused K9JobManager.schedulePusherRefresh()
2021-06-22 16:04:20 +02:00
cketti
8fea80f14c
Add PushController implementation
2021-06-22 15:30:23 +02:00
cketti
0b1a3a01fb
Merge pull request #5354 from k9mail/backend_changed_listener
...
Add listener mechanism to BackendManager
2021-06-21 14:16:29 +02:00
cketti
89d3cdbad5
Add listener mechanism to BackendManager
2021-06-21 14:03:45 +02:00
cketti
13caecad2d
Merge pull request #5353 from k9mail/connectivity_manager
...
Add ConnectivityManager to listen for changes in network availability
2021-06-21 13:58:53 +02:00
Art O Cathain
05c5319b45
Fix error when forwarding encrypted attachments
...
SafeContentResolver refuses to load encrypted attachments with an error:
"Content provider is not explicitly allowed:
com.fsck.k9.debug.decryptedfileprovider"
For internally provided attachments, there is no need to use
SafeContentResolver, so we use the default system ContentResolver
2021-06-21 21:08:24 +10:00
cketti
37c9ffbe90
Add ConnectivityManager to listen for changes in network availability
2021-06-19 16:11:51 +02:00
cketti
190242943c
Merge pull request #5352 from k9mail/alarm_manager
...
Add implementation for AndroidAlarmManager
2021-06-19 16:06:37 +02:00
cketti
f7277c911e
Add implementation for AndroidAlarmManager
2021-06-18 20:29:35 +02:00
cketti
bf21572b57
Add AlarmManagerCompat
2021-06-18 19:47:00 +02:00
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
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
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
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
295b9d8d28
Merge pull request #5327 from k9mail/issue_4407_unifiedInbox
2021-06-04 21:38:15 +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
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
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
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
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
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
c43f27a9ff
Merge pull request #5259 from k9mail/save_messages
2021-04-20 21:23:47 +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
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
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
35da587399
Save new account order in background thread
2021-04-10 07:29:37 +02:00
Poldi
3d9e9d96fc
Allow reordering accounts in settings
2021-04-10 06:47:02 +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
cketti
cbb5825d03
Change K9BackendFolder.setMoreMessages() to use MessageStore
2021-04-08 21:23:48 +02:00
cketti
7dc4b6dd71
Change K9BackendFolder.getMoreMessages() to use MessageStore
2021-04-08 21:12:01 +02:00
cketti
3336fd3ed3
Extract 'MoreMessages' to a separate file
2021-04-08 20:40:49 +02:00
cketti
3a86cc632e
Update 'delete_message' trigger to delete entries in 'threads' table
2021-04-08 20:27:03 +02:00
cketti
cf9037a513
Add code to delete messages to MessageStore
2021-04-08 20:27:03 +02:00
cketti
9d4d7f0352
Move code to get message server IDs and dates from K9BackendFolder to MessageStore
2021-04-07 20:39:19 +02:00
cketti
484db5730d
Move code to get message server IDs from K9BackendFolder to MessageStore
2021-04-07 20:23:54 +02:00
cketti
102fbc690f
Move code to get highest message UID from K9BackendFolder to MessageStore
2021-04-07 20:23:52 +02:00
cketti
2e6b5710be
Move code to retrieve folder details from K9BackendFolder to MessageStore
2021-04-07 17:21:40 +02:00
cketti
6373d0249f
Move delete folder code from K9BackendStorage to MessageStore
2021-04-06 22:17:38 +02:00
cketti
59b8ead290
Move create/update folder code from K9BackendStorage to MessageStore
2021-04-03 18:35:29 +02:00
cketti
9932ed3b68
Move "extra values" code from K9BackendStorage to MessageStore
2021-04-03 17:48:43 +02:00
cketti
3dd7d1b6d8
Start using MessageStore in K9BackendStorage
2021-04-03 17:12:01 +02:00
cketti
035c853047
Remove unused dependency from FolderRepository
2021-04-03 02:34:57 +02:00
cketti
9c257685a3
Move more code from FolderRepository to MessageStore
2021-04-03 02:32:13 +02:00
cketti
e2bc68e0ac
Move FolderRepository.updateFolderDetails() to MessageStore.updateFolderSettings()
2021-04-03 00:23:11 +02:00
cketti
796d22a132
Move FolderRepository.getFolderId() to MessageStore
2021-04-02 06:12:09 +02:00
cketti
392ae3eb3c
Move FolderRepository.getDisplayFolders() to MessageStore
2021-04-02 05:52:57 +02:00
cketti
05543214e5
Move more code from FolderRepository to MessageStore
2021-04-02 01:26:12 +02:00
cketti
0250736cf5
Move code to read a single folder from FolderRepository to MessageStore
2021-04-02 00:27:02 +02:00
cketti
d5e43594c7
Merge pull request #5226 from k9mail/create_folders
...
Refactor LocalStore.createFolders()
2021-04-01 15:57:16 +02:00
cketti
8f67846813
Merge pull request #5224 from k9mail/MessageStore_getHeaders
2021-04-01 15:21:09 +02:00
cketti
1ee2c54f6d
Refactor LocalStore.createFolders()
2021-04-01 02:45:33 +02:00
cketti
24f55ee03e
Add test for RetrieveMessageOperations.getHeaders()
2021-04-01 01:32:46 +02:00
cketti
e76082568d
Move code from MessageRepository to MessageStore
2021-03-31 23:03:46 +02:00
cketti
f0bb82e1a9
Remove unused code related to "latest old message seen time"
2021-03-31 18:09:25 +02:00
cketti
4748a5a190
Merge pull request #5223 from k9mail/refactor_LocalKeyStore
2021-03-31 15:42:49 +02:00
cketti
0e1ff7d6b1
Remove LocalKeyStore's dependency on Android's Context
...
And lazily initialize the KeyStore so we're not doing any work when the instance is created.
2021-03-30 22:08:06 +02:00
cketti
bb1c9c32be
Convert 'LocalKeyStore' to Kotlin
2021-03-30 22:06:12 +02:00
cketti
e745f55413
Add tests for MessageStoreManager
2021-03-30 16:27:37 +02:00
cketti
cc65f72d66
Make 'MessageStoreManager' listen for account deletions
2021-03-30 16:27:37 +02:00
cketti
e8d9dae3fa
Rename 'MessageStoreProvider' to 'MessageStoreManager'
2021-03-30 16:27:37 +02:00
cketti
2b6be48205
Add listener to be notified when an Account has been deleted
2021-03-30 16:27:37 +02:00
cketti
d3e2c6635c
Add 'SettingsChangeListener' mechanism to 'Preferences'
2021-03-24 17:18:16 +01:00
cketti
827ea0059d
Make everyone use Preferences.saveSettings() to save general settings
2021-03-24 17:08:17 +01:00
cketti
dc93335100
Move old migration code from 'K9' to storage module
2021-03-24 16:28:07 +01:00
cketti
fb426b4008
Remove migration code for really old K-9 Mail versions
2021-03-24 16:04:53 +01:00
cketti
9ee8746255
Move some code from 'Preferences' to 'AccountRemover'
2021-03-24 15:48:30 +01:00
cketti
370481236a
Convert 'Preferences' to Kotlin
2021-03-22 22:57:33 +01:00
cketti
2ddf38e666
Rename .java to .kt
2021-03-22 22:29:04 +01:00
cketti
e642ff2896
Remove Kotlin Android extensions plugin
...
See https://youtrack.jetbrains.com/issue/KT-42121
2021-03-02 17:58:20 +01:00
cketti
3cd28c5b2c
Merge pull request #5152 from ByteHamster/message-header-view
...
Show message headers in fragment
2021-02-23 14:25:10 +01:00
cketti
2630b2a395
Add 'MessageRepository'
2021-02-20 13:28:15 +01:00
cketti
06de64cd2c
Make MessageHeaderParser more flexible
2021-02-20 13:28:15 +01:00
cketti
b4f9ea29d8
Add Malayalam translation
2021-02-19 14:17:38 +01:00
cketti
1fb8c0be14
Merge pull request #5147 from k9mail/update_translations
...
Update translations
2021-02-16 17:13:47 +01:00
cketti
17f447705e
Update translations
...
Add languages: be, en_GB
2021-02-16 15:26:31 +01:00
cketti
705a02f72b
Get rid of Account.isEnabled()
...
We no longer have the concept of disabled accounts.
2021-02-16 00:28:01 +01:00
Ody-sseus
b48ad28743
Fix MessageCompose activity enabled status
2021-02-14 22:49:32 +02:00
cketti
ddabe3a238
Rewrite stored value from "hideSpecialAccounts" to "showUnifiedInbox"
2021-02-07 15:45:14 +01:00
cketti
a3e0b89f01
Rename K9.isHideSpecialAccounts to K9.isShowUnifiedInbox
2021-02-07 13:15:53 +01:00
cketti
08d6d9bebc
Delete remaining store/transport URI functionality
2021-02-01 17:30:21 +01:00
cketti
696901f9c1
Use JSON as serialization format for 'ServerSettings'
2021-02-01 17:30:21 +01:00
cketti
de2560b90b
Remove Account.storeUri and Account.transportUri
...
The URIs are still used as serialization format when saving settings
2021-02-01 12:54:02 +01:00
cketti
69ed32ff8a
Convert 'ServerSettings' to Kotlin
2021-02-01 10:39:19 +01:00
cketti
1ebc487b56
Don't use custom ServerSettings subclass in SettingsImporter
2021-01-31 18:50:14 +01:00
cketti
71e2d24fbb
Refresh the folder list when checking the account
2021-01-27 08:04:23 +01:00
MonkeyMatt
835c2200c9
Change default so existing accounts continue to work
...
Ensure accounts made before the setup changes don't get deleted
2020-12-29 13:46:33 +13:00
MonkeyMatt
d6d3fb884e
Add setup finished flag on account
...
Relying on account name caused faults when exiting setup flow at the last step
2020-12-29 13:12:29 +13:00
MonkeyMatt
ee6d7afc75
Allow back navigation through setup screens
...
Fixes setup flow and ensures an account is fully setup before being usable
2020-12-28 17:39:30 +13:00
cketti
011ac576a2
Remove MessageListFragment.context
2020-11-06 14:58:21 +01:00
cketti
760875bb8e
Don't crash when special local folders already exist
2020-11-01 14:44:43 +01:00
cketti
2a6b242d40
Merge pull request #5024 from k9mail/improve_outbox
...
Improve Outbox
2020-10-24 16:52:35 +02:00
cketti
fcedb37035
Update folder list when moving message from Outbox to Drafts
2020-10-22 19:28:47 +02:00
cketti
a36ea7a1a3
When creating messages for sending mark them as read
2020-10-22 18:24:07 +02:00
cketti
741bbe9ca8
Show number of messages in Outbox in side drawer
2020-10-22 16:57:31 +02:00
cketti
bea08ccb68
Remove EolConvertingEditText
2020-10-22 03:01:19 +02:00
cketti
2b81618ad9
Remove unused constructor parameter from 'MessagingController'
2020-10-20 03:49:45 +02:00
cketti
da728ae456
Fix logging the name of pending commands
2020-10-20 03:49:45 +02:00
cketti
d5ae39565b
Remove unused parameter
2020-10-20 03:45:06 +02:00
cketti
09eb2561e9
Rename 'MessagesStoreProvider' to 'MessageStoreProvider'
2020-10-19 09:58:05 +02:00
cketti
f11b170a42
Make MessagingController.saveDraft() return message database ID
2020-10-19 09:25:56 +02:00
cketti
54e5d8af9c
Change the way we replace drafts on the server
...
Don't overwrite the previous draft in the database. Create a new message entry and convert the previous one to a 'deleted' placeholder.
This also introduces a new pending command 'replace'. It is implemented as upload + delete.
2020-10-19 09:25:56 +02:00
cketti
1ef1af8b0f
Log stack trace when pending commands fail
2020-10-18 22:01:44 +02:00
cketti
45bf5d0aef
Inline constant parameter value (we always upload drafts if possible)
2020-10-18 21:53:34 +02:00
cketti
36c9e799f1
Don't use magic value when draft message ID is missing
2020-10-18 21:53:34 +02:00
cketti
1fecd0b588
Convert code to save drafts to Kotlin
2020-10-18 21:53:34 +02: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
d2fd52e206
Manually fix up formatting of some raw strings
2020-10-16 12:54:30 +02:00
cketti
a2ac5b167e
Change the way moving messages between folders in the database works
...
Previously, when moving a message, the entry in the `messages` table was rewritten to reference the destination folder. Then a "deleted" message entry was created referencing the source folder.
This commit changes the move code to create a new entry for the message in the destination folder and then changes the original message entry to be a "deleted" entry.
It's a first step towards being able to use a message's database ID instead of the server ID in "pending commands".
This also continues the project of moving database-related code to the `storage` module. There should now be enough scaffolding in place to make moving code from `LocalStore` and `LocalFolder` relatively painless.
2020-10-15 23:51:49 +02:00
cketti
3921f57906
Merge pull request #5005 from k9mail/fix_urls_in_drafts
...
Fix URLs in drafts
2020-10-13 04:10:58 +02:00
cketti
2a67408981
Fix URLs in drafts
...
When converting from HTML to plain text, if the link text is identical to the link URL, only output the URL.
2020-10-13 03:57:47 +02:00
cketti
1835b502b5
Merge pull request #5001 from k9mail/no_encoding_in_MimeHeader
...
No encoding in MimeHeader
2020-10-13 03:54:13 +02:00
cketti
e3178a5117
Merge pull request #5003 from k9mail/show_recipient_name
...
Show recipient name for all messages in Sent, Drafts, and Outbox folders
2020-10-13 03:41:10 +02:00
cketti
5bc7ac3901
When constructing new messages check header values
2020-10-13 03:29:20 +02:00
cketti
733624cfcf
Merge pull request #4998 from k9mail/fix_EmailSectionExtractor
...
Fix EmailSectionExtractor
2020-10-13 03:17:28 +02:00
cketti
5f05b8bb07
Show sender/recipient name in message list based on folder
...
The recipient name is shown for messages in the Sent, Drafts, and Outbox folders. For messages in all other folders the sender name is shown.
2020-10-12 01:48:36 +02:00
cketti
fac346009a
Only pass encoded headers to MimeHeader
...
Remove code to encode header values from from MimeHeader.writeTo()
2020-10-11 02:28:36 +02:00
cketti
82f8a78e88
EmailSectionExtractor: Don't consider blank lines for indentation depth
2020-10-10 01:49:13 +02:00
cketti
955f556afa
Fix EmailSectionExtractor to support empty quoted lines
2020-10-10 00:36:07 +02:00
cketti
ea7ca6e3d4
Make HTTP URL detection work with parentheses
2020-10-09 04:29:02 +02:00
cketti
b1d21dc27c
Clean up 'HttpUriParser'
...
There shouldn't be any functional changes.
2020-10-09 02:33:11 +02:00
cketti
76e43a411d
Convert 'HttpUriParser' to Kotlin
2020-10-09 00:52:18 +02:00
cketti
e4297b3a4c
Rename 'HttpUriParser' prior to conversion to Kotlin
2020-10-09 00:37:51 +02:00
cketti
68405c91b4
Merge pull request #4991 from k9mail/signature_detection_fix
...
Fix bug in signature detection
2020-10-07 16:54:44 +02:00
cketti
1a58f4d4f0
Fix bug in signature detection
...
When SignatureWrapper detected a signature it would exclude the last character of the text. This lead to an exception being thrown when the signature ended with a URL and the HtmlModification instance for the URL would not be fully contained within the one for the signature.
2020-10-07 15:43:29 +02:00
cketti
5312c3d1ca
Treat all whitespace as separator when detecting URIs
2020-10-06 22:39:04 +02:00
cketti
0c77513407
Merge pull request #4986 from k9mail/GH-4984_fix_preview_text_extraction
...
Fix preview text extraction
2020-10-06 16:11:40 +02:00
cketti
b8edb11eea
Merge pull request #4983 from k9mail/signature_display
...
De-emphasize signature when displaying text/plain part
2020-10-06 16:10:07 +02:00
cketti
e3b8855bdd
Catch unexpected exceptions in MessagePreviewCreator
2020-10-06 15:15:19 +02:00
cketti
15ca949698
Make PreviewTextExtractor work with empty string
2020-10-06 15:11:02 +02:00
cketti
ca5a044247
De-emphasize signature when displaying text/plain part
2020-10-05 18:27:10 +02:00
cketti
7d6ca63cf2
Add support for nested HtmlModifications to TextToHtml
2020-10-05 18:13:55 +02:00
cketti
3133573139
Rewrite Share functionality in message view screen
...
The shared text now contains subject, date, sender, and recipients in addition to the message body text.
2020-10-05 05:38:54 +02:00
cketti
a1e9a521e3
Replace somewhat complex regular expression with code
...
Apparently the regular expression \n*(?:[^\n]+\n?)+:\n+$ is complex enough so matching takes the regex engine on Android forever on non-trivial inputs.
2020-10-03 02:28:48 +02:00
cketti
99ce09f19d
Improve preview text extraction
...
Using 'EmailSectionExtractor' provides the necessary context to reliably detect quote headers, i.e. text like "On $date $sender wrote:". The regular expression previously used would remove almost any line ending with ":".
2020-10-03 02:28:48 +02:00
cketti
6a25709e09
Convert 'PreviewTextExtractorTest' to Kotlin
2020-09-30 03:00:20 +02:00
cketti
4c08c964e7
Rename 'PreviewTextExtractorTest' prior to conversion to Kotlin
2020-09-30 03:00:20 +02:00
cketti
bb4ed7a15c
Convert 'PreviewTextExtractor' to Kotlin
2020-09-29 23:31:24 +02:00
cketti
ab4e0229dc
Rename 'PreviewTextExtractor' prior to conversion to Kotlin
2020-09-29 23:22:15 +02:00
cketti
b82be6f374
Retain some attributes of <body> element during HTML sanitization
2020-09-20 18:01:00 +02:00
cketti
10ce58d603
Add <title> tag to allow list
2020-09-20 17:42:35 +02:00
cketti
ec34b96bfa
Convert 'HtmlSanitizerTest' to Kotlin
2020-09-20 17:42:35 +02:00
cketti
796eabb705
Rename 'HtmlSanitizerTest' prior to conversion to Kotlin
2020-09-20 17:42:35 +02:00
cketti
fc45e059fc
Update to targetSdkVersion 29
2020-09-20 01:29:50 +02:00
cketti
391d8e403c
Use mocked QuoteDateFormatter in TextQuoteCreatorTest
2020-09-20 01:08:39 +02:00
cketti
fd9d6f8d95
Use default Locale in QuoteDateFormatter
2020-09-20 01:04:33 +02:00
cketti
2db24bec08
Change QuoteHelper into QuoteDateFormatter
2020-09-19 20:44:54 +02:00
cketti
075fb35cd9
Get rid of QuoteHelper.QUOTE_BUFFER_LENGTH
2020-09-19 19:51:13 +02:00
cketti
e79dacd126
Use buildString() helper in TextQuoteCreator
2020-09-19 19:27:56 +02:00
cketti
0c97e2a4e0
Update Robolectric to 4.4
...
Replace usage of classes from transitive dependencies that are no longer available.
2020-09-18 03:14:46 +02:00
cketti
3211e3942c
Show image previews even when wrong MIME type is used
...
More precisely, show image preview when the MIME type is application/octet-stream and the file extension maps to a supported image MIME type.
2020-09-09 12:16:03 +02:00
cketti
fefe183d9a
Merge pull request #4921 from k9mail/decode_encrypted_subject
...
Decode encrypted subject
2020-08-25 17:31:56 +02:00
cketti
bdbd8d98b2
Decode encrypted subject
2020-08-25 17:15:00 +02:00
Tobias Preuss
f8e6e59fd6
Use io extension functions to make code more concise.
...
+ This change replaces a few usages of BufferedWriter, ByteArrayInputStream,
OutputStreamWriter with their equivalent Kotlin extension functions.
2020-08-24 19:22:29 +02:00
cketti
4a92388ed4
Refactor code for readability and consistency
2020-08-13 17:56:55 +02:00
Victor Frandsen
009050567d
Don't show standard message actions for messages in the Outbox
2020-08-13 17:42:16 +02:00
cketti
28387c685e
Add missing Koin definitions to TestApp
2020-08-13 17:04:12 +02:00
Tobias Preuss
4beee75b32
Use "isNotEmpty" convenience function.
2020-07-08 14:04:37 +02:00
Tobias Preuss
35b1d17244
Use property access syntax.
2020-07-08 14:00:23 +02:00
Tobias Preuss
9c6d08142a
Infer type.
2020-07-08 13:58:23 +02:00
cketti
c71c6bc230
Automatically update folder list
...
Refresh list of folders before syncing an individual folder if the last time the folder list was refreshed was more than 30 minutes ago.
2020-06-26 23:56:07 +02:00
cketti
ccf9004090
Remove unused Contacts from MessagingController
2020-06-26 21:43:16 +02:00
cketti
7acab6cb33
Use injected Preferences instance in MessagingController
2020-06-26 21:42:53 +02:00
cketti
b87521ade4
Inject Preferences into MessagingController
2020-06-26 21:42:51 +02:00
cketti
ace8bc1244
Merge pull request #4847 from runningcode/no/api
...
Use api instead of implementation.
2020-06-24 03:22:35 +02:00
Nelson Osacky
907106bfdc
Use api instead of implementation.
...
This improves the build times when making incremental changes.
See [this slide](https://speakerdeck.com/runningcode/beyond-modularization-scaling-your-android-build-with-gradle?slide=97 )
for the performance improvements.
2020-06-23 11:27:39 +02:00
cketti
925bb66ea5
Remove failed pending commands
2020-06-19 19:43:33 +02:00
cketti
74942150e5
Merge pull request #4839 from k9mail/local_only_operations
...
Don't attempt to perform remote operations on local-only folders
2020-06-19 16:57:47 +02:00
Mehdi Sadeghi
dfbcbad458
Let WebView handle bidirectional text
2020-06-19 16:25:21 +02:00
cketti
5c5f2409be
Don't upload draft message if not supported
2020-06-17 22:48:20 +02:00
cketti
be5b16040e
Don't upload sent message if Sent folder is local-only
2020-06-17 15:46:57 +02:00
cketti
f7ee43bc3d
Don't upload messages deleted from Outbox if not supported
...
When deleting a message from the local Outbox don't attempt to upload it to the (remote) Trash folder if the backend doesn't support that (POP3).
2020-06-17 15:39:51 +02:00
cketti
fc807303c9
Don't queue pending command for setting flags if not supported
...
If the backend doesn't support setting flags (POP3) or the folder is a local-only folder (Outbox), don't add a pending command that is guaranteed to fail.
2020-06-17 15:09:58 +02:00
cketti
14bf32cea4
Rename Backend.supportsSeenFlag to supportsFlags
2020-06-17 14:45:41 +02:00
cketti
39db941dab
Don't update special folders for POP3 accounts
2020-06-13 17:04:25 +02:00
cketti
1a96ef4641
Remove Folder.serverId property
2020-06-13 02:02:56 +02:00
cketti
01ae362ae5
Add FolderRepository.getRemoteFolderDetails()
2020-06-13 02:02:56 +02:00
cketti
e5d6bf1cc6
Change UnreadWidgetDataProvider to not get FolderDetails
2020-06-13 02:02:56 +02:00
cketti
b175a6aa8b
Introduce RemoteFolder class
2020-06-13 02:02:56 +02:00
cketti
77a0be271e
Remove use of LocalFolder.serverId where not appropriate
2020-06-13 02:02:56 +02:00
cketti
99029a07b9
Fix reading of LocalFolder.databaseId
2020-06-13 02:02:56 +02:00
cketti
c31b753d26
Write 'server_id' value of NULL to database for local folders
2020-06-13 02:02:54 +02:00
cketti
fc3e2a18e5
Use folder ID in LocalStore.getPersonalNamespaces()
2020-06-12 18:53:11 +02:00
cketti
00fc6708cc
Change MessagingController.deleteMessagesSynchronous() to use folder ID
2020-06-12 18:53:11 +02:00
cketti
31ad75c539
Rewrite LocalStore.getFoldersAndUids() to getFolderIdsAndUids()
2020-06-12 18:53:11 +02:00
cketti
4976d4e178
Change MessagingListener.folderStatusChanged() to use folder ID
2020-06-12 18:53:11 +02:00
cketti
f229b8ca3e
Disable use of the signature when creating the default identity
2020-06-04 22:26:04 +02:00
cketti
81b99bd307
Merge pull request #4810 from k9mail/wording
...
Fix names of some identifiers
2020-06-03 20:19:09 +02:00
cketti
dd895ce204
Replace DozeChecker.isAppWhitelisted() with isIgnoringBatteryOptimizations()
2020-06-02 17:13:48 +02:00
cketti
02b5feacad
Replace 'Whitelist' with 'AllowList' in HtmlHelper
2020-06-02 17:09:47 +02:00
cketti
8b043840c7
Convert 'HtmlHelper' to Kotlin
2020-06-02 17:09:47 +02:00
cketti
0b202197f0
Rename 'HtmlHelper' prior to conversion to Kotlin
2020-06-02 17:09:47 +02:00
cketti
781a6f29b9
Replace 'Whitelist' with 'AllowList' in HtmlSanitizer
2020-06-02 17:09:47 +02:00
cketti
245ae8c123
Convert 'HtmlSanitizer' to Kotlin
2020-06-02 17:01:43 +02:00
cketti
00846b21b6
Rename 'HtmlSanitizer' prior to conversion to Kotlin
2020-06-02 16:51:55 +02:00
cketti
f1a08e54f6
Add logging to K9NotificationStrategy
2020-06-02 13:21:32 +02:00
cketti
25bdbe8a0d
Use proper "server ID" when creating local Outbox folder
2020-05-29 19:32:36 +02:00
cketti
c85b56828e
Don't reset special local folders in SpecialFolderUpdater
2020-05-16 17:46:26 +02:00
cketti
981e12965a
Add isLocalOnly property to Folder
2020-05-15 19:55:26 +02:00
cketti
482e8df663
Create SpecialLocalFoldersCreator to create special local folders
...
That's "Outbox" for all account types. And additionally "Drafts", "Sent",
and "Trash" folders for POP3 accounts.
2020-05-15 17:21:47 +02:00
cketti
9100438b31
Make trying to open a non-existent folder a permanent error
2020-05-13 16:31:35 +02:00
cketti
e830656d80
Remove LocalFolder.close()
...
It's not doing anything useful and was responsible for at least one bug.
2020-05-08 19:42:16 +02:00
cketti
b67ed99f24
Remove usage of java.time API
2020-05-08 14:32:51 +02:00
cketti
03d057a785
Retry failed periodic syncs with exponential backoff
2020-05-06 17:35:32 +02:00
cketti
76f1d37bc1
Use last sync time to calculate initial delay for periodic syncs
2020-05-06 17:35:25 +02:00
cketti
a224291532
Save last sync time
2020-05-06 16:57:38 +02:00
cketti
1e21f94e1c
Only reschedule sync job for the account whose settings were changed
2020-05-06 15:37:02 +02:00
cketti
35aac53e10
Disable mail sync job when 'background sync' is set to 'never'
2020-05-06 15:04:02 +02:00
cketti
c30911cbf6
Check last sync time when performing periodic syncs
2020-05-06 14:12:19 +02:00
cketti
fad2d91f72
Fix check to not sync a folder if it was checked recently
2020-05-06 14:11:32 +02:00
cketti
746beb84ed
Check if periodic mail sync is disabled in MailSyncWorker
2020-05-06 13:44:25 +02:00
cketti
1717ede350
Avoid NullPointerExceptions when unboxing
2020-05-05 17:16:04 +02:00
cketti
e305d91cf2
Remove FolderInfoHolder.serverId
2020-05-05 15:49:29 +02:00
cketti
7e958abb1d
Fix exporting folder names for special folders
2020-05-05 15:49:29 +02:00
cketti
d503935ac5
Fix code to create Outbox folder after settings import
2020-05-05 15:49:29 +02:00
cketti
584c365a3d
Use imported special folders after refreshing the folder list
2020-05-05 15:49:29 +02:00
cketti
9e02b1cba5
Use imported auto-expand folder after refreshing the folder list
2020-05-04 16:31:00 +02:00
cketti
cc637a6575
Rename Account.get*Folder() to getImported*Folder()
2020-05-04 16:31:00 +02:00
cketti
fe5dcfa8a1
Rename Account.getInboxFolder() to getLegacyInboxFolder()
2020-05-04 16:31:00 +02:00
cketti
f82214d5cc
Replace Account.getAutoExpandFolder() with Account.getAutoExpandFolderId()
2020-05-04 16:31:00 +02:00
cketti
2f875abcfc
Replace remaining usages of Account.get*Folder()
2020-05-04 16:31:00 +02:00
cketti
d298897b51
Store folder IDs of special folders in Preferences
2020-05-04 16:31:00 +02:00
cketti
bb9e6558f0
Replace Account.getArchiveFolder() with Account.getArchiveFolderId()
2020-05-04 16:31:00 +02:00
cketti
7f80947740
Replace Account.getSentFolder() with Account.getSentFolderId()
2020-05-04 16:31:00 +02:00
cketti
253f4c85ff
Replace Account.getSpamFolder() with Account.getSpamFolderId()
2020-05-04 16:31:00 +02:00
cketti
c943c03879
Replace Account.getDraftsFolder() with Account.getDraftsFolderId()
2020-05-04 16:31:00 +02:00
cketti
c56ae6dcab
Replace Account.getTrashFolder() with Account.getTrashFolderId()
2020-05-04 16:31:00 +02:00
cketti
c6d96b2b34
Replace Account.getInboxFolder() with Account.getInboxFolderId()
...
In some instances the check for the Inbox folder could be removed.
We no longer allow one folder to have multiple roles, e.g. Inbox + Drafts.
2020-05-04 16:31:00 +02:00
cketti
789769ef39
Replace Account.getOutboxFolder() with Account.getOutboxFolderId()
2020-05-04 16:31:00 +02:00
cketti
0b939eee25
Use Account.get*FolderId() to figure out folder type
2020-05-04 16:31:00 +02:00
cketti
d86945d35d
Change ChooseFolderActivity to use a folder ID for "scroll to folder"
2020-05-04 16:31:00 +02:00
cketti
010c0b42ef
Remove folderServerId from MessageReference
2020-05-04 16:31:00 +02:00
cketti
9291881b6b
Switch LocalSearch and everything connected to it to using folder IDs
2020-05-04 16:31:00 +02:00
cketti
34049eec29
Switch MessageReferenceTest to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
76c9d74dea
Switch MessageCompose to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
42e545826f
Switch MessagingController.move*() to use folder IDs
2020-05-04 16:31:00 +02:00
cketti
2974471d02
Switch LocalFolder to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
d43282fc6c
Change MessagingController.setFlag() to use folder ID
2020-05-04 16:31:00 +02:00
cketti
70d194a99a
Switch MessageLoaderHelper to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
e152f4c571
Switch LocalMessageLoader to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
85aaf759d4
Switch RawMessageProvider to MessageReference.getFolderId()
2020-05-04 16:31:00 +02:00
cketti
70841e40d7
Change K-9 Mail message URI to use folder ID instead of server ID
2020-05-04 15:01:29 +02:00
cketti
1c55ffda51
Change MessageReference to also store folder database ID
2020-05-04 15:01:29 +02:00
cketti
c26037c534
Merge pull request #4722 from basilgello/remove-fulltext-remnants
...
Compact messages_fulltext table after messages destroyed
2020-05-04 14:54:25 +02:00
cketti
f62818b5ef
Merge pull request #4709 from basilgello/restore-clear-local-folder
...
Restore per-folder clear local messages
2020-05-04 14:39:44 +02:00
cketti
17bda4029c
Change MessagingController.clearFolder() to use the folderId
2020-05-04 11:35:15 +02:00
Vasyl Gello
97c7b29cd9
Compact messages_fulltext table after messages destroyed
...
Fixes the 'messages_fulltext_segdir' entries left after
emptying the trash folder.
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2020-05-03 23:09:13 +03:00
Vasyl Gello
5444415c12
Do not encrypt message subject if message body is not encrypted
...
Fixes #4718
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2020-05-03 20:59:25 +03: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
d904a8965d
Allow removal of special folders
2020-04-30 15:52:49 +02:00
cketti
4fce6e4bfe
Merge pull request #4712 from k9mail/fix_message_deletion
...
Fix message deletion
2020-04-29 20:28:47 +02:00
cketti
fde4e267e0
Merge pull request #4711 from k9mail/account_change_marker
...
Don't set change marker when loading/initializing an Account instance
2020-04-29 12:46:52 +02:00
cketti
5fd08c444a
Remove placeholder after deleting a message from the Trash folder
2020-04-29 03:07:38 +02:00
cketti
dcf8502a19
Don't mark deleted message as empty
...
LocalMessage.destroy() will handle converting the deleted message to an
empty message if necessary.
2020-04-29 00:05:06 +02:00
cketti
aac921e2c0
Remove local placeholder messages when emptying trash folder
2020-04-28 23:32:05 +02:00
cketti
de2845aefa
Loading/initializing an Account instance shouldn't set change marker
2020-04-28 20:52:44 +02:00
cketti
a7a2e8dc9f
Destroy local messages right away when emptying trash folder
2020-04-28 14:18:27 +02:00
cketti
f4a9d843b0
Merge pull request #4706 from k9mail/Message_type_cleanup
...
More specific Message types for method parameters
2020-04-28 13:11:11 +02:00
cketti
db34c3e68d
Merge pull request #4702 from k9mail/remove_placeholder_messages
...
Destroy local placeholder messages in source folder after a move operation
2020-04-28 13:08:16 +02:00
cketti
94489bf55a
Change List<? extends Message> to List<Message> where appropriate
2020-04-27 18:37:10 +02:00
cketti
46b2633bea
Change List<? extends Message> to List<LocalMessage> where appropriate
2020-04-27 17:51:26 +02:00
cketti
d33643ba99
Destroy local placeholders in source folder after a move operation
2020-04-27 11:59:48 +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
5c10cfc6e6
Use folder database ID for PendingMoveOrCopy and PendingMoveAndMarkAsRead
2020-04-25 01:00:21 +02:00
cketti
cc1002eeb4
Use folder database ID for PendingSetFlag
2020-04-25 00:39:34 +02:00
cketti
bc6f2bf97f
Use folder database ID for PendingAppend
2020-04-25 00:39:34 +02:00
cketti
63c16c137c
Use folder database ID for PendingDelete
2020-04-25 00:02:50 +02:00
cketti
4e2d084401
Use folder database ID for PendingMarkAllAsRead
2020-04-24 23:34:21 +02:00
cketti
c98943e983
Use folder database ID for PendingExpunge
2020-04-24 23:29:34 +02:00
cketti
626f8e18d6
Merge pull request #4689 from cketti/fix_lost_linebreaks
...
Properly handle <br> tag when converting HTML to plain text
2020-04-24 05:33:21 +02:00
cketti
532b94bc69
Merge pull request #4686 from cketti/fix_pop3_move_to_trash
...
Move deleted message to Trash folder when using POP3
2020-04-24 05:31:09 +02:00
cketti
a3bf389065
Properly handle <br> tag when converting HTML to plain text
2020-04-24 00:30:35 +02:00
cketti
d1c3cca213
Move deleted message to Trash folder when using POP3
2020-04-23 20:55:30 +02:00
cketti
2dccbb7c48
Remove local message if we can't get new server ID after moving/copying
2020-04-23 03:28:06 +02:00
cketti
d70564e423
Remove unused code
2020-04-18 19:51:48 +02:00
cketti
1ac7387e83
Upgrade to jsoup 1.13.1
2020-04-15 23:32:23 +02:00
cketti
a05181eb2a
Merge pull request #4663 from k9mail/message_view_content_font_size_migration
...
Convert old value for message view content font size to new format
2020-04-14 22:27:02 +02:00
cketti
8786a2f63b
Change default to always show delete button in notifications
2020-04-13 16:54:44 +02:00
cketti
3b19d53a0e
Convert old value for message view content font size to new format
2020-04-13 16:44:22 +02:00
cketti
b99c1b5f59
Use FolderSettingsProvider when exporting settings
2020-04-13 01:05:31 +02:00
cketti
5a15ceece1
Rename 'FolderSettings' to 'FolderSettingsDescriptions'
2020-04-12 20:58:17 +02:00
cketti
6fba5f8e6a
Rename 'IdentitySettings' to 'IdentitySettingsDescriptions'
2020-04-12 20:58:12 +02:00
cketti
c5195890a1
Rename 'AccountSettings' to 'AccountSettingsDescriptions'
2020-04-12 20:58:10 +02:00
cketti
6e6abe2e68
Rename 'GlobalSettings' to 'GeneralSettingsDescriptions'
2020-04-12 20:58:07 +02:00
cketti
ce29fd20fb
Use saved folder settings when creating folders
2020-04-12 20:53:44 +02:00
cketti
46870b4a42
Don't save folder settings to preferences when updating a folder
2020-04-10 21:32:52 +02:00
cketti
6ca331b4e8
Merge pull request #4652 from k9mail/refactor_SettingsExporter
...
Refactor 'SettingsExporter'
2020-04-10 01:34:10 +02:00
cketti
ad3c40195d
Refactor 'SettingsExporter'
2020-04-09 00:19:58 +02:00
cketti
ff7bb4094a
Convert 'SettingsExporterTest' to Kotlin
2020-04-08 23:22:51 +02:00
cketti
e4bacaf71b
Convert 'SettingsExporter' to Kotlin
2020-04-08 22:56:12 +02:00
cketti
497ca62fe3
WIP: Renaming file 'SettingsExporter' with Kotlin extension
2020-04-08 20:48:42 +02:00
cketti
de2f0a37ef
Create local folders with FolderClass.NO_CLASS
2020-04-08 18:58:45 +02:00
cketti
43130437ef
Make 'FolderSettingsDataStore' use 'FolderRepository' instead of 'LocalFolder'
2020-04-08 04:00:56 +02:00
cketti
3eb70c6e27
Make "manage folders" screens use database ID to refer to folders
2020-04-08 01:28:35 +02:00
cketti
0af9aa3300
Merge pull request #4648 from k9mail/remove_old_database_migrations
...
Remove old database migrations
2020-04-08 00:53:29 +02:00
cketti
749d4d51bf
Remove unused methods from MigrationsHelper
2020-04-08 00:33:29 +02:00
cketti
e0b1d77650
Remove BootReceiver
2020-04-06 19:22:19 +02:00
cketti
b93ad397c3
Remove CoreService
2020-04-06 19:22:19 +02:00
cketti
c6e7e28abe
Remove ShutdownReceiver
2020-04-06 19:22:19 +02:00
cketti
eed9daa020
Remove Push state from database
2020-04-06 04:19:29 +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
b0aa07aef9
Move MailTo class to :mail:common module
2020-03-28 21:39:04 +01:00
cketti
982013ded4
Make sure Part.getMimeType() returns a valid MIME type
2020-03-24 02:29:01 +01:00
cketti
defb055472
Remove code to mark contacts as read and WRITE_CONTACTS permission
...
See https://source.android.com/devices/tech/config/contacts-affinities
2020-03-19 17:31:14 +01:00
cketti
19310314c5
Remove unused "Gestures" setting and unused code
2020-03-15 17:22:09 +01:00
cketti
00086bd15e
Update Koin to 2.1.1
2020-03-04 14:39:30 +01:00
cketti
2a8d094343
JMAP: Add support for uploading messages
2020-02-25 19:00:18 +01:00
cketti
a2f1487ba5
JMAP: Add support for deleting messages
2020-02-18 16:47:33 +01:00
cketti
b78c2e295e
Add JMAP message sync (part 2) - delta sync
2020-02-14 00:16:34 +01:00
cketti
6768e74fc2
Be a bit more selective on which StrictMode warnings we enable
2020-02-12 22:27:13 +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
0f07359bd9
Update AndroidX Core to 1.2.0
2020-02-06 17:53:07 +01:00
cketti
611a57fb0e
Remove now unused folder name from SyncListener callbacks
2020-02-05 01:27:06 +01:00
cketti
86326ea0b9
Remove unused folder name from MessagingListener callbacks
2020-02-05 01:25:24 +01:00
cketti
b233104622
Make BackendFolder only save messages that have a server ID set
...
Since we're calling through to LocalFolder.appendMessages(), omitting
the server ID would create a local message (one with a UID starting
with "K9LOCAL:").
2020-02-04 19:58:24 +01:00
cketti
d8d2bebebe
BackendFolder should never hand out local-only messages
...
Backend implementations don't need to know about local messages.
2020-02-04 18:55:33 +01:00
cketti
77ff9ea9ba
Remove unused method BackendFolder.getUnreadMessageCount()
2020-02-04 18:17:22 +01:00
cketti
f2886364ef
Merge pull request #4475 from k9mail/pending_commands_cleanup
...
Check arguments when creating PendingCommand instances
2020-01-26 23:30:41 +01:00
cketti
c85221cadf
Check arguments when creating PendingCommand instances
2020-01-26 01:27:24 +01:00
cketti
aad060fb41
Remove unnecessary code from PendingMoveAndMarkAsRead
2020-01-26 00:47:23 +01:00
cketti
54bf442259
Rename outdated PendingMoveOrCopy factory method to createLegacy()
2020-01-26 00:47:23 +01:00
cketti
71df8f2f0d
Remove code to enqueue legacy form of 'PendingMoveOrCopy'
2020-01-26 00:47:23 +01:00
cketti
5b436adaee
Only check for contacts read permission when fetching contact pictures
2020-01-24 15:10:10 +01:00
cketti
28dadaf468
Merge pull request #4469 from k9mail/fix_LocalSearch_accounts
...
Fix crash when opening Unified Inbox
2020-01-23 16:35:12 +01:00
cketti
320f916098
Remove support for the magic ALL_ACCOUNTS constant from LocalSearch
2020-01-22 21:59:47 +01:00