Commit graph

177 commits

Author SHA1 Message Date
cketti
4a65c5b4a0 Improve logging in MessageExtractor.getTextFromPart() 2021-06-02 00:49:23 +02:00
cketti
769d658e5a Correctly persist message download state
Add the flag X_DOWNLOADED_FULL when the message has been downloaded completely, the flag X_DOWNLOADED_PARTIAL when only the text of a message has been downloaded, and set no additional flag when only the envelope and structure of the message has been downloaded. The latter happens when we fetch remote search results.
2021-05-10 00:47:27 +02:00
cketti
5444d8be3a Remove explicit dependency on Kotlin's standard library 2021-04-22 03:54:15 +02:00
cketti
632d8f3cb7 Upgrade Mockito-Kotlin to 3.1.0 2021-04-22 03:54:15 +02:00
cketti
428ae60a58 Split Backend.fetchMessage() into two methods
The two new methods now also save the downloaded message data instead of returning a Message instance.
MessageStore.saveRemoteMessage() will now replace a message if it already exists.
2021-04-17 00:04:58 +02:00
cketti
24f55ee03e Add test for RetrieveMessageOperations.getHeaders() 2021-04-01 01:32:46 +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
ac0a2525f7 Rename .java to .kt 2021-03-30 21:34:28 +02:00
cketti
f47862d789 Add tests for LocalKeyStore 2021-03-30 21:34:28 +02:00
cketti
00f13c0c8e Pass keystore directory as File instance to LocalKeyStore 2021-03-30 20:03:13 +02:00
mehdisadeghi
a0b160c7cd
Add support for In-Reply-To parameter in mailto: URIs (#5194) 2021-03-09 15:32:30 +01:00
cketti
a205920510 Add 'MessageIdParser'
Can be used to parse the value of 'Message-ID', 'In-Reply-To', and 'References' header fields.
2021-03-05 18:45:21 +01:00
cketti
06de64cd2c Make MessageHeaderParser more flexible 2021-02-20 13:28:15 +01:00
cketti
33d06a5ac9 Convert 'MessageHeaderParser' to Kotlin 2021-02-18 17:49:23 +01:00
cketti
224d56526e Rename .java to .kt 2021-02-18 17:49:22 +01:00
cketti
69ed32ff8a Convert 'ServerSettings' to Kotlin 2021-02-01 10:39:19 +01:00
cketti
2338381de1 Rename .java to .kt 2021-01-31 18:50:14 +01:00
cketti
1ebc487b56 Don't use custom ServerSettings subclass in SettingsImporter 2021-01-31 18:50:14 +01:00
cketti
97051f3f7c Make WebDavStore use ServerSettings directly
Instead of using WebDavStoreSettings as a ServerSettings subclass make it a helper to extract WebDav-specific settings.
2021-01-31 18:50:14 +01:00
cketti
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
5bc7ac3901 When constructing new messages check header values 2020-10-13 03:29:20 +02:00
cketti
8663bbb5b9 Check (unstructured) header field syntax when adding them to MimeHeader 2020-10-13 03:29:20 +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
3b7c5ea10f Display message headers in the original order 2020-10-08 16:16:50 +02:00
cketti
3c0d9b99f9 Remove unused Message.setCharset() mechanism 2020-10-04 23:33:31 +02:00
cketti
2a3cc1d422 Don't pass charset to EncoderUtil.encodeEncodedWord() 2020-10-04 23:30:23 +02:00
cketti
267c658492 Only consider US-ASCII and UTF-8 in EncoderUtil.determineCharset() 2020-10-04 23:30:23 +02:00
cketti
357e197256 Remove remaining (non-working) 'androidTest' tests 2020-10-04 23:11:42 +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
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
Tobias Preuss
9c6d08142a Infer type. 2020-07-08 13:58:23 +02:00
cketti
4b8d6bf50c Replace 'blacklisted' with 'disallowed' 2020-06-02 17:15:51 +02:00
cketti
4e2ae11238 Don't select charset depending on the recipient address
It's 2020. We now always use UTF-8 for outgoing emails.
2020-05-27 03:07:29 +02:00
cketti
767f7e0efe Remove StoreConfig 2020-05-01 05:42:50 +02:00
cketti
82db38bd08 Create ImapStoreConfig 2020-05-01 05:30:34 +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
1858986fc4 Remove StoreConfig.isAllowRemoteSearch() 2020-05-01 04:03:02 +02:00
cketti
88bcea1552 Remove StoreConfig.getOutboxFolder() 2020-05-01 03:36:42 +02:00
cketti
fcfc7e6a22 Remove unused method StoreConfig.getInboxFolder() 2020-05-01 03:31:11 +02:00
cketti
d70564e423 Remove unused code 2020-04-18 19:51:48 +02:00
cketti
a44732ee38 Remove FolderClass.NONE
Rewrite entries in the database to use FolderClass.NO_CLASS
2020-04-08 19:33:03 +02:00
cketti
61f3f06ba7
Merge pull request #4641 from k9mail/remove_old_push_code
Remove old push code
2020-04-06 19:21:53 +02:00
cketti
2a78418911 Remove old Push code 2020-04-05 20:08:29 +02:00
cketti
59630fb13b Change appearance of attachment boxes in message compose screen 2020-04-05 03:40:24 +02:00
cketti
f1b73a11b9 Convert 'MessageIdGeneratorTest' to Kotlin 2020-03-29 22:24:11 +02:00
cketti
576696e87e Change fallback hostname for Message-ID to "fallback.k9mail.app" 2020-03-29 22:14:00 +02:00
cketti
ab0aae46c4 Extract interface for UUID generation 2020-03-29 22:10:20 +02:00
cketti
9ef845fda5 Convert 'MessageIdGenerator' to Kotlin 2020-03-29 22:00:03 +02:00
cketti
c71b1f0699 WIP: Renaming file 'MessageIdGenerator' with Kotlin extension 2020-03-29 21:49:11 +02:00
cketti
cfed7b0c08 Don't use android.net.MailTo in ListHeaders 2020-03-28 21:57:04 +01: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
7918ffad85 Add MimeType class 2020-03-24 01:53:06 +01:00
cketti
c4ab630161 Remove 'androidTest' tests
We don't regularly run them and most of them don't even compile anymore.
2020-03-11 18:01:41 +01:00
cketti
e4cc7b9a91
Merge pull request #4575 from k9mail/MimeMessage_setReplyTo
Use AddressHeaderBuilder for MimeMessage.setReplyTo()
2020-03-02 14:33:49 +01:00
cketti
4325509d43 Use AddressHeaderBuilder for MimeMessage.setReplyTo() 2020-02-29 22:50:07 +01:00
cketti
916015b1f0 Convert 'MimeHeader' to Kotlin 2020-02-29 21:29:46 +01:00
cketti
21891f1d1d WIP: Renaming file 'MimeHeader' with Kotlin extension 2020-02-29 18:27:13 +01:00
cketti
eccf4738b6 Get rid of 'm' prefix in MimeHeader fields 2020-02-29 18:26:18 +01:00
cketti
2333899afb We no longer need MimeHeader to implement Cloneable 2020-02-29 18:24:04 +01:00
cketti
58f32df670 Remove now unused class 'Folder' 2020-01-28 16:22:09 +01:00
cketti
9335080545 Get rid of common base class RemoteStore
This also allows removing some unnecessary methods in former subclasses.
2020-01-26 05:16:01 +01:00
cketti
0b21a7521d Add JMAP folder sync 2020-01-15 16:14:16 +01:00
cketti
2d470c73a0 Move FolderType and FolderClass out of Folder 2020-01-09 14:08:41 +01:00
cketti
83ad4197b8 Remove unused code from Folder 2020-01-09 14:08:41 +01:00
cketti
13bc16caf8 Remove Message.getFolder() 2020-01-08 23:30:03 +01:00
cketti
aa13a46e3e Don't pass Folder instance to PushReceiver 2019-12-18 01:05:28 +01:00
cketti
079d166ce6 Convert 'EncoderUtilTest' to Kotlin 2019-12-12 00:10:00 +01:00
Bastian Wilhelm
7a8a67ea25 Make sure encoded word encoding doesn't split surrogate pairs 2019-12-11 23:04:54 +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
6325e4deea Remove now unused code in 'DefaultTrustedSocketFactory' 2019-11-19 15:06:53 +01:00
cketti
57ff989edd Add kotlinOptions.jvmTarget to Gradle projects using Kotlin 2019-11-17 14:45:05 +01:00
cketti
e3973096d3 Remove Checkstyle 2019-11-13 16:51:52 +01:00
cketti
56a37d9e14 Remove FindBugs
It's not maintained anymore and we're not currently using it.
2019-11-13 16:41:51 +01:00
cketti
105622a999 Use variable for 'sourceCompatibility' and 'targetCompatibility' values 2019-11-13 16:26:29 +01:00
cketti
3ccabbf95f Remove unused code 2019-03-09 19:31:54 +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
cketti
58d72e0df3 Add AddressHeaderBuilder to correctly fold recipient headers 2019-02-14 02:28:36 +01:00
cketti
47deb4e5ba Switch to androidx artifacts 2019-02-09 22:08:25 +01:00
cketti
eeb820b958 Remove Folder.delete(boolean) 2019-01-10 00:15:35 +01:00
cketti
b5588a8d02 Remove compatibility code for pre-API 19 versions 2018-12-16 02:49:49 +01:00
Vincent Breitmoser
d1c4701256
Merge pull request #3808 from artbristol/remove-exception-todo
Remove TODO
2018-12-10 12:55:12 +01:00
Art O Cathain
5e3141d236 Remove TODO 2018-12-09 14:06:17 +01:00
Vincent Breitmoser
4333a3a16f remove "hideHostnameWhenConnecting" from global settings 2018-12-05 14:39:08 +01:00
Vincent Breitmoser
8fd2b56a67 clean up some warnings in trust management classes 2018-11-30 15:50:38 +01:00
Vincent Breitmoser
df85d7b0f3 Clean up TrustManager, KeyStore and SocketFactory use 2018-11-30 15:47:57 +01:00
Vincent Breitmoser
7819045e1b Extract deletion and saving of accounts into AccountManager 2018-11-29 18:19:07 +01:00
Wiktor Kwapisiewicz
4e6d642ddd
Disallow Addresses with null address part
This change ensures that Address objects are always created with a valid
`address` part. If an Address contains only `personal` part then it is
silently skipped from parsed list.

Unit tests have been adjusted to this new requirement.

Removed inserting Address with `null` address component introduced in
commit 68cecb168e.

Fixes #3652.

See: https://github.com/k9mail/k-9/pull/3739#issuecomment-441242481
2018-11-28 20:42:14 +01:00
cketti
72a664458e Remove StoreConfig.set*Folder() 2018-11-13 20:38:46 +01:00
cketti
91ae94d432 Add FolderType support to (Local)Folder 2018-11-13 16:57:32 +01:00
cketti
9711b42412 Remove unused Folder.FolderType 2018-11-09 14:19:36 +01:00
cketti
cda778e491 Remove unused method Message.clone() 2018-09-03 01:17:25 +02:00
cketti
83b6ab0620
Merge pull request #3570 from k9mail/mime_parameter_decoder
Add proper header parameter parser/decoder
2018-09-03 00:43:30 +02:00
cketti
56882dc6c3 Fix unresolved references in Javadoc comments 2018-09-03 00:13:58 +02:00
BO41
c043eb0df4 Replace explicit type arguments with <> 2018-09-02 23:35:09 +02:00