Commit Graph

249 Commits

Author SHA1 Message Date
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