Vincent Breitmoser
af5856d28f
avoid leaking data to MessagingController via MessageLoaderHelper after detach
...
null handling is already present: no ui methods should ever be called
after onDestroy or onDetachChangingConfigurations, and pending result
callbacks are handled by a null-check for the callback field.
2016-07-25 00:59:07 +02:00
Vincent Breitmoser
0993d91473
only care for our own MessageReference in MessageLoaderHelper
2016-07-25 00:59:07 +02:00
Vincent Breitmoser
471754241d
Merge pull request #1514 from k9mail/dont-trust-downloaded-flag
...
don't trust X_DOWNLOADED_FULL flag, consider messages with missing data incomplete (WIP)
2016-07-24 23:43:02 +02:00
Vincent Breitmoser
489cf354fd
don't pass LocalMessage from onMessageViewInfoLoadFinished/Failed
2016-07-24 23:40:12 +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
cketti
9c46f68b7f
Merge pull request #1515 from k9mail/hidden-attachments
...
Ditch "hidden attachments"
2016-07-24 22:54:32 +02:00
Vincent Breitmoser
b7bcaf8deb
rename firstClassAttachment to inlineAttachment (with reversed logic)
2016-07-24 22:08:16 +02:00
cketti
d8f5de0013
Merge pull request #1522 from k9mail/confirm-mark-all-as-read
...
Ask for confirmation on "mark all as read"
2016-07-24 21:59:17 +02:00
Vincent Breitmoser
a3ce1adf6e
only first class attachments should be actually displayed
2016-07-24 21:05:52 +02:00
Vincent Breitmoser
c1d57aa324
parts without name are still first class attachments
2016-07-24 21:05:13 +02:00
Vincent Breitmoser
bd925567e4
messageview: remove support for "hidden" attachments
2016-07-24 21:05:13 +02:00
Vincent Breitmoser
035aba1c1e
fix button to display hidden attachments
2016-07-24 21:05:13 +02:00
Vincent Breitmoser
7826febedb
Merge pull request #1511 from k9mail/sanitize-in-extract
...
Sanitize HTML in MessageViewExtractor instead of MessageWebView
2016-07-24 20:51:47 +02:00
Vincent Breitmoser
526448d18b
incorporate tests feedback
2016-07-24 20:51:37 +02:00
Vincent Breitmoser
773600c717
sanitize html in MessageViewInfoExtractor
...
also, inject HtmlSanitizer to keep MessageViewInfoExtractor testable and
pass Context through Globals
2016-07-24 20:51:37 +02:00
Vincent Breitmoser
65f2539e0b
move MessageViewInfoExtractorTest to unit tests
...
(Yes, I made sure these still run successfully!)
2016-07-24 20:50:35 +02:00
cketti
8df6a56a6f
Merge pull request #1521 from k9mail/attachment-count-encrypted
...
Set attachment count to zero for encrypted messages
2016-07-24 20:37:16 +02:00
cketti
8b1c13d697
Merge pull request #1520 from k9mail/recipient-view-longclick
...
compose: enable long click on recipient select view
2016-07-24 20:05:49 +02:00
cketti
807f0418d8
Merge pull request #1519 from k9mail/recipient-inject-loaderman
...
Inject LoaderManager to RecipientSelectView via presenter
2016-07-24 20:05:20 +02:00
cketti
2abcbf9ca2
Merge pull request #1512 from k9mail/use-mime4j-bodydescriptor
...
Use MIME4J's BodyDescriptor instead of reading Content-Type header ourselves
2016-07-24 18:45:52 +02:00
Vincent Breitmoser
c65f54d396
ask for confirmation on "mark all as read" ( closes #1509 )
2016-07-22 18:25:31 +02:00
Vincent Breitmoser
5c638dd205
use MessageDecryptVerifier methods in EncryptionDetector
2016-07-22 15:17:43 +02:00
Vincent Breitmoser
22b72a5824
don't count attachments in encrypted messages
2016-07-22 15:17:43 +02:00
Vincent Breitmoser
d1620f3fc7
compose: enable long click on recipient select view
...
this leads to some problems if more than one token is actually parsed.
however, for the common use case of parsing a single address, it seems
to work just fine, so this hopefully does more good than harm.
see also https://github.com/splitwise/TokenAutoComplete/issues/95
2016-07-22 15:12:58 +02:00
Vincent Breitmoser
034b1eda41
compose: inject loader manager to RecipientSelectView via presenter ( fixes #1251 )
...
Conflicts:
k9mail/src/main/java/com/fsck/k9/view/RecipientSelectView.java
2016-07-22 15:03:59 +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
19cd7b997e
add some @WorkerThread annotations
2016-07-18 15:38:21 +02:00
Vincent Breitmoser
9f58de5909
compose: use MessageViewInfo.rootPart for content extraction
2016-07-18 15:38:21 +02:00
Vincent Breitmoser
99f65f338e
compose: hand cached decryption result back to OpenKeychain
2016-07-18 15:38:21 +02:00
Vincent Breitmoser
0a43b36ac5
compose: use attachment info from loaded AttachmentViewInfo
2016-07-18 15:38:21 +02:00
Vincent Breitmoser
62361da104
compose: pass MessageViewInfo around instead of just the Message
2016-07-18 13:53:01 +02:00
cketti
a58ca4624b
Merge pull request #1488 from k9mail/GH-1483_remove_settings_import_via_intent
...
Disable settings import via VIEW Intent
2016-07-18 00:18:42 +02:00
cketti
2622b08767
Merge pull request #1484 from k9mail/decrypted-file-provider
...
decrypted file provider
2016-07-18 00:01:59 +02:00
cketti
d096261c56
Make use of Globals to simplify code
2016-07-17 23:02:10 +02:00
cketti
f6fe28d3a8
Add Globals class so we can avoid passing Context through layers of code
...
If your class requires a Context instance make it a constructor argument. Then
create a static factory method that calls Globals.getContext(). The result can
then be passed to the constructor.
This allows testing individual classes using test doubles by directly invoking
the constructor and not having to deal with Globals. For integrated tests
spanning multiple classes you might have to use Globals.setContext().
2016-07-17 23:02:10 +02:00
Vincent Breitmoser
8b719a3274
prefer real objects for Part in tests over mocks
2016-07-17 23:02:10 +02:00
Vincent Breitmoser
44c6fccc0e
synchronize cleanupReceiver access
2016-07-17 23:02:10 +02:00
Vincent Breitmoser
c4cb83d370
rename some classes from service to mailstore
2016-07-17 23:02:10 +02:00
Vincent Breitmoser
351737512b
fix deferred file body test
2016-07-17 23:02:10 +02:00
Vincent Breitmoser
69b0b3a763
split FileProvider logic, incorporate some other feedback
2016-07-17 23:02:09 +02:00
Vincent Breitmoser
f33c083539
don't allow file deletion in DecryptedFileProvider
2016-07-17 23:00:58 +02:00
Vincent Breitmoser
3b0c1979f1
move file cleanup into AsyncTask in onTrimMemory
2016-07-17 23:00:58 +02:00
Vincent Breitmoser
2993078bf2
keep raw data for decrypted bodies around, decode in DecryptedFileProvider if necessary
2016-07-17 23:00:57 +02:00
Vincent Breitmoser
ed628ae67b
make FileProviderDeferredFileOutputStream fail faster
2016-07-11 16:14:41 +02:00
cketti
e858ca9e2c
Remove intent filter for settings file MIME type
...
Importing by URI isn't properly supported. We want to fix this eventually, but
for now we just remove the functionality.
Fixes #1483
2016-07-07 00:03:04 +02:00
cketti
06e4ca1945
Version 5.110
2016-07-06 22:23:53 +02:00
cketti
95c546d992
Merge pull request #1485 from k9mail/notifications_only_from_contacts
...
Setting: only show notifications for messages from contacts
2016-07-06 21:55:32 +02:00
Vincent Breitmoser
0e3d18e7f7
we don't use displayName from database either (for now), fix tests to reflect that
2016-07-06 21:48:39 +02:00
Vincent Breitmoser
7cb6fa102f
stream performance optimizations
2016-07-06 21:48:38 +02:00
Vincent Breitmoser
032b1fb833
add some debug logging to cleanup receiver
2016-07-06 21:48:38 +02:00
Vincent Breitmoser
bb9f857d86
add Attachment* tests, and some annotations
2016-07-06 21:48:38 +02:00
Vincent Breitmoser
be3543c78d
also clean up decrypted temp files on low memory
2016-07-06 21:48:38 +02:00
Vincent Breitmoser
1eca794346
add DecryptedFileProviderCleanupReceiver to clean up temp files on screen off
2016-07-06 21:48:38 +02:00
Vincent Breitmoser
e102a1d474
introduce FileProviderInterface, specialize K9FileProvider for decrypted
2016-07-06 21:48:38 +02:00
Vincent Breitmoser
36a3a8bb20
rename DecryptedStreamParser and DecryptedTempFileBody
2016-07-06 21:48:38 +02:00
cketti
1d471a8633
Rename method for consistency
2016-07-06 21:25:20 +02:00
Vincent Breitmoser
cd4be0e466
fix translation issues
2016-07-05 12:05:18 +02:00
cketti
202595c605
Make 'notify for contact only' setting available for import/export
2016-07-05 01:40:51 +02:00
cketti
ee8dd311df
Pass Contacts via constructor into MessagingController
2016-07-05 01:34:40 +02:00
cketti
1d2509e98f
Change wording in settings screen
2016-07-05 01:27:28 +02:00
Christian Grubert
e2e3da262c
new option: just show notification for contacts
2016-07-05 01:25:08 +02:00
Vincent Breitmoser
4d3bc41c0a
unfold+decode header value in getContentType() and getDisposition()
2016-07-01 18:40:48 +02:00
Vincent Breitmoser
1c8a6f05d0
make Attachment class immutable
2016-07-01 18:40:48 +02:00
Vincent Breitmoser
099d03f46a
compose: extract AttachmentPresenter
2016-07-01 18:40:48 +02:00
Vincent Breitmoser
b4bd645eaa
fix copy paste string error
2016-06-30 11:21:29 +02:00
Vincent Breitmoser
84c0e4c730
improve variable naming and some magic constants
2016-06-30 11:11:15 +02:00
Vincent Breitmoser
1bae68169f
messageview: move more control flow for display of crypto data into MessageCryptoPresenter
2016-06-30 11:11:15 +02:00
Vincent Breitmoser
fccb4a4b24
messageview: simplify handling of external pictures, ditch ShowPicturesController
2016-06-30 11:11:15 +02:00
Vincent Breitmoser
b5b603001b
messageview: move setShowDownloadButton into setMessage
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
f6f4805076
messageview: move MessageCryptoMvpView into a var instead of implementing directly
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
837aa70486
messageview: match signature user id with sender address
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
2e9184f8e2
compose: use MessageLoaderHelper for quoted message loading (fixes MessageCompose)
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
b72dba67df
messageview: move all loading logic into MessageLoaderHelper (breaks MessageCompose)
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
0df44a1457
messageview: strip pgp markers for partially downloaded clearsigned messages before view
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
58daf68503
messageview: handle crypto error states
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
c12ce95941
messageview: add "View Key" button to crypto info dialog
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
675b167320
messageview: retain MessageCryptoHelper over configuration changes
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
573bfc4b59
messageview: make MessageCryptoHelper detachable
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
68e31a985f
messageview: cancel operation when fragment is destroyed
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
9b1e51c559
messageview: draw progress bar while crypto is processing
2016-06-30 11:08:44 +02:00
Vincent Breitmoser
293e23d04a
messageview: display support for encapsulated signed parts
2016-06-30 11:01:05 +02:00
Vincent Breitmoser
c640e4a680
messageview: display unsigned text in additional textview
2016-06-30 11:01:05 +02:00
Vincent Breitmoser
61232cb631
messageview: display unsigned attachments in LockedAttachmentView
2016-06-30 11:00:00 +02:00
Vincent Breitmoser
d98f579b34
messageview: move some logic into MessageCryptoPresenter, refresh after key import (solves #732 )
2016-06-30 10:59:19 +02:00
Vincent Breitmoser
4da1a01130
messageview: add crypto info dialog
2016-06-30 10:59:19 +02:00
Vincent Breitmoser
d92155e2b5
messageview: show crypto status icon in header
2016-06-30 10:59:19 +02:00
Vincent Breitmoser
8f568867a6
messageview: remove all openpgp info in message view
2016-06-30 10:59:19 +02:00
Vincent Breitmoser
6371cde568
messageview: nicer handling of pendingintent in MessageList and MessageCryptoHelper
2016-06-30 10:49:05 +02:00
Vincent Breitmoser
b0b269a736
messageview: add canceled CryptoError state
...
Conflicts:
k9mail/src/main/java/com/fsck/k9/ui/crypto/MessageCryptoHelper.java
k9mail/src/main/java/com/fsck/k9/ui/messageview/MessageTopView.java
2016-06-30 10:49:05 +02:00
Vincent Breitmoser
b57ef10e90
messageview: add support for encapsulated signed parts ( fixes #576 )
2016-06-30 10:49:04 +02:00
Vincent Breitmoser
6ceec725cb
messageview: use memory-backed body for decrpyted parts which are small and not attachments
2016-06-30 10:49:04 +02:00
Vincent Breitmoser
a55db0f3cf
messageview: start parsing input only if it's not immediate EOF or EPIPE
2016-06-30 10:49:04 +02:00
Vincent Breitmoser
04e17564a8
messageview: add logic for display of crypto progress
2016-06-30 10:49:04 +02:00
Vincent Breitmoser
0402eda968
messageview: use OpenPgpDataSink and -Source for threads (contains api-lib update)
2016-06-30 10:49:04 +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
8f04d60249
messageview: for pgp/inline, only check BEGIN PGP MESSAGE marker
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
Vincent Breitmoser
43efd6db0b
add some unit tests to MessageDecryptVerifier
2016-06-30 10:25:26 +02:00
Vincent Breitmoser
7305a20b8b
messageview: handling for unsupported multipart/(signed|encrypted)
2016-06-30 10:25:26 +02:00
Vincent Breitmoser
e71cff565e
messageview: ditch support for multiple root parts with different crypto status
2016-06-30 10:25:26 +02:00
cketti
9d1970d79f
Merge pull request #1465 from k9mail/extract-webview-resource-handling
...
Encapsulate attachment resource handling into AttachmentResolver
2016-06-30 03:58:47 +02:00
Vincent Breitmoser
2c4f698192
split up displayHtmlContentWithInlineAttachments into set, clear and refresh methods
2016-06-28 10:59:27 +02:00
cketti
dca9d20f99
Merge pull request #1416 from k9mail/messageview-fix-flicker
...
Fix flicker of subject line in MessageHeader
2016-06-28 04:02:33 +02:00
cketti
2f4d0a8204
Merge pull request #1459 from k9mail/fix-hidden-attachments
...
Don't rely on cached metadata from database for attachment info
2016-06-28 04:01:37 +02:00
cketti
6f46a53861
Merge pull request #1424 from OllieTerrance-forks/outlook-uk-providers
...
Add UK variants of Hotmail addresses to providers
2016-06-28 03:25:18 +02:00
Vincent Breitmoser
c2bb16a760
Encapsulate attachment resource handling into AttachmentResourceProvider
...
This commit introduces the AttachmentResourceProvider as a layer of
abstraction between K9WebViewClient and the message Part structure,
which allows moving all K9WebViewClient handling into MessageWebView
itself (making the class package-local).
It also fixes display of uncached inline attachments, e.g. in a Forward
operation called from the context menu.
2016-06-23 20:25:00 +02:00
Vincent Breitmoser
8f4ac55d6c
don't rely on cached metadata from database for attachment info
...
This commit removes use of LocalFolder.MessagePartType as an indication
of part types in AttachmentInfoExtractor. The enum was intended as a
caching mechanism to skip loading unimportant parts from the database,
but only the reading side was implemented. As the expected performance
gain is negligible, I disabled the reading side for now (computing the
data instead) and more explicitly disabled the writing side as well.
2016-06-13 17:11:47 +02:00
Philip Whitehouse
b7c3e5296b
Update web page URL to GitHub website
2016-06-06 16:28:04 +01:00
Ollie Terrance
7651fe02e7
Add UK variants of Hotmail addresses to providers
2016-06-02 18:37:17 +01:00
Vincent Breitmoser
27a3add959
fix flicker of subject line in MessageHeader
...
MessageHeader rendered the subject line by default, and only after
MessageTitleView decided it was large enough to display the entire
subject line, the subject line was hidden again. This caused a noticable
flicker during message rendering while navigating with next/previous
message buttons.
This commit flips the logic, only displaying the subject view once the
title view finds it can't display it all.
2016-05-28 22:44:38 +02:00
Vincent Breitmoser
59a818490f
do not purge messages when downloading missing body for view
2016-05-25 16:32:42 +02:00
Vincent Breitmoser
f0e64a33a4
drop message_parts table before creation in dbCreateDatabaseFromScratch
2016-05-23 21:53:38 +02:00
cketti
2ccbf581ab
Version 5.109
2016-05-21 06:37:29 +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
3762e1561f
Only test one thing per test method
2016-05-20 23:55:45 +02:00
cketti
56e8fc1d77
Remove redundant checks and ones that make tests needlessly brittle
2016-05-20 23:52:21 +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
Vincent Breitmoser
9a1dcd5a83
debug: add debug operation to clear a message locally
2016-05-19 22:37:48 +02:00
Vincent Breitmoser
31f6deb474
small performance optimizations
2016-05-19 15:49:33 +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
f4628d2a24
Merge pull request #1383 from k9mail/fts-fix
...
fts: more resource friendly migration
2016-05-19 14:53:15 +02:00
cketti
af0c8aab75
Merge pull request #1337 from k9mail/webDavPollingFix
...
WebDav polling fix
2016-05-19 14:51:31 +02:00
Vincent Breitmoser
8de494412e
messageview: refactor OpenPgpResultAnnotation into immutable CryptoResultAnnotation
2016-05-19 14:27:58 +02:00
Vincent Breitmoser
e002451296
move ViewableContainer into MessageViewInfoExtractor
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
fb6816173c
get rid of deprecated PgpData class
2016-05-19 14:13:29 +02:00
cketti
7e82e38247
Merge pull request #1380
...
Different fix for decrypted part double decode problem
2016-05-19 14:06:38 +02:00
cketti
2ee7f29b95
Remove unused imports
2016-05-19 14:05:43 +02:00
Vincent Breitmoser
3de2360a43
inject ReplyToParser and test for use in initFromReplyTo
2016-05-17 16:39:27 +02:00
Vincent Breitmoser
f85bef1261
move reply to all logic into ReplyToParser and add tests
2016-05-17 16:00:40 +02:00
Vincent Breitmoser
4c6bc1a81b
compose: copy other to and and cc addresses only on reply all
2016-05-17 15:52:19 +02:00
Vincent Breitmoser
8d631fd905
compose: small refactorings for readability in RecipientPresenter
2016-05-17 15:52:16 +02:00
Vincent Breitmoser
2811b09da2
messageview: fetch message on view if body is not available
2016-05-16 23:22:03 +02:00
Vincent Breitmoser
7644abb142
messagingcontroller: optimize imports, remove unused parameter
2016-05-16 23:22:03 +02:00
Vincent Breitmoser
a2a4f59bb0
messagingcontroller: fix loadPartialForSearch parameter in loadMessageForRemoteView
2016-05-16 23:21:57 +02:00
Vincent Breitmoser
7614c8fd5e
make DecryptedTempFileBody a Body instead of RawDataBody ( fixes #1252 )
2016-05-15 10:35:54 +02:00
Vincent Breitmoser
9d3a735cea
fts: more resource friendly migration
2016-05-13 16:29:05 +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
36f890f436
Revert "fix double application of transfer decoding for decrypted parts"
...
This reverts commit e3cd40ea4e
.
See https://github.com/k9mail/k-9/issues/1252
2016-05-13 11:05:12 +02:00
Vincent Breitmoser
e3cd40ea4e
fix double application of transfer decoding for decrypted parts
2016-05-12 17:55:16 +02:00
Vincent Breitmoser
f0d09b91a9
clarify code for LocalMessage.equals()
2016-05-11 11:42:22 +02:00
Vincent Breitmoser
3a5d9b71a4
compose: move bullet point appearance into styles, and tintColor into theme
2016-05-09 10:11:09 +02:00
Vincent Breitmoser
7e8e82f200
remove "this is a bug" from some AssertionErrors
2016-05-09 09:54:07 +02:00
cketti
1f9cd50076
Use constructor injection for ComposePgpInlineDecider
2016-05-09 09:54:07 +02:00
cketti
287b649ed4
Remove unnecessary complexity
2016-05-09 09:54:06 +02:00
Vincent Breitmoser
b6cd69f247
compose: check that message is simple before applying PGP/INLINE encoding
2016-05-09 09:54:06 +02:00
Vincent Breitmoser
b6f540bfd9
compose: apply transfer encoding *after* PGP/INLINE signing
2016-05-09 09:54:06 +02:00
Vincent Breitmoser
8a58398cb8
add first tests for MessageBuilder
2016-05-09 09:54:06 +02:00