Commit graph

1405 commits

Author SHA1 Message Date
cketti
5d3cdc2724 Remove unused variable 2015-02-09 19:44:33 +01:00
cketti
bb3f84fda6 Move MessageCryptoAnnotations to upper level 2015-02-09 19:43:23 +01:00
cketti
d301efea58 Move MessageCryptoHelper 2015-02-09 19:37:46 +01:00
cketti
3a527cbcf6 Decouple MessageCryptoHelper from MessageViewFragment 2015-02-09 19:35:53 +01:00
cketti
948cb971ad Rename method
Since the crypto code no longer lives in MessageViewFragment it shouldn't
make references to what happens after its work is done.
2015-02-09 19:05:56 +01:00
cketti
5c036e2991 Simplify control flow 2015-02-09 19:05:45 +01:00
cketti
26eb1f52e5 Don't attempt to verify/decrypt if no crypto provider is configured 2015-02-06 23:26:46 +01:00
cketti
b515e947cf Fix typo 2015-02-06 23:12:26 +01:00
cketti
ee1180e34c Use Part from MessageViewContainer for K9WebViewClient
Now K9WebViewClient can find encrypted attachments referenced by Content-ID.
2015-02-06 20:11:58 +01:00
cketti
cadac6dd89 Add reference to root part to MessageViewContainer 2015-02-06 20:04:03 +01:00
cketti
49c4115e46 Refactor code; no functional changes 2015-02-06 20:01:14 +01:00
cketti
3377e50352 Fix code style 2015-02-06 19:57:30 +01:00
cketti
fce12b2450 Remove unused constructor 2015-02-06 19:53:39 +01:00
cketti
1a20ca06f1 Handle "cid:" URIs in HTML message body 2015-02-06 18:31:26 +01:00
cketti
80221dace8 Mark DownloadImageTask as deprecated 2015-02-04 21:43:45 +01:00
cketti
1f27897679 Extract methods to make code more readable 2015-02-04 21:42:09 +01:00
cketti
5175ff9df4 Extract method 2015-02-04 21:17:54 +01:00
cketti
9814442de4 Extract constant for default file name 2015-02-04 21:16:08 +01:00
cketti
36abde2c0b Extract method 2015-02-04 21:14:04 +01:00
cketti
937ca7e17a Move inner class DownloadImageTask to upper level 2015-02-04 21:07:54 +01:00
cketti
d7da286098 Remove unused imports 2015-02-04 21:03:25 +01:00
cketti
0241001c63 Display attachment size for decrypted parts 2015-02-01 05:41:40 +01:00
cketti
19db6c703b Don't display -1 as attachment size 2015-02-01 04:24:02 +01:00
cketti
474efa1831 Fix NullPointerExceptions introduced by conditionally inflating the crypto layout 2015-02-01 00:21:52 +01:00
Vincent Breitmoser
dc8fd39c7e move crypto data into an annotation structure, and fix pgp/inline
note that we currently lack proper confirmation about whether data was
actually decrypted or not, so for now we always assume it wasn't
2015-01-30 16:16:11 +01:00
Vincent Breitmoser
4bec165fdc preliminary support for pgp/inline 2015-01-30 16:11:57 +01:00
cketti
de8da4dab4 Write decrypted bodies to temporary files
Use FileProvider to be able to open decrypted attachments
2015-01-30 14:27:33 +01:00
Vincent Breitmoser
0374dc9cb1 display pendingIntent button when there is a pendingIntent only 2015-01-30 11:30:36 +01:00
Vincent Breitmoser
a0b4faf688 pass OpenPgpError to display, delete old layout 2015-01-30 10:55:06 +01:00
Vincent Breitmoser
d57f6c0ed5 buffer data after decryption before mime parsing 2015-01-30 10:34:46 +01:00
Vincent Breitmoser
3077e6a2d7 close piped streams after use 2015-01-29 20:24:59 +01:00
cketti
0a07250417 Fix class name 2015-01-29 20:07:30 +01:00
Vincent Breitmoser
d678ccc160 extract crypto methods from MessageViewFragment into MessageCryptoHelper 2015-01-29 20:00:28 +01:00
Vincent Breitmoser
00b7b74878 pass pendingIntent, and some refactoring 2015-01-29 19:27:48 +01:00
Vincent Breitmoser
712acf4481 early support for detached signatures 2015-01-29 19:01:44 +01:00
cketti
38d3564c57 Merge pull request #537 2015-01-29 17:48:28 +01:00
cketti
41ac5a9fed Fix indentation 2015-01-29 17:47:37 +01:00
cketti
edf75a32d8 Fix LocalMessageExtractorTest 2015-01-29 17:41:46 +01:00
cketti
8627e65cab Merge pull request #536 from ligi/ligi/refactor/pgp_utils
Test & refactor OpenPgpUtils
2015-01-29 17:32:59 +01:00
cketti
fed15a01e5 Merge branch 'store_decryption_result' into pgp_mime_preparations
Conflicts:
	k9mail/src/main/java/com/fsck/k9/mailstore/LocalMessageExtractor.java
2015-01-29 16:43:50 +01:00
ligi
033c1502db Reduce LOC even more 2015-01-29 16:43:45 +01:00
ligi
a51b608e5e Reduce MessageCompos LOC 2015-01-29 16:36:15 +01:00
ligi
828a580eb8 Move this View out ( the hosting class is already too long with ~4000 Lines ..) 2015-01-29 16:30:01 +01:00
ligi
4075b72b72 Cleanup and Optimize ( no need to prepare some layout when it is never used ) 2015-01-29 16:24:44 +01:00
cketti
fbfa6d146f Pass OpenPgpSignatureResult to LocalMessageExtractor 2015-01-29 16:16:29 +01:00
Vincent Breitmoser
ba79779758 break message into multiple MessageViewContainers 2015-01-29 16:10:03 +01:00
cketti
9e47686277 Code style fixes 2015-01-29 15:24:06 +01:00
cketti
7b67d054a4 Don't save reference to multipart/encrypted "root" in decrypted parts 2015-01-29 15:16:59 +01:00
Vincent Breitmoser
1046308a38 converge threads after decryption, and handle PendingIntents 2015-01-29 12:57:04 +01:00
ligi
4bc9d94831 Test & Refactor OpenPgpUtils 2015-01-29 12:30:19 +01:00
Vincent Breitmoser
bcd570f884 always show OpenPgpHeader if crypto-provider is set 2015-01-28 18:11:51 +01:00
cketti
4827b4c437 Merge pull request #535 2015-01-28 17:42:34 +01:00
cketti
7f811fce2c First attempt at decrypting PGP/MIME messages 2015-01-28 17:24:05 +01:00
Dominik Schürmann
6f156498ed Callback to execute signature button click 2015-01-28 15:40:19 +01:00
cketti
bb83fdc0e8 Add support for loading parts with DataLocation.ON_DISK 2015-01-28 15:29:49 +01:00
Dominik Schürmann
fdc597aadf Display signer name and email 2015-01-28 15:22:38 +01:00
Dominik Schürmann
d112344780 Smaller sidebar 2015-01-28 15:09:19 +01:00
Dominik Schürmann
28e9c2a8ec Merge remote-tracking branch 'vincent/pgp_mime_preparations' into pgp_mime_preparations_view 2015-01-28 14:55:51 +01:00
Dominik Schürmann
d46d355f69 OpenPGP status texts and sidebar improvements 2015-01-28 14:54:43 +01:00
Vincent Breitmoser
cced35b3b8 parse MessageViewContainers from Parts (from dummy mime structure) 2015-01-28 14:35:18 +01:00
Dominik Schürmann
e513af9529 Sidebar 2015-01-28 12:26:34 +01:00
Dominik Schürmann
b781ace4fa OpenPGP header and sidebar tests 2015-01-28 11:30:29 +01:00
Dominik Schürmann
4c78d12fc6 Merge remote-tracking branch 'vincent/pgp_mime_preparations' into pgp_mime_preparations_view
Conflicts:
	k9mail/src/main/java/com/fsck/k9/ui/messageview/MessageContainerView.java
2015-01-28 09:31:11 +01:00
Dominik Schürmann
e3fef1af98 Work on new pgp header 2015-01-27 17:50:40 +01:00
Vincent Breitmoser
581d32acd6 show attachments inline 2015-01-27 17:33:50 +01:00
Vincent Breitmoser
445c978f31 extract header view for multiple MessageContainerViews (intermediate state) 2015-01-27 16:48:33 +01:00
Vincent Breitmoser
29ad0f0f99 rename SingleMessageView to MessageContainerView 2015-01-27 16:42:31 +01:00
Vincent Breitmoser
40b6228756 new MessageViewInfo structure (with transitional methods) 2015-01-27 12:55:47 +01:00
cketti
d92be22ce3 Merge branch 'master' into pgp_mime_decrypt 2015-01-27 12:44:08 +01:00
cketti
74fdbb7859 Update openpgp-api-library to latest version 2015-01-27 12:15:47 +01:00
cketti
8f7f656355 Add method to find multipart/encrypted parts 2015-01-26 20:37:27 +01:00
cketti
0e03f262b3 Make sure to close underlying InputStream after decoding attachments 2015-01-25 20:06:29 +01:00
cketti
378acbd313 Write large message parts to file system
Actually, we just move the temporary file to avoid having to copy the
data to a new file.
2015-01-25 19:25:00 +01:00
cketti
977d15c190 Refactor to improve readability 2015-01-23 15:08:56 +01:00
cketti
6825eafb87 Make column 'message_parts.data' a BLOB 2015-01-23 14:41:29 +01:00
cketti
564e2432e1 Get size of decoded body content when saving
Before downloading we show the encoded size of attachments. After download we
strip the transport encoding to find out the size of the decoded content.
2015-01-23 03:58:06 +01:00
cketti
d2d85393d3 Save attachment count 2015-01-22 06:12:26 +01:00
cketti
5e4743bf66 Extract preview of message text 2015-01-22 05:18:50 +01:00
cketti
64e92ab1c1 Remove unused LocalAttachment* classes 2015-01-22 04:18:20 +01:00
cketti
c9b2ec533c Add MessagePreviewExtractor 2015-01-21 01:21:02 +01:00
cketti
23c9398c03 Merge branch 'master' into pgp_mime_preparations
Conflicts:
	k9mail/src/androidTest/java/com/fsck/k9/mailstore/LocalMessageTest.java
2015-01-20 18:35:07 +01:00
cketti
395b70fa22 Remove unused code 2015-01-20 16:37:30 +01:00
cketti
da51bdf1b3 Save attachments in background thread 2015-01-19 23:35:14 +01:00
cketti
a7b16c1210 Refresh thumbnail after downloading attachment 2015-01-19 23:08:41 +01:00
cketti
9363c5b276 Download missing parts before viewing or saving 2015-01-19 22:37:15 +01:00
cketti
585d9cbe7f Fix "Download complete message" 2015-01-18 01:33:50 +01:00
cketti
1e628e7177 Reduce exposure of SingleMessageView internals 2015-01-16 23:37:37 +01:00
cketti
658657447e Fix viewing attachment with alternative MIME type 2015-01-16 23:37:37 +01:00
cketti
de2eb25446 Use Glide for thumbnail generation + image loading 2015-01-16 23:37:37 +01:00
cketti
cb94b5b192 Store attachment information in LocalBodyPart 2015-01-16 05:05:11 +01:00
cketti
ac365567ee Replace dummy URI in AttachmentViewInfo instances
This is a first step towards fixing viewing of attachments.
2015-01-16 00:12:47 +01:00
cketti
41bd420213 Include database ID in message parts reconstructed from the database 2015-01-15 23:48:11 +01:00
cketti
8fce9e3654 Move functionality from AttachmentView to AttachmentController 2015-01-15 11:37:23 +01:00
cketti
087238f507 Move AttachmentView to 'messageview' package 2015-01-15 08:25:43 +01:00
cketti
2e05127c97 Use a Loader to extract text of a message in a background thread 2015-01-14 09:58:31 +01:00
Jan Berkel
ecd316d0af Simplify ImapConnection#connect 2015-01-14 04:41:21 +01:00
Jan Berkel
9523a589fc use @Test(expected = 2015-01-14 04:31:36 +01:00
Jan Berkel
c79256684d simplify gradle config 2015-01-14 04:31:32 +01:00
Jan Berkel
dfb025033d Convert remaining tests to JUnit4 2015-01-14 04:05:42 +01:00
Jan Berkel
4808406739 Make deleteCertificate null-safe 2015-01-14 03:45:09 +01:00
Jan Berkel
833d9c5de8 Base class is already annotated 2015-01-14 03:34:57 +01:00
Jan Berkel
79b03b5e4f Remove account after creation
* Avoid side-effects in static preferences which might interfere with other tests
2015-01-14 03:30:38 +01:00
Jan Berkel
4e964e271c Convert to JUnit4 test 2015-01-14 03:09:48 +01:00
Jan Berkel
0153766dd5 Convert to JUnit4 2015-01-14 03:09:00 +01:00
Jan Berkel
0f312f012e Create test mailboxes 2015-01-14 03:08:44 +01:00
Jan Berkel
055d4104b7 log ChangeLog click failure 2015-01-13 16:12:39 +01:00
Jan Berkel
a15583a080 Start server early 2015-01-13 15:52:31 +01:00
Jan Berkel
bdbe976396 Test connection w/o server 2015-01-13 10:09:42 +01:00
Jan Berkel
e98f323222 Initialize settings in setUp() 2015-01-13 10:05:15 +01:00
Jan Berkel
f7da704007 WS 2015-01-13 09:34:13 +01:00
cketti
78ed2a23b1 Use a Loader to load the message to view from the database 2015-01-13 04:17:25 +01:00
Jan Berkel
60070b7883 Add more tests + descriptive names 2015-01-13 01:59:51 +01:00
Jan Berkel
111212b391 Setup and tear down server between tests 2015-01-13 01:11:09 +01:00
Jan Berkel
7958467503 Convert from thread to AsyncTask for espresso tests 2015-01-13 01:11:09 +01:00
Jan Berkel
b481d3f978 Adding tests for IMAP connection, use greenmail snapshot 2015-01-13 01:10:56 +01:00
cketti
787c014265 Create new package for UI code related to message viewing 2015-01-12 22:46:56 +01:00
cketti
1bf159a300 Get rid of unused LocalTextBody 2015-01-12 22:09:55 +01:00
cketti
bcd64017e3 Extract text to display before viewing the message 2015-01-12 21:52:44 +01:00
cketti
63abf05776 Sanitize HTML to remove meta refresh
Using
  <meta http-equiv="Refresh" content="1; URL=http://example.com/">
in a HTML message causes WebView to load the URL in the default browser.
Overriding WebViewClient.shouldOverrideUrlLoading() allows us to cancel
loading this URL. Sadly, I found no way to find out whether the method was
called because of a meta refresh or because the user clicked on a link.

So now we're using HtmlCleaner to parse the HTML and remove all "meta" elements
containing an "http-equiv" attribute with a value of "refresh".
2015-01-11 11:29:53 +01:00
cketti
2532362ed5 Add test for updating a message with a missing part 2015-01-10 04:39:02 +01:00
cketti
bd97004ebd Fix downloading/saving single message parts 2015-01-10 04:38:57 +01:00
cketti
743e640d8c Remove references to 'text_content' and 'html_content' 2015-01-10 01:22:39 +01:00
cketti
ce862c88f8 Change AttachmentProvider to use the new database structure 2015-01-07 02:34:44 +01:00
cketti
e5f0bec6bc Get rid of "backward compatibility" in AttachmentProvider 2015-01-07 00:16:37 +01:00
cketti
c5ba202a56 Code style fixes 2015-01-07 00:13:28 +01:00
cketti
34b5d56ab1 Get rid of 'attachments' table 2015-01-06 23:59:58 +01:00
cketti
1a5ecfea1d Also delete local messages when using "clear messages" on an account
We have been throwing away all attachments already, so it doesn't make
too much sense to keep local messages. And when we're not keeping local
messages we can remove all entries from the 'threads' table.
2015-01-06 23:48:22 +01:00
cketti
30e37000f9 Remove remnants of the "headers" table 2015-01-06 21:36:31 +01:00
cketti
d7edb0ed4f Minimal version that reconstructs original message from the database
This change breaks all kinds of things, e.g.
- deleting messages
- updating messages
- downloading attachments
- deleting attachments
- searching in message bodies
2015-01-06 03:20:38 +01:00
cketti
523ebd0f2a Remove 'dirty' check for LocalMessage 2015-01-05 02:25:17 +01:00
cketti
3eb25a011f Don't automatically create Message-ID when none is found 2015-01-05 02:25:17 +01:00
cketti
abbad18283 Code style fixes 2015-01-05 00:45:05 +01:00
notfoss
4bc003e173 Add Zoho Mail (personal) to providers.xml
Added settings for Zoho Mail personal account (@zoho.com).
2015-01-03 16:43:01 +05:30
cketti
7b5c73b43c Add (failing) test for reconstructing a message from the database 2015-01-03 09:38:49 +01:00
cketti
ad8da49991 Remove unused code 2015-01-03 04:27:27 +01:00
cketti
b6315b15b0 Fix equals() method to work with all objects 2015-01-03 04:10:15 +01:00
cketti
6804ee04e3 Fix some MS_SHOULD_BE_FINAL Findbugs warnings 2015-01-03 03:51:47 +01:00
cketti
65d2de0fcc Fix bug caused by edge case of Math.abs() 2015-01-03 03:51:47 +01:00
cketti
928c7f33a3 Add missing hashCode() method to SearchCondition 2015-01-03 03:51:47 +01:00
cketti
b69bba01da Fix DM_BOXED_PRIMITIVE_FOR_PARSING findbugs warning 2015-01-03 02:02:54 +01:00
cketti
e2a9dd3042 Upgrade to Espresso 2.0 2015-01-02 23:43:46 +01:00
cketti
82736f3a8b Merge pull request #524 from k9mail/merge_pgp_mime_branch
Merge changes from PGP/MIME repository
2015-01-02 22:04:28 +01:00
Jan Berkel
78758714c2 Add testcase for #525 2014-12-31 00:43:28 +01:00
m0viefreak
e8c6a56fd2 Use correct sub-part of a multipart message when getting text.
946565347a passed 'this' to
getTextFromPart() which could be a multipart. This caused
all multipart messages to show 'No text' as the body.

Fix it by passing it the correct 'part' that was found.
2014-12-25 14:48:05 +01:00
cketti
704cb35d7e Fix Espresso tests 2014-12-22 23:52:34 +01:00
cketti
c96a11212e Update dependencies 2014-12-22 23:09:05 +01:00
cketti
6c172f94a1 Add missing global settings to settings export 2014-12-22 19:47:15 +01:00
Frank Du
c473ddc90a Make sure to keep font meta info on view recycling 2014-12-20 14:50:15 -08:00
cketti
4f8fc5bc5b Merge remote-tracking branch 'k9mail_pgp_mime/master'
Fixed lots of conflicts
2014-12-20 08:07:46 +01:00
cketti
52b3974c4f Run checkstyle and findbugs on k9mail-library 2014-12-20 01:49:09 +01:00
cketti
105bca735b Move 'mail' package to library project 2014-12-20 01:31:33 +01:00
Jan Berkel
6a24aca343 Move TracingPowerManager into mail package 2014-12-20 00:50:09 +01:00
cketti
9e7721ca62 Make ckChangeLog an external dependency 2014-12-20 00:33:00 +01:00
cketti
4d61a6407d Move lint configuration file into 'config' folder 2014-12-20 00:10:38 +01:00
cketti
1212f9d0f2 Move main application from root project to subproject 'k9mail' 2014-12-20 00:10:38 +01:00