Commit graph

1462 commits

Author SHA1 Message Date
cketti
1c57b31900 Clean up retrieving dependencies in 'MessageCompose' 2020-10-19 10:09:00 +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
ba8834d3f7 Make using LeakCanary in debug builds optional 2020-10-18 16:27:14 +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
40319700d8
Merge pull request #5006 from k9mail/message_id
Change the way moving messages between folders in the database works
2020-10-16 03:49:54 +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
5aac50d1ee
Merge pull request #5009 from anadi198/automaticIdentityForwarding
Apply automatic identity selection for forwarding emails based on `to:` field of mail being forwarded
2020-10-15 19:04:49 +02:00
Anadi Kashyap
9a464eb6f1 Apply automatic identity selection to forwarding emails 2020-10-15 18:48:50 +02:00
Anadi Kashyap
f757ce9148 Replaced CDATA[] for unknown_recipient and unknown_sender with < and > in strings.xml 2020-10-15 21:06:17 +05:30
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
57bde56e16
Merge pull request #5002 from k9mail/long_subjects
Display up to 3 lines of the subject by default
2020-10-13 03:37:12 +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
b7dc6d9146
Merge pull request #4996 from k9mail/improve_http_uri_detection
Improve HTTP URL detection
2020-10-13 03:13:55 +02:00
cketti
604c87b130 Always show contact picture of sender in message view 2020-10-12 01:48:36 +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
427aecb2ab Remove unused properties from MessageListItem 2020-10-12 00:06:05 +02:00
cketti
9227206872 Display up to 3 lines of the subject by default
Clicking the subject text will toggle between showing all lines and 3 lines max.
2020-10-11 23:06:51 +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
2c95b7df65
Merge pull request #4994 from k9mail/message_batch_actions
Don't show archive or spam action when displaying the corresponding folder
2020-10-09 22:58:49 +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
617dd1641e Don't show archive or spam action when displaying the corresponding folder 2020-10-08 22:56:05 +02:00
cketti
3b7c5ea10f Display message headers in the original order 2020-10-08 16:16:50 +02:00
cketti
8685da31d4 Prepare for version 5.722 2020-10-07 17:51:43 +02:00
cketti
e7bcfe7e3e Version 5.721 2020-10-07 17:07:23 +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
4fbe07ed1c
Merge pull request #4989 from k9mail/copy_link_text
Add "copy link text to clipboard" option when long-pressing links
2020-10-07 16:49:19 +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
4fd51cf313 Add "copy link text to clipboard" option when long-pressing links 2020-10-07 02:04:53 +02:00
cketti
5312c3d1ca Treat all whitespace as separator when detecting URIs 2020-10-06 22:39:04 +02:00
cketti
378c90b46e Prepare for version 5.721 2020-10-06 20:29:06 +02:00
cketti
6c097b47da Version 5.720 2020-10-06 20:21:55 +02:00
cketti
388a7f263e Add zero-width space to changelog version values
For some reason version attributes like "5.700" are displayed as "5.7". We work around that by adding a zero-width space at the end.
2020-10-06 20:21:55 +02:00
cketti
08b6952382 Only keep resources for languages supported in K-9 Mail
This will strip strings of unsupported languages provided by libraries.
2020-10-06 19:41:18 +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
d38dd84e88 Exclude 'DebugProbesKt.bin' from APK 2020-10-04 21:51:17 +02:00
cketti
145c048326 Prepare for version 5.720 2020-10-04 20:19:45 +02:00
cketti
d541eaef51 Version 5.719 2020-10-04 19:12:01 +02:00
cketti
2c4744da60 Update translations 2020-10-04 18:33:09 +02:00
cketti
a5ef3f8b3c
Merge pull request #4964 from AlexKDawson/4936-bug/user-selected-account-lost
User selected Account is lost on screen rotation when setting up "Unread" widget
2020-10-03 18:27:23 +02:00
Alex Dawson
c671c84191 Persist state in unread widget configuration during screen rotation 2020-10-03 18:11:14 +02:00
cketti
8dd8881ab5
Merge pull request #4967 from k9mail/improve_preview_extraction
Improve preview text extraction
2020-10-03 03:41:52 +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
19eb78de30 Small code cleanup 2020-10-02 19:03:26 +02:00
starshipcoder
7f32c9e0d8 In recipient contact selection, display favorites first
Fix: sorting was case sensitive
2020-10-02 19:03:26 +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
5cec85cb15
Merge pull request #4958 from k9mail/GH-3653_fix_search_crash
Return empty result when EmailProvider query fails
2020-09-23 15:57:25 +02:00
cketti
172f98cd8c
Merge pull request #4952 from k9mail/GH-4951_fix_HtmlSanitizer
Add some HtmlSanitizer exceptions
2020-09-23 15:55:14 +02:00
cketti
7992be9068 Return empty result when EmailProvider query fails
In developer mode we still crash for all errors except for malformed MATCH expressions (which are rather easy to generate given that we pass user input to SQLite).
2020-09-22 18:13:28 +02:00
cketti
bedf26d19b
Merge pull request #4931 from GNUDimarik/issue_4914
Use correct OpenPGP key when sending signed-only email
2020-09-20 19:27:43 +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
05882616d6 Update MiniDNS to 1.0.0 2020-09-18 02:42:07 +02:00
Dmitry Adzhiev
d718b33ef6 Use correct OpenPGP key when sending signed-only email 2020-09-18 00:38:48 +06: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
Dmitry Adzhiev
bf83ff3a90 Display SHA-1, SHA-256 and SHA-512 fingerprints of TLS certificates 2020-09-01 16:27:30 +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
753e03aa22 Prepare for version 5.719 2020-08-18 16:49:52 +02:00
cketti
c82b2f827e Version 5.718 2020-08-18 16:27:19 +02:00
cketti
97211358df Update translations 2020-08-17 14:12:36 +02:00
cketti
daa75579b5 Another attempt at fixing image loading for recipient chips 2020-08-13 22:12:36 +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