Commit graph

362 commits

Author SHA1 Message Date
cketti
c234578271 Don't inject BoundaryGenerator into MimeMultipart 2016-08-15 11:14:38 +02:00
cketti
7719153cc0 Extract code to generate Message-Id header value
This moves Message closer to being a dumb data class and avoids having to
pass around a UuidGenerator reference.
2016-08-15 10:22:17 +02:00
cketti
0c61ba2e66 Merge pull request #1564 from ligi/addEspass
Add esPass MIME type
2016-08-14 23:21:58 +02:00
ligi
00ff1d4789 Add esPass MIME type 2016-08-14 15:17:00 +02:00
Vincent Breitmoser
4d9283f124 construct MessageBuilder classes in factory methods 2016-08-10 14:49:12 +02:00
Vincent Breitmoser
1e97f1ce16 inject UuidGenerator into MimeMessage via constructor instead of parameter 2016-08-10 14:30:53 +02:00
Vincent Breitmoser
bb8e5a68df rename UUIDGenerator to UuidGenerator 2016-08-10 14:30:53 +02:00
Vincent Breitmoser
874b981ba6 get message boundaries from injected BoundaryGenerator in MessageBuilder 2016-08-10 14:30:53 +02:00
Vincent Breitmoser
f4b0521bbb get uuid from injected generator in message builder 2016-08-10 14:30:53 +02:00
cketti
f518365bd7 Don't add additional newline when sending message via SMTP 2016-08-08 16:23:28 +02:00
Vincent Breitmoser
f87a9cad49 don't throw MessagingExceptions for getting headers from parts 2016-07-28 14:53:58 +02:00
Vincent Breitmoser
3f0fb9fd3e change tests to use more actual Part/Body classes instead of mocks 2016-07-28 14:53:57 +02:00
Vincent Breitmoser
174f99b94c don't trust X_DOWNLOADED_FULL flag, consider messages with missing on-disk data incomplete 2016-07-24 23:40:12 +02:00
Vincent Breitmoser
600537f5fb use mimeType and boundary values from BodyDescriptor rather than header values 2016-07-19 17:14:46 +02:00
Vincent Breitmoser
bb9f857d86 add Attachment* tests, and some annotations 2016-07-06 21:48:38 +02:00
Vincent Breitmoser
fcf6e9e9ff move text/plain up in extension list
This list is used for extension lookup, higher values will be preferred.
For text/plain, we want to default to a .txt extension.
2016-07-06 21:47:55 +02:00
cketti
e75d3ca1c4 Merge pull request #1479 from k9mail/imap_fix_alert_response_text
Fix extracting alert text from negative IMAP responses
2016-07-05 02:50:25 +02:00
Vincent Breitmoser
4d3bc41c0a unfold+decode header value in getContentType() and getDisposition() 2016-07-01 18:40:48 +02:00
Vincent Breitmoser
240c5c8ea8 messageview: support mutt's application/pgp mimetype for pgp/inline messages (fixes #1271) 2016-06-30 10:49:04 +02:00
Vincent Breitmoser
b73805c598 first steps towards primary-part-centered MessageViewInfo structure
This most importantly means moving away from the find*Parts family of
methods in MessageDecryptVerifier. at the moment, the initial detection
of parts to process in MessageCryptoHelper still uses the old methods,
which are strictly more inclusive about what is processed.
2016-06-30 10:49:04 +02:00
cketti
4e7f081396 Fix extracting alert text from negative IMAP responses 2016-06-28 00:36:05 +02:00
cketti
90e3a337d4 Alternate approach to fixing MessageTest 2016-06-25 05:09:35 +02:00
Richard Neish
df877fb470 Fix failing com.fsck.k9.mail.MessageTest 2016-06-24 23:00:39 +01:00
cketti
eca66c1a34 Don't load Gradle plugins for code quality during development 2016-05-28 15:18:11 +02:00
cketti
1eb0ef4a6b Merge pull request #1390
Fix reply to all, and some refactorings for initFromReplyTo
2016-05-21 00:00:37 +02:00
cketti
7e829bbfb7 Fix test instead of adding null check to ListHeaders 2016-05-20 23:39:55 +02:00
Vincent Breitmoser
43899da77c same signature to get replyTo and replyToAll addresses in ReplyToParser 2016-05-20 11:26:13 +02:00
cketti
2e480e7463 Merge pull request #1355 from philipwhiuk/webDavSubFolders
Fetch sub-folders when fetching folder list for WebDAV
2016-05-19 19:34:20 +02:00
cketti
120c72a0fc Merge pull request #1386 from k9mail/download-messagebody
Fetch message on view if body unavailable
2016-05-19 15:18:31 +02:00
Vincent Breitmoser
e3593a14bf ensure that multipart/* parts always have a non-null boundary field 2016-05-19 14:56:40 +02:00
cketti
af0c8aab75 Merge pull request #1337 from k9mail/webDavPollingFix
WebDav polling fix
2016-05-19 14:51:31 +02:00
Vincent Breitmoser
b7e668cc61 allow null-parameters in MessageExtractor.findViewablesAndAttachments 2016-05-19 14:27:58 +02:00
Vincent Breitmoser
e57c82238d some refactorings for Message*Extractor classes
This commit contains no semantic changes. One significant change is the
return type of MessageExtractor.findViewablesAndAttachments, which was
changed from a mixed return type (viewables as return value, attachments
as output parameter) to two output parameters, both for consistency and
performance.
2016-05-19 14:27:55 +02:00
Vincent Breitmoser
8d631fd905 compose: small refactorings for readability in RecipientPresenter 2016-05-17 15:52:16 +02:00
Vincent Breitmoser
7644abb142 messagingcontroller: optimize imports, remove unused parameter 2016-05-16 23:22:03 +02:00
Vincent
94b9da3d16 Merge pull request #1331 from k9mail/compose-mime-combined
PGP/INLINE and build in combined mime format
2016-05-13 14:44:40 +02:00
Vincent Breitmoser
b6f540bfd9 compose: apply transfer encoding *after* PGP/INLINE signing 2016-05-09 09:54:06 +02:00
Vincent Breitmoser
6064e814a9 add charset parameter only to text/* content-types 2016-05-09 09:54:06 +02:00
Philip Whitehouse
3c439d285c Add pkpass MIME type 2016-05-07 21:30:48 +01:00
Philip Whitehouse
58e24e2c9d Fetch sub-folders when fetching folder list for WebDAV 2016-05-06 01:25:16 +01:00
Philip Whitehouse
dfe3372447 WebDAV: Stop notifying of message retrieval when flags are fetched 2016-05-05 21:45:23 +01:00
Vincent Breitmoser
e92bb14d0b compose: save inline mode setting as flag for drafts 2016-05-03 21:24:10 +02:00
cketti
e7d7b3f15c Don't reuse connection after exception in ImapFolderPusher 2016-05-01 04:24:37 +02:00
cketti
9240e25921 Merge pull request #1316 from philipwhiuk/webDavFixes
WebDAV fixes
2016-04-29 03:16:57 +02:00
Philip Whitehouse
969a66489c Improving test coverage of Folder and Store 2016-04-22 20:11:40 +01:00
Vincent Breitmoser
8c4fcaec4b fts: working fts, first iteration 2016-04-22 13:22:17 +02:00
Vincent Breitmoser
126a75c12f use BoundedInputStream to limit checked preview length 2016-04-22 13:22:17 +02:00
cketti
3d34d24a70 Merge pull request #1300 from k9mail/prevent_ImapConnection_reuse
Prevent ImapConnection reuse
2016-04-21 21:42:56 +02:00
ligi
e7d022de30 Add test for Address quotation and fix javadoc 2016-04-20 04:56:59 +02:00
ligi
6f26ac6caa Add support-annotations 2016-04-20 04:41:49 +02:00
cketti
aa084b93e5 Rename ImapConnection.isOpen() to isConnected() 2016-04-18 03:55:35 +02:00
cketti
d7cc579391 Don't allow ImapConnection to be opened twice 2016-04-18 03:24:23 +02:00
cketti
f65b95a0cb Throw if ImapConnection.open() is called after it has been closed 2016-04-18 00:55:01 +02:00
cketti
1cd4d87068 Apply current code style 2016-04-16 20:52:14 +02:00
Philip Whitehouse
af7e0ac4cb Close underlying streams 2016-04-16 20:46:37 +02:00
cketti
78715ed29f Merge pull request #1248 from k9mail/GH-879_notify_on_authentication_failure
Notify user on authentication failure
2016-04-11 22:57:00 +02:00
cketti
3840b875f5 Merge pull request #1260 from k9mail/optionalSizeParam
Size extension parameter is optional - ignore null/empty value
2016-04-09 10:51:40 +02:00
cketti
1c5a343fa8 Merge pull request #1211
Refactor and add tests for MessageExtractor.getTextFromPart()
2016-04-09 10:25:37 +02:00
cketti
7c05e0c592 Clean up MessageExtractorTest 2016-04-09 10:07:39 +02:00
Philip Whitehouse
8f0b7b5059 Refactor size parameter code 2016-04-08 21:05:40 +01:00
cketti
9393b34809 Merge pull request #1263 from k9mail/gh-1261-stopCrashOnBadMimeData
Better handling of bad MIME messages
2016-04-08 15:20:57 +02:00
cketti
c7562a9ff2 Merge pull request #1197
Add debugging for when file I/O fails
2016-04-08 12:53:43 +02:00
cketti
35c8ef2a37 Code style fixes 2016-04-08 12:51:20 +02:00
Philip Whitehouse
48097d6bb9 Stop throwing Errors everywhere 2016-04-06 00:51:53 +01:00
Philip Whitehouse
d4204689de Size extension parameter is optional - ignore null/empty value 2016-04-05 20:47:16 +01:00
cketti
a1d8c8a393 Stop ImapFolderPusher when authentication fails 2016-04-01 23:14:30 +02:00
Philip Whitehouse
3ba421b07e Refactor and add tests for MessageExtractor.getTextFromPart 2016-03-24 11:45:53 +00:00
cketti
9bacb2d5bc Merge pull request #1196
Testing improvements for various components
2016-03-24 09:16:02 +01:00
cketti
f6b32f2983 Code cleanup 2016-03-24 09:12:48 +01:00
Philip Whitehouse
36ba10ebc8 New testing of WebDavStore and SmtpTransport 2016-03-24 05:42:41 +01:00
Philip Whitehouse
e8af6a89ec Fix example 2016-03-24 05:42:41 +01:00
Philip Whitehouse
8ffd250f47 Add test coverage to POP3 store and Account Creator. Document some area to improve 2016-03-24 05:42:41 +01:00
cketti
1463bbb5f8 Merge pull request #1149
Add support for List-Post header
2016-03-23 04:47:49 +01:00
cketti
95b6f44ab9 Avoid ParseException by only passing mailto URIs to MailTo.parse() 2016-03-23 04:46:36 +01:00
cketti
2dd689d1a6 Refactor/clean up code 2016-03-23 04:46:36 +01:00
Philip Whitehouse
2e33e0dd94 Add functionality for using List-Post as an option for replying to emails 2016-03-23 04:46:36 +01:00
Philip Whitehouse
a602b63224 Fix lots more un-checked values 2016-03-21 16:47:01 +00:00
Philip Whitehouse
4a095089be Use strict hostname verification 2016-03-14 22:15:33 +01:00
Philip Whitehouse
95da33d226 Add tests for unusual email formats 2016-03-14 07:19:59 +00:00
Philip Whitehouse
5cd5b5fc55 Improving the WebDAV fetchMessage code and testing of it 2016-03-10 01:04:28 +00:00
Philip Whitehouse
9e67555407 Tests for WebDavMessage 2016-03-10 01:04:28 +00:00
Philip Whitehouse
1970b3f333 Create test infrastructure for WebDavMessage 2016-03-10 01:04:28 +00:00
Philip Whitehouse
aa602643d3 Add comment for future work 2016-03-10 01:04:27 +00:00
Philip Whitehouse
5ca1fd4575 Adding tests similar to those on ImapFolder to WebDavFolder 2016-03-10 01:04:27 +00:00
Philip Whitehouse
6daa513704 Improving test coverage of WebDAV 2016-03-10 01:04:27 +00:00
Philip
42da31c3b9 Rename WebDavHTTPClient.java to WebDavHttpClient.java 2016-03-10 01:04:27 +00:00
Philip Whitehouse
60a4cc7efa Extract another class 2016-03-10 01:04:27 +00:00
Philip Whitehouse
044564f843 Clean up prior to submitting a PR 2016-03-10 01:04:27 +00:00
Philip Whitehouse
2137e8bc68 Fix another bug with synchronizing messages 2016-03-10 01:04:26 +00:00
Philip Whitehouse
950dad02db Refactoring of WebDAV code 2016-03-10 01:04:08 +00:00
Philip Whitehouse
2bc92441e9 Fix bug fetching flags and envelopes 2016-03-10 00:34:58 +00:00
Philip Whitehouse
b12c048190 Support binary encoding 2016-03-05 14:46:05 +00:00
cketti
14054ec977 Avoid ClassCastException in ImapResponseParser
Fixes #811
2016-03-02 23:21:57 +01:00
cketti
a349398f4f Explicitly set time zone when testing date formatting
This should fix the test failure on CloudBees.
2016-02-27 07:13:34 +01:00
Vincent
f99dd61bc4 Merge pull request #1098 from k9mail/imap_store_refactoring
Refactor ImapStore
2016-02-26 14:40:55 +01:00
cketti
07c5f0ffba Use ThreadLocal for RFC3501_DATE
… instead of serializing access to one single SimpleDateFormat instance.
2016-02-24 11:34:03 +01:00
cketti
126a8766d6 Avoid incrementing field inside expression 2016-02-24 11:08:34 +01:00
cketti
f88a915a5d Don't hang on to ImapConnection for too long 2016-02-18 00:28:43 +01:00
cketti
ca4a6b6cfc Close connection when IDLE command fails 2016-02-17 20:14:01 +01:00
cketti
200ee27980 Don't hold 'connections' monitor while checking retrieved connection 2016-02-17 20:04:08 +01:00
cketti
66930c0081 Merge pull request #1048 from k9mail/mime-migration
Migrate old messages to new mime format
2016-02-13 01:25:17 +01:00
cketti
b34f3ad669 Make sure ImapFolderPusher is not started or stopped twice 2016-02-12 06:27:14 +01:00
cketti
01a14b9f1f Synchronize access to storedUntaggedResponses 2016-02-12 06:13:03 +01:00
cketti
41ca6b7899 Use volatile booleans for 'stop' and 'idling'
We don't use compound actions that would need to be protected.
2016-02-12 05:57:09 +01:00
cketti
42e07d0355 Move fields that are only used by listener thread into PushRunnable
Also, there's no need for them to use Atomic* instances.
2016-02-12 05:52:17 +01:00
cketti
b8957f6fee Move all messages that are only called from listener thread into PushRunnable 2016-02-12 05:44:49 +01:00
cketti
ca4e6c2139 Remove unnecessary method 2016-02-12 05:36:19 +01:00
cketti
1db9fc169e Make wakeLock final 2016-02-12 05:30:00 +01:00
cketti
af941396bc Make sure that stopping, then starting ImapPusher is atomic 2016-02-12 04:11:48 +01:00
cketti
2c5bcac66f Exclude CRLF when logging sent commands
Android Studio 2.0 beta 3 skips those log messages in its logcat view.
2016-02-11 23:55:02 +01:00
cketti
1d52a357a6 Make sure DONE continuation is only sent at appropriate times 2016-02-11 21:53:17 +01:00
cketti
690693a21c Synchronize access to listeningThread 2016-02-11 00:00:47 +01:00
cketti
23d4c3fd68 Reorder methods 2016-02-10 23:55:59 +01:00
cketti
51723e46ca Extract methods to make the code a bit more readable 2016-02-10 00:06:47 +01:00
cketti
4a80ab6aa3 Extract Push thread code to named inner class 2016-02-09 22:38:30 +01:00
cketti
6b4da35035 Remove unnecessary variable increment 2016-02-09 22:33:11 +01:00
cketti
5b58aac748 Remove unnecessary local variable 2016-02-09 22:28:21 +01:00
cketti
39c4cf3218 Code style fixes and minor cleanup 2016-02-09 22:25:37 +01:00
cketti
54963b6e1e Extract code to encode/decode folder names to FolderNameCodec 2016-02-09 21:41:55 +01:00
cketti
d1cbac47b1 Remove now unused methods from remote Folder subclasses 2016-02-09 19:03:12 +01:00
cketti
ab1e5ce691 Remove LocalFolder-specific methods from Folder 2016-02-09 18:53:59 +01:00
cketti
61e0df5513 Extract code to parse SEARCH response to SearchResponse 2016-02-09 18:24:56 +01:00
cketti
51ab4d23dc Extract code to parse COPYUID response to CopyUidResponse 2016-02-09 18:21:35 +01:00
cketti
ed7221be03 Extract code to parse SELECT/EXAMINE response to SelectOrExamineResponse 2016-02-09 18:21:07 +01:00
cketti
ef82fe9df1 Extract code to parse PERMANENTFLAGS to PermanentFlagsResponse 2016-02-09 17:37:29 +01:00
cketti
7875b4e99d Tidy up return type of getMessagesFromUids() 2016-02-09 05:01:04 +01:00
cketti
60da56fa7a Inline constant arguments for getMessagesFromUids() 2016-02-09 05:00:07 +01:00
cketti
a4072d30e5 Code style fixes and minor code cleanup 2016-02-09 04:54:05 +01:00
cketti
d9f8d86ff4 Add unit tests for ImapFolder 2016-02-09 03:48:10 +01:00
cketti
877ad2aa72 [WIP] Add unit tests for ImapFolder 2016-02-09 02:08:01 +01:00
cketti
f1bc2b4f21 Reduce visibility of some methods in ImapFolder 2016-02-04 02:11:13 +01:00
cketti
1f766b6919 Avoid unnecessary creation of ImapFolder instances 2016-02-03 22:09:49 +01:00
cketti
d8cd58e42b Move encodeString() from ImapStore to ImapUtility 2016-02-03 21:53:14 +01:00
cketti
e562c4bd5e Move RFC3501_DATE constant to ImapFolder 2016-02-03 21:51:42 +01:00
cketti
2f9a427b22 Code style fixes 2016-02-03 21:33:50 +01:00
cketti
ad1e2caa9c Extract code to encode/decode ImapStore URIs 2016-02-03 20:54:51 +01:00
cketti
06ee1ff1b9 Move url encoding/decoding functionality from Store to UrlEncodingHelper 2016-02-03 20:37:29 +01:00
cketti
d9797d02bf Also use special LIST path in ImapResponseParser for LSUB response 2016-02-03 20:16:43 +01:00
cketti
d0f4ab84fc Extract LIST response parsing to ListResponse 2016-02-03 20:08:43 +01:00
cketti
13663dbc1d Remove support for Gmail-specific XLIST command
Nowadays Google implements RFC 6154 and XLIST was deprecated in 2013.
2016-02-03 19:52:57 +01:00
cketti
2d887b31ac Add unit tests for ImapStore 2016-02-02 19:02:31 +01:00
cketti
7f3fc84c11 Extract helper method to ImapResponseHelper 2016-02-02 19:02:31 +01:00
cketti
bbf6a07e94 Extract ImapStoreSettings from ImapStore 2016-02-02 19:02:31 +01:00
cketti
0c31ed9119 Get rid of ImapFolderPusher caching mechanism
start() will never reuse ImapFolderPusher instances because stop() is called
unconditionally, and that will clear the "cache".
2016-02-02 19:02:31 +01:00
cketti
5cd64dc241 Code style fixes in ImapPusher 2016-02-02 19:02:30 +01:00
cketti
ee25de07db Add unit tests for ImapPusher 2016-02-02 19:02:30 +01:00
cketti
7b5e5bc223 Refactor ImapPushState
The old code supported a more complex input argument format. But as far as I
can tell this "feature" was  never used.
2016-02-02 19:02:30 +01:00
cketti
619ab8629d Add unit tests for ImapPushState 2016-02-02 19:02:30 +01:00
cketti
a7f53f0c3b Extract ImapSearcher from ImapStore 2016-02-02 19:02:30 +01:00
cketti
caca473465 Extract ImapPusher from ImapStore 2016-02-02 19:02:30 +01:00