Commit graph

1232 commits

Author SHA1 Message Date
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
cketti
ad731aa3d9 Fix bug in MessageListLiveData when using LocalSearch to retrieve accounts UUIDs 2020-01-22 21:19:55 +01:00
cketti
f8baaa60f6 Fix bug in MessageListLoader when using LocalSearch to fetch accounts 2020-01-22 21:05:15 +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
2dc75163a0 Remove unused MessagingListener callbacks for sending messages 2020-01-22 16:52:26 +01:00
cketti
6916ea8ce5 Remove unused callback MessagingListener.systemStatusChanged() 2020-01-22 16:52:26 +01:00
cketti
edbee481dd Remove unused callback MessagingListener.setPushActive() 2020-01-22 16:52:25 +01:00
cketti
0b49b22af0 Remove unused callback MessagingListener.emptyTrashCompleted() 2020-01-22 16:52:25 +01:00
cketti
0cd7164c2e Remove MessagingListener.messageDeleted()
Only home screen widgets used the callback to update themselves. But
they're also updating when folderStatusChanged() is invoked. So we can
safely get rid of messageDeleted().
2020-01-22 16:52:25 +01:00
cketti
56151e7b7e Remove unused MessagingListener callbacks for pending commands 2020-01-22 16:52:25 +01:00
cketti
d0bb3a0524 Remove MessagingController.listFolders() and associated callbacks
We now use FolderRepository to retrieve the folder list. listFolders()
was only used to refresh the folder list from the server.
2020-01-21 14:45:55 +01:00
cketti
9a04de0d00 Remove unused android-job library 2020-01-19 17:02:40 +01:00
cketti
dd99636fa8 Update Truth to 1.0.1 2020-01-19 16:27:53 +01:00
cketti
9b2b82eee6 Update Mockito to 3.2.4 and Mockito-Kotlin to 2.2.0 2020-01-19 16:27:53 +01:00
cketti
28f411f3d4 Update Moshi to 1.9.2 2020-01-19 16:19:20 +01:00
cketti
320cc8b40b Add UI to add a JMAP account to the app 2020-01-18 21:14:57 +01:00
cketti
a873a1c41f
Merge pull request #4442 from k9mail/bye_CursorLoader
Switch MessageListFragment away from CursorLoader
2020-01-14 16:20:37 +01:00
cketti
a939eca6d5 Fix deleting a message when there's no Trash folder 2020-01-13 16:14:49 +01:00
cketti
ab61e80bc3 Switch MessageListFragment away from CursorLoader 2020-01-12 15:58:15 +01:00
cketti
f68da8fe04
Merge pull request #4432 from k9mail/message_list_item_data_class
Create MessageListExtractor to read from Cursor
2020-01-10 22:51:21 +01:00
cketti
d4df9274bb Extract code to read from Cursor to MessageListExtractor 2020-01-10 20:07:19 +01:00
cketti
ed77c652e6
Merge pull request #4434 from k9mail/remove_wrap_long_folder_names
Remove setting "Wrap long folder names"
2020-01-09 17:29:08 +01:00
cketti
e0ba03c74b Remove unused setting "Wrap long folder names" 2020-01-09 17:02:33 +01:00
cketti
67468687e5 Simplify LocalFolder.open() 2020-01-09 14:14:52 +01:00
cketti
2d470c73a0 Move FolderType and FolderClass out of Folder 2020-01-09 14:08:41 +01:00
cketti
ef2862b443 Remove unused code from LocalFolder 2020-01-09 14:08:41 +01:00
cketti
5f9999e173 Change LocalFolder to no longer extend Folder 2020-01-09 14:08:41 +01:00
cketti
13bc16caf8 Remove Message.getFolder() 2020-01-08 23:30:03 +01:00
cketti
0d303c8740
Merge pull request #4429 from k9mail/LocalFolder
Use LocalFolder instead of Folder in MessagingController
2020-01-08 21:30:35 +01:00
cketti
b336ad283f
Merge pull request #4046 from ByteHamster/mark-as-read-on-delete
Mark messages read when deleting
2020-01-08 19:00:38 +01:00
ByteHamster
7b9f44ca1e Added function to move to trash and read to backend 2020-01-08 18:48:28 +01:00
ByteHamster
1bac17d244 Added setting to mark messages read when deleting 2020-01-08 18:44:46 +01:00
cketti
d4d2758a8a Use LocalFolder instead of Folder in MessagingController 2020-01-08 01:42:57 +01:00
cketti
aaaf75dc6f
Merge pull request #4421 from k9mail/special_folders
Properly configure special folders during (initial) folder sync
2020-01-08 00:39:46 +01:00
cketti
495d8c0521 Move code to configure special folders to SpecialFolderUpdater 2020-01-02 22:07:40 +01:00
cketti
b504e6a83a Move special folder handling out of FolderRepository 2020-01-02 20:33:17 +01:00
cketti
d937113b6b Add subject to MessageViewInfo in case of errors 2020-01-02 16:55:14 +01:00
cketti
303148ab3a Create empty root part when loading message with crypto error
Some parts of the code depend on MessageViewInfo.rootPart not being null.
2020-01-02 16:54:15 +01:00
cketti
d80cb6f614 EmailAddressValidator doesn't need to implement Validator 2019-12-19 14:45:03 +01:00
cketti
a946523161
Merge pull request #4389 from k9mail/choose_folder
Update "Choose Folder" screen
2019-12-19 14:00:25 +01:00
cketti
e2dfc05f60 Fix filtering folders by display mode in 'ChooseFolderActivity' 2019-12-18 04:06:34 +01:00
cketti
84327e085d Don't pass Folder instance to Backend 2019-12-18 01:21:12 +01:00
cketti
aa13a46e3e Don't pass Folder instance to PushReceiver 2019-12-18 01:05:28 +01:00
cketti
d72b30e82c Fix implementation in 'K9BackendStorage' to store extra values 2019-12-17 15:09:57 +01:00
cketti
f68df72b89 Use Cursor.getLongOrNull() from core-ktx 2019-12-13 13:22:54 +01:00
cketti
4951386858 Inline extension functions that only had one caller 2019-12-13 13:21:15 +01:00
cketti
bc97920f70 Add missing folder constraints to database query/update commands 2019-12-13 13:11:51 +01:00
cketti
0a7cd31741 Don't export "inboxFolderName" anymore; it's not a setting 2019-12-12 00:47:58 +01:00
cketti
059d0ed7cb Set "inboxFolderName" and "autoExpandFolderName" to null by default 2019-12-12 00:47:58 +01:00
cketti
3125d5b343 Reset auto-expand folder when it was removed from the server 2019-12-11 19:30:37 +01:00
cketti
3037b54dd6 Extract logic to update special folders to a BackendStorageListener 2019-12-11 19:10:36 +01:00
cketti
fb567f5fe3 Use proper FolderType in comparison 2019-12-11 18:18:40 +01:00
cketti
21231bc964 Clean up code in 'AccountSetupAccountType' 2019-12-03 20:31:33 +01:00
cketti
dad7f1963b
Merge pull request #4322 from k9mail/account_defaults
Change some account defaults
2019-12-02 01:57:06 +01:00
cketti
4d91d8eafc
Merge pull request #4317 from k9mail/GH-4296_removing_messages
Remove LocalFolder.purgeToVisibleLimit()
2019-12-02 01:54:20 +01:00
cketti
b38583a374 Change default sync interval to 1 hour 2019-12-01 18:37:51 +01:00
cketti
755d47a247 Disable sync notifications by default
Also remove the option to configure the sync notification during account
setup.
2019-12-01 18:30:26 +01:00
ByteHamster
72d7602944 Use account color as accent color in drawer
Use slightly different dark theme highlight colors
Chose the colors so they have WCAG AA contrast on #333333 background
2019-12-01 16:18:46 +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
66ae90c11d
Merge pull request #4290 from k9mail/remove_start_in_unified_inbox_setting
Remove "Start in Unified Inbox" setting
2019-11-26 17:08:35 +01:00
Vincent Breitmoser
85a0c1af4d use Parcelize instead of manual Parcelable implementation 2019-11-26 16:31:09 +01:00
Vincent Breitmoser
2296c6f757 convert Identity to Kotlin 2019-11-26 15:56:28 +01:00
cketti
d6d8ccdf66 Remove "Start in Unified Inbox" setting 2019-11-26 15:52:19 +01:00
cketti
bd6561191d Update translations from Transifex 2019-11-22 13:27:30 +01:00
cketti
ff44def285
Merge pull request #4275 from k9mail/account_colors
Change account color picker
2019-11-22 13:20:34 +01:00
ByteHamster
09b4fbdd34 Use material colors for account colors 2019-11-21 23:54:18 +01:00
cketti
59244f52ff Remove ability to store database on "external storage"
If an account database is currently stored on "external storage" we
move it back to internal storage.
2019-11-21 16:43:20 +01:00
cketti
11c9657b56 Switch from HoloColorPicker to "default" ColorPickerPreference 2019-11-21 01:33:57 +01:00
cketti
9655216606 Update to Koin 2.0.1 2019-11-20 15:38:11 +01:00
cketti
316ea451b1 Remove conditional code regarding lock screen notifications 2019-11-19 15:22:07 +01:00
cketti
1303430e73
Merge pull request #4263 from k9mail/remove_unused_code
Remove unused code
2019-11-18 16:55:06 +01:00
cketti
1398532e92 Remove unused ContactItem 2019-11-18 02:58:48 +01:00
cketti
c630b4deaf Remove empty file 2019-11-18 02:52:04 +01:00
cketti
bbbec7bf3d Switch from android-job to workmanager 2019-11-17 17:03:30 +01:00
cketti
57ff989edd Add kotlinOptions.jvmTarget to Gradle projects using Kotlin 2019-11-17 14:45:05 +01:00
cketti
1294726667
Merge pull request #4259 from k9mail/targetSdkVersion_28
Set targetSdkVersion to 28
2019-11-17 13:49:05 +01:00
cketti
36da0b79a7 Disable Koin logging 2019-11-17 02:04:50 +01:00
cketti
8dc3fd4ebb Set compileSdkVersion to 29 2019-11-17 01:41:46 +01:00
cketti
4f0e90a417 Don't refresh Pusher via JobManager 2019-11-15 03:37:30 +01:00
cketti
3470ee8774 Update Robolectric to 4.2.1
Not going directly to 4.3.1 because of this issue:
https://github.com/robolectric/robolectric/issues/5245
2019-11-13 17:37:37 +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
347d33849c Remove AccountStats 2019-11-06 17:59:31 +01:00
cketti
f0dabcc516 Rename AccountStatsCollector to UnreadMessageCountProvider 2019-11-06 17:59:31 +01:00
cketti
3114c6ef90 Replace MessagingController.getSearchAccountStatsSynchronous()…
…with getUnreadMessageCount()
2019-11-06 17:59:04 +01:00
cketti
24a22beccc Replace MessagingController.getAccountStats() with getUnreadMessageCount() 2019-11-06 17:59:04 +01:00
cketti
c41382e3d4 Remove MessagingListener.searchStats() 2019-11-06 17:59:04 +01:00
cketti
7f02272ae0 Remove unused MessagingListener.accountStatusChanged() 2019-11-06 17:59:04 +01:00
cketti
52f930135c Remove "Show account size" setting 2019-11-06 15:34:11 +01:00
cketti
e1cc1760f5 Remove "Count search results" setting 2019-11-06 15:30:13 +01:00
cketti
99b44bd5ca Remove special account "All messages" 2019-11-01 03:21:43 +01:00
cketti
5bdbd8b962 Add 'SettingsImportFragment' 2019-10-19 23:05:01 +02:00
cketti
26c7c76395 Remove setting for message list check boxes 2019-08-15 02:10:46 +02:00
cketti
5118c0312a Rewrite 'IdentityHelper' to use Sequence operations 2019-08-07 17:17:06 +02:00
cketti
b519b53cb6 Convert 'IdentityHelper' to Kotlin 2019-08-07 17:08:31 +02:00
cketti
83009e8602 WIP: Renaming file 'IdentityHelper' with Kotlin extension 2019-08-07 17:06:40 +02:00
cketti
47629ae35e
Merge pull request #4144 from k9mail/convert_to_kotlin
Convert 'ClipboardManager' to Kotlin
2019-08-07 16:40:33 +02:00
cketti
ae29d90f2e Converting 'ClipboardManager' to Kotlin 2019-08-05 15:51:51 +02:00
cketti
6754177981 WIP: Renaming file 'ClipboardManager' with Kotlin extension 2019-08-05 15:51:51 +02:00
cketti
7523817ae8 Use Koin to inject ClipboardManager 2019-08-05 15:51:51 +02:00
cketti
c10e835e37 Return whether or not settings file included server passwords 2019-08-04 19:59:01 +02:00
cketti
36f3724344 Update import/export default value for "useBackgroundAsUnreadIndicator" 2019-08-03 21:37:57 +02:00
Robert Spencer
14f33e40a8 Change default to not set unread email backround grey 2019-08-03 21:34:20 +02:00
cketti
d4d1280a9c
Merge pull request #4114 from k9mail/drawer_unread_count
Display unread message count in drawer
2019-07-24 17:20:26 +02:00
ByteHamster
52f61659fe Using K9.DEVELOPER_MODE in more places 2019-07-19 13:49:44 +02:00
cketti
096ee17871 Change FolderRepository.getDisplayFolders() to include unread count 2019-07-18 17:52:29 +02:00
cketti
f15d43d0bb Add import/export support for new theme setting 2019-05-28 02:41:48 +02:00
cketti
2d0c698774 Switch to "use system default" theme option as default
On pre-API 28 Android versions hide the the "use system default" option
in settings. But we use the value AppTheme.FOLLOW_SYSTEM when the light
theme is selected. This way users who selected the light theme (or never
changed the setting at all) will get the "use system default" behavior
when they upgrade to Android 9+.
2019-05-28 02:41:48 +02:00
cketti
0bf59cf615 Add support to follow system default for night mode/dark theme 2019-05-28 02:41:48 +02:00
cketti
f08bd42c8a Rename theme properties in 'K9' 2019-05-28 02:41:48 +02:00
cketti
4bbc8c5486 Use different enums for app theme and "sub themes" 2019-05-28 02:41:48 +02:00
cketti
58371be677 Properly support different themes for message viewing and composing
Previously the quoted HTML in the compose screen was formatted using
the message view theme.
2019-05-28 02:41:48 +02:00
cketti
be124ec896 Introduce ThemeManager to group theme-related logic 2019-05-28 02:41:48 +02:00
cketti
2d746e64ce Remove unused code from HtmlConverterTest 2019-05-24 14:05:35 +02:00
cketti
3e0855c5e1 Extract code to create HTML for use in a WebView to class 'DisplayHtml' 2019-05-24 14:05:35 +02:00
cketti
e6d35d85af Extract 'HTML to Spanned' functionality to separate class 2019-05-24 14:05:35 +02:00
cketti
eddd6827a4 Convert 'HtmlConverter' to Kotlin 2019-05-24 14:05:35 +02:00
cketti
e7b6d6b5d3 WIP: Renaming file 'HtmlConverter' with Kotlin extension 2019-05-24 14:05:35 +02:00
cketti
3db836ee21 Don't use enum ordinals when saving general settings 2019-05-22 20:07:21 +02:00
cketti
38c3e26921 Move legacy migrations from 'K9' to 'StorageMigrations' 2019-05-22 20:07:21 +02:00
cketti
dd5e12e779 Rename debug logging property 2019-05-22 01:42:52 +02:00
cketti
113f51df94 Naming cleanup 2019-05-22 01:42:52 +02:00
cketti
871abe54ec Remove "showContactPicture" methods from 'K9' 2019-05-22 01:42:52 +02:00
cketti
1420214e04 Remove "useBackgroundAsUnreadIndicator" methods from 'K9' 2019-05-22 01:42:52 +02:00
cketti
71cd03ab57 Remove "hideTimeZone" methods from 'K9' 2019-05-22 01:42:50 +02:00
cketti
bcb2f72354 Remove "hideUserAgent" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
ec2b9a3772 Remove "wrapFolderNames" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
6d75e5abdd Remove "confirmMarkAllRead" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
9f6d717af0 Remove "confirmDeleteFromNotification" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
c0fcb634e8 Remove "confirmDiscardMessage" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
dbb2e64afa Remove "confirmSpam" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
acff9d7c62 Remove "confirmDeleteStarred" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
1a06188e7c Remove "confirmDelete" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
acd437c791 Remove "countSearchMessages" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
4d74ef39d0 Remove "measureAccounts" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
4dedf1b795 Remove "messageViewShowNext" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
516aec77e0 Remove "messageViewReturnToList" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
5855563124 Remove "messageViewFixedWidthFont" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
bc76870004 Remove "changeContactNameColor" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
9db23ba7de Remove "showContactName" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
596d5af260 Remove "messageListSenderAboveSubject" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
13f2f7b581 Remove "showCorrespondentNames" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
ed0683d064 Remove "messageListStars" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
ad4831e354 Remove "messageListCheckboxes" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
51eb51c679 Remove "messageListPreviewLines" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
8ba651501b Remove "showAnimations" methods from 'K9' 2019-05-22 01:13:51 +02:00
cketti
aad830ff9e Remove "startIntegratedInbox" methods from 'K9' 2019-05-22 01:13:50 +02:00
cketti
4bff973fc5 Remove "autofitWidth" methods from 'K9' 2019-05-22 01:13:36 +02:00
cketti
7da8f13f92 Remove "useVolumeKeysFor*Navigation" methods from 'K9' 2019-05-22 01:13:15 +02:00
cketti
2eec933d3d Remove "guesturesEnabled" methods from 'K9' 2019-05-21 23:57:09 +02:00
cketti
55f4484e15 Remove "backgroundOps" methods from 'K9' 2019-05-21 23:52:38 +02:00
cketti
04f200ce02 Remove "useFixedMessageViewTheme" methods from 'K9' 2019-05-21 23:51:15 +02:00
cketti
030f858e91 Convert 'K9' to Kotlin 2019-05-21 23:31:29 +02:00
cketti
cd6cfe676c WIP: Renaming file 'K9' with Kotlin extension 2019-05-21 22:06:06 +02:00
cketti
79f5efbbde Remove unused fields 2019-05-21 22:03:12 +02:00
cketti
f3cc89f09d Add 'SettingsExportFragment' 2019-05-19 02:25:29 +02:00
cketti
d27672f9a8 Add EmailHelper.getLocalPartFromEmailAddress() 2019-03-14 03:02:05 +01:00
cketti
d104525955 Convert EmailHelper to Kotlin 2019-03-14 02:58:27 +01:00
cketti
e1e473592c
Merge pull request #3961 from k9mail/add_delete_method_to_backend
Add deleteMessages() method to Backend interface
2019-03-13 23:03:20 +01:00
cketti
189f50a15e Make MessagingController use Backend.deleteMessage() 2019-03-11 01:20:46 +01:00
cketti
0c9bb833e5 Move RobolectricTest class to :app:testing module 2019-03-10 20:02:28 +01:00
cketti
be60dccb14 Respect background sync setting 2019-02-28 03:01:04 +01:00
cketti
f9b6c78340
Merge pull request #3917 from pueffl/kotlin-upgrade
Upgrade to Kotlin version (3.20) and fix any issues.
2019-02-26 15:44:17 +01:00
cketti
be96b6e524
Merge pull request #3910 from k9mail/fix_K9BackendFolder
Fix bug in K9BackendFolder.getLastUid()
2019-02-14 03:34:46 +01:00
cketti
7c7ce6eb84 Remove Message.setRecipients() and manually set recipient headers
Use AddressHeaderBuilder to encode the recipient addresses and fold the
header value.
2019-02-14 02:28:36 +01:00
Wolfgang Grossinger
c179ace548 Upgrade to Kotlin version (3.20) and fix any issues.
- Migrate to Kotlin 3.11
- Remove Kotlin Experimentals
- Migrate Kotlin Coroutines
2019-02-13 20:53:44 +01:00
cketti
7a41c018ce Fix bug in K9BackendFolder.getLastUid() 2019-02-10 02:46:53 +01:00
cketti
47deb4e5ba Switch to androidx artifacts 2019-02-09 22:08:25 +01:00
cketti
932f5f2ddc Add 'isDeleteMoveToTrash' flag to Backend 2019-01-22 18:52:06 +01:00
Sujan Kota
8e5e6d66a6 Fix the unit tests 2019-01-14 10:41:44 -08:00
Sujan Kota
64971007f5 Make notification for new messages as an interface and move the implementation to the K9NotificationStrategy.kt 2019-01-14 09:56:13 -08:00
cketti
9d9d46868f Clean up LocalFolder.delete() 2019-01-10 00:15:35 +01:00
cketti
eeb820b958 Remove Folder.delete(boolean) 2019-01-10 00:15:35 +01:00
cketti
d27180f55c Rename LocalFolder.delete() to deleteSettings() 2019-01-10 00:02:17 +01:00
cketti
88c12325b9
Merge pull request #3863 from k9mail/GH-3861_fix_deleting_folders
Fix deleting folders
2019-01-09 23:49:32 +01:00
cketti
95f266ada6 Add missing code to persist the 'uploadSentMessages' preference 2019-01-08 21:12:46 +01:00
cketti
c6dd59dee4 Fix deleting folders no longer on the server 2019-01-06 22:24:47 +01:00
cketti
2cb299d7e5
Merge pull request #3830 from wiktor-k/remove-low-frequencies
Remove low sync frequencies that make K-9 crash
2019-01-06 21:29:34 +01:00
cketti
af95a0f1b6
Merge pull request #3840 from k9mail/move_delete_account_action
Add "remove account" action to account settings screen
2019-01-06 21:03:00 +01:00
Art O Cathain
e3d193c8d2 Fix for outbox folder being missing after settings import (#3812) 2018-12-23 00:34:38 +01:00
Wiktor Kwapisiewicz
88cfdb385d
Reduce importance of sync notifications
Before this change synchronization notifications were displayed with
default importance. That means checking for e-mail generated sound or
vibration that looked like an arriving message.

This change reduces importance to `IMPORTANCE_LOW`. That still shows the
notification but does not generate any sounds or vibration by default
(this can still be adjusted by the user).
2018-12-21 16:20:04 +01:00
cketti
59edfb59f5 Add "remove account" action to account settings screen 2018-12-20 23:50:31 +01:00
Wiktor Kwapisiewicz
8468ea5f77 Remove low sync frequencies that make K-9 crash
See: https://github.com/evernote/android-job/wiki/FAQ#why-cant-an-interval-be-smaller-than-15-minutes-for-periodic-jobs

Closes #3803.
2018-12-20 20:28:49 +01:00
cketti
4da4544264 Remove custom whenever() helper for Mockito 2018-12-20 18:26:12 +01:00
cketti
97ed41524e Move tests to :app:storage module
Create :app:testing module for shared test infrastructure code
2018-12-18 00:07:44 +01:00
cketti
957b18fd5b Move StoragePersister implementation to :app:storage module 2018-12-17 17:31:47 +01:00
cketti
2d6c8b7067 Extract StoragePersister interface 2018-12-17 17:25:02 +01:00
cketti
b4757a1568 Move creation of StorageEditor instances to StoragePersister 2018-12-17 17:13:20 +01:00
cketti
86818fbffb Extract StorageEditor interface 2018-12-17 17:02:47 +01:00
cketti
db1dcb4618
Merge pull request #3824 from k9mail/remove_file_handling
Remove code for settings import/export using files (instead of SAF)
2018-12-17 00:02:58 +01:00
cketti
b5588a8d02 Remove compatibility code for pre-API 19 versions 2018-12-16 02:49:49 +01:00
cketti
58717266c0 Remove code for importing and exporting settings from and to files 2018-12-16 02:03:21 +01:00
cketti
c2e80122f7 Use Storage Access Framework to save attachments 2018-12-14 01:44:13 +01:00
cketti
a3735c671d Remove attachment default path setting 2018-12-14 01:05:29 +01:00
cketti
ae2f831b7d
Merge pull request #3806 from k9mail/outbox_state
Persist send error state
2018-12-13 22:58:17 +01:00
cketti
6a408df8fe Properly delete message after sending (destroy) 2018-12-13 19:59:53 +01:00
cketti
6f49b97514 Don't move message that failed to send to Drafts folder 2018-12-13 19:59:52 +01:00
cketti
e5025e1ab8 Use 'outbox_state' table for send error handling 2018-12-13 19:59:52 +01:00
cketti
03f0fa9f0f Add 'outbox_state' table to database 2018-12-13 19:59:52 +01:00
Vincent Breitmoser
ecfbbca9d9
Merge pull request #3814 from wiktor-k/fix-missing-subject
Fix subject being overwritten with `null`
2018-12-12 12:52:58 +01:00
Wiktor Kwapisiewicz
314cb93d2b
Fix subject being overwritten with null
Not using crypto-provider passes `null` as `plaintextSubject`.
`saveDraft` already has protection against overwriting subject with `null`.
This change adds the same check to `sendMessage`.

Fixes #3811.
2018-12-11 12:23:11 +01:00
Vincent Breitmoser
012742787e synchronized Preferences with a lock object 2018-12-10 18:43:22 +01:00
Vincent Breitmoser
e7d6f85e66 add AccountsChangeListener to Preferences 2018-12-10 18:13:34 +01:00
Vincent Breitmoser
216d51a069 StorageEditor: add test 2018-12-10 13:06:52 +01:00
Vincent Breitmoser
474610139f StoagePersister: add test 2018-12-10 13:06:52 +01:00
Vincent Breitmoser
342048e961 StoragePerister: use statement for delete, drop intermediate map 2018-12-10 13:06:52 +01:00
Vincent Breitmoser
40b4ebbc8e add unit test for Storage 2018-12-10 13:06:52 +01:00
Vincent Breitmoser
9c6952275a Storage may still be written to and read from concurrently 2018-12-10 13:06:52 +01:00
Vincent Breitmoser
f7faccf5d9 extract persistence logic from Storage into StoragePersister 2018-12-10 13:06:52 +01:00
cketti
8b676343a4 Make MessagingController.checkMailBlocking() actually terminate 2018-12-06 23:34:51 +01:00
cketti
2f8778be33
Merge pull request #3763 from ojiofong/oji_mail_sync
Change mail sync to work with background execution limits
2018-12-06 19:57:00 +01:00
cketti
fa3458f920 Make mail check blocking when called from MailSyncJob 2018-12-06 19:45:11 +01:00
Vincent Breitmoser
4333a3a16f remove "hideHostnameWhenConnecting" from global settings 2018-12-05 14:39:08 +01:00
Oji Ofong
49917278de Resolve scheduled job issues 2018-12-04 13:42:22 -05:00
Vincent Breitmoser
62411ace05 Fix assigning account number when Account is first saved (fixes #3787) 2018-12-03 14:12:25 +01:00
Oji Ofong
c3fcf5986d Change mail sync to work with background execution limits 2018-12-02 08:52:46 -05:00
Vincent Breitmoser
e6e0d7c1c2
Merge pull request #3772 from k9mail/cleanup-localkeystore
Clean up LocalKeyStore and related
2018-12-02 05:08:03 +01:00
Vincent Breitmoser
5ead340cde more clearly use getExternalFilesDir in ExternalStorageProvider 2018-12-01 14:10:22 +01:00
Vincent Breitmoser
df85d7b0f3 Clean up TrustManager, KeyStore and SocketFactory use 2018-11-30 15:47:57 +01:00
Vincent Breitmoser
3e5c9a9616 slight cleanup in AccountSearchConditions 2018-11-29 18:37:26 +01:00
Vincent Breitmoser
47767b9e3f small code cleanup 2018-11-29 18:23:30 +01:00
Vincent Breitmoser
583c5b0432 extract Account.getLocalStore into LocalStoreProvider 2018-11-29 18:22:12 +01:00
Vincent Breitmoser
a42d1111ae move extensive setter logic out of Account into saveAccount() 2018-11-29 18:22:12 +01:00
Vincent Breitmoser
4a386b6c9b extract setup of default values from Account 2018-11-29 18:22:12 +01:00
Vincent Breitmoser
6276450c65 move loadAccount logic into AccountPreferenceSerializer 2018-11-29 18:22:12 +01:00
Vincent Breitmoser
86bc5ed823 extract "save" method from Account (and fix unit tests) 2018-11-29 18:19:07 +01:00
Vincent Breitmoser
6c71b13e9b extract move methods from Account 2018-11-29 18:19:07 +01:00
Vincent Breitmoser
cd01aec9d8 rename AccountManager to AccountPreferenceSerializer, move more things out of Account 2018-11-29 18:19:07 +01:00
Vincent Breitmoser
912b5d70a4 extract AccountSearchConditions and LocalKeyStoreManager from Account 2018-11-29 18:19:07 +01:00
Vincent Breitmoser
7819045e1b Extract deletion and saving of accounts into AccountManager 2018-11-29 18:19:07 +01:00
Vincent Breitmoser
213646d56c rename _is-reply attribute to _is-reply-to-encrypted
as per dkg's comment in https://github.com/autocrypt/autocrypt/pull/376#discussion_r194886487
2018-11-29 14:05:46 +01:00
Vincent Breitmoser
d0a1535547 only add draft header to drafts 2018-11-29 13:56:03 +01:00