Commit graph

220 commits

Author SHA1 Message Date
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
cketti
b092ab0f5b Make ImapPusher as static class 2016-02-02 19:02:30 +01:00
cketti
62befc0c9c Extract ImapMessage from ImapStore 2016-02-02 19:02:30 +01:00
cketti
fb1d0ad533 Extract ImapPushState from ImapStore 2016-02-02 19:02:30 +01:00
cketti
6dd220cc5a Extract ImapFolderPusher from ImapStore 2016-02-02 19:02:30 +01:00
cketti
973b674cf2 Make ImapFolderPusher a static class 2016-02-02 19:02:30 +01:00
cketti
e1a2c68d56 Extract ImapFolder from ImapStore 2016-02-02 19:02:30 +01:00
cketti
3aa80f3ce1 Make ImapFolder a static class 2016-02-02 19:02:30 +01:00
cketti
d3391ae135 Fix test flakiness 2016-02-02 18:55:08 +01:00
cketti
9dc267f56d Make classes package-private 2016-02-01 20:30:33 +01:00
cketti
96f99f6e1c Extract CAPABILITY response parsing to CapabilityResponse 2016-02-01 20:30:33 +01:00
cketti
bc5069bfac Extract NAMESPACE response parsing to NamespaceResponse 2016-02-01 20:30:33 +01:00
cketti
0dbfa5ab9d Extract command/capability/response constants 2016-02-01 20:30:33 +01:00
cketti
6859eef35a Be more specific by using NegativeImapResponseException in some cases 2016-02-01 20:30:33 +01:00
cketti
9b5a3bfff3 Rename ImapException to NegativeImapResponseException 2016-02-01 20:30:33 +01:00
cketti
c427f6df26 Extract methods to make ImapConnection.open() more readable 2016-02-01 20:30:33 +01:00
cketti
c4a4a3bb16 Get rid of ImapConnection.getCapabilities() 2016-02-01 20:30:33 +01:00
cketti
cf718c6380 Reorder methods 2016-02-01 20:30:33 +01:00
cketti
37fbbb0b21 Make internal methods private 2016-02-01 20:30:32 +01:00
cketti
c4d62b13d0 Code style fixes 2016-02-01 20:30:32 +01:00
cketti
5fb5e011b7 Merge pull request #1052 from k9mail/imap_connection_tests
Add unit tests for ImapConnection
2016-02-01 20:29:38 +01:00
cketti
cf92ccaae5 Remove test that no longer compiles 2016-02-01 20:00:37 +01:00
cketti
a76f7e8f7e Fix support for capabilities in initial response 2016-01-29 17:40:06 +01:00
cketti
7887c23bef Don't swallow IOExceptions leaving the connection open 2016-01-29 17:40:06 +01:00
cketti
0a80335ba7 Use lower socket timeouts for tests 2016-01-29 17:40:06 +01:00
cketti
21204f8bec Add tests for ImapConnection 2016-01-29 17:39:49 +01:00
Vincent Breitmoser
b6e3587aeb migration: add MIGRATED_FROM_V50 flag 2016-01-28 22:40:56 +01:00
Vincent Breitmoser
cad01ab5b2 migration: first steps for migration 2016-01-28 22:37:24 +01:00
cketti
d81b2031e5 Merge pull request #1030 from k9mail/localfolder-cleanup
Break migration down into methods, clean up some warnings in mailstore
2016-01-24 02:36:20 +01:00
Vincent Breitmoser
ac83b0062d break migration down into methods, clean up some warnings in mailstore 2016-01-22 15:48:52 +01:00
Vincent Breitmoser
bb8a9e8994 compose: work on SignSafeOutputStream 2016-01-20 21:27:25 +01:00
alexandre
90c6b666c8 RFC-2015 : further encode text quoted-printable to be sign safe #572 #576 2016-01-20 21:27:25 +01:00
alexandre
e70b5076c6 add parameters to Content-Type header #572 2016-01-20 21:27:25 +01:00
cketti
93df7525c4 Merge pull request #1021
Enable syncing while idle on Android M devices
2016-01-15 10:49:48 +01:00
TETRA2000
deff0ce80d update to API 23 2016-01-15 08:11:05 +09:00
Maximilian Mehnert
0366633ff8 replace saslAuthPlain() with saslAuthPlainWithLoginFallback()
Microsoft Exchange Server and probably others need this in some cases.
closes k9mail/k-9#899
2016-01-12 01:18:21 +01:00
cketti
2055e42933 Don't abort on Lint errors 2015-12-22 18:13:05 +01:00
cketti
b202661e62 Set sourceCompatibility and targetCompatibility to JavaVersion.VERSION_1_7 2015-12-22 17:54:57 +01:00
cketti
49d239af56 Remove targetSdkVersion from k9mail-library 2015-12-22 17:54:57 +01:00
cketti
c69b7400f8 Update to Robolectric 3.0 2015-12-22 17:54:57 +01:00
cketti
ff18f9b3f8 Update test dependencies 2015-12-22 17:54:57 +01:00
cketti
e8d16722ed Update build tools to 23.0.1 2015-12-22 17:54:57 +01:00
cketti
c34b9b5ad7 Increase compileSdkVersion to 22 2015-12-22 17:54:02 +01:00