Art O Cathain
552e552e88
Add unit tests for FileHelper.sanitizeFilename()
2014-11-18 23:50:14 +01:00
cketti
56c30095e2
Don't use dummy file path when resolving intents
2014-11-18 23:02:20 +01:00
cketti
d9b6e10cbe
Change the way the best view intent is determined
...
First we try the original MIME type unless it's application/octet-stream.
Then we try the MIME type inferred from the attachment's file extension.
Then we fall back to application/octet-stream.
In all cases we first try the content:// URI, then a file:// URI.
2014-11-18 22:55:51 +01:00
cketti
a725099693
Merge pull request #499 from k9mail/remove_apg_interface
...
Remove APG legacy interface
2014-11-12 21:08:46 +01:00
cketti
9b61fe0f0e
Merge remote-tracking branch 'k9mail_pgp_mime/master'
...
Conflicts:
src/com/fsck/k9/activity/AccessibleEmailContentActivity.java
2014-11-12 19:22:53 +01:00
cketti
9e6fc7c7d1
Merge pull request #13 from k9mail/art/update-certificates-in-tests
...
Update certificates in tests
2014-11-12 16:30:53 +01:00
cketti
0f70d5db40
Merge pull request #12 from k9mail/art/warn-if-not-serializable
...
Art/warn if not serializable
2014-11-11 19:52:31 +01:00
cketti
bd4a236525
Merge pull request #11 from k9mail/art/fix-tests-on-jvm
...
fix tests on JVM
2014-11-11 19:46:58 +01:00
cketti
7211080415
Merge pull request #10 from k9mail/art/more-tidying-arrays
...
Replace many arrays with collections
2014-11-11 19:45:35 +01:00
cketti
87ca0d3d2a
Use TemporaryAttachmentStore when viewing attachments using file:// URI
2014-11-11 02:11:51 +01:00
cketti
34cfd8e5b4
Extract file related helper functions into separate class
2014-11-11 01:04:39 +01:00
cketti
e64ca84f1b
Simplify MediaScannerNotifier
2014-11-10 06:43:26 +01:00
cketti
c3f1420ef6
Don't open the file after the media scanner added it to the media content provider
2014-11-10 06:43:00 +01:00
cketti
dfd40659d1
Append file name to content:// URI
...
This allows intent filters with patterns for file extensions to match.
2014-11-10 05:46:38 +01:00
cketti
6a1905b7b7
If we can't find an app to view an attachment try again with a file:// URI
...
Sadly, some apps only support the 'file' scheme in their intent filters. Among
them is Android's own package installer.
2014-11-10 05:37:22 +01:00
cketti
44ecf5d588
Use MIME type used for intent resolution in content provider
2014-11-10 03:12:28 +01:00
cketti
f87ab53b9b
Try original and inferred MIME type to find best viewer for attachment
...
In order for Android to find apps that are capable of opening an attachment for
viewing the ACTION_VIEW Intent needs to contain an appropriate MIME type.
Ideally, we'd use the MIME type specified for the attachment in the message.
But often the supplied MIME type is wrong/useless. So we look at the file
extension to try to come up with a sensible MIME type on our own. We then go
on to ask Android which of the two MIME types leads to more apps claiming to
be able to open our attachment for viewing and use that one.
2014-11-10 03:10:09 +01:00
cketti
11a9eff109
Extract intent creation code to method
2014-11-09 20:46:46 +01:00
cketti
6cb3c991db
No longer pretend there are attachment types we don't care about
2014-10-20 21:26:18 -04:00
cketti
3c4ad91614
Fix method names/visibility
2014-10-20 21:24:18 -04:00
cketti
d3073be89a
Rearrange fields/methods
2014-10-20 21:21:09 -04:00
cketti
83d876f246
Inline method
2014-10-20 21:16:31 -04:00
cketti
f6822c973d
Clean up comments
2014-10-20 21:13:58 -04:00
cketti
1e89314f3e
Remove "m" prefix for field names
2014-10-20 21:09:23 -04:00
cketti
b3bc85ba10
Split 'populateFromPart' into multiple methods
2014-10-20 21:06:31 -04:00
cketti
ca88f59c05
Create named class for loading and displaying attachment thumbnails
2014-10-20 20:46:46 -04:00
cketti
4299eb9771
Rename method and improve documentation
2014-10-20 20:28:38 -04:00
cketti
4a6c52947d
Make all fields of AttachmentView private
2014-10-20 20:14:04 -04:00
cketti
0ced8746af
Remove old/unused code from click handler
2014-10-20 20:05:21 -04:00
cketti
187d760e5f
Extract code to display error/status messages to a separate method
2014-10-20 19:50:41 -04:00
cketti
dfe1771fcb
Fix formatting
2014-10-20 19:39:16 -04:00
cketti
b7a8c9b707
Remove unused code
2014-10-20 19:34:16 -04:00
Art O Cathain
438a350f55
remove unnecessary method parameters
2014-10-19 18:40:17 +01:00
Art O Cathain
a9b0907c31
further simplification
2014-10-12 09:24:08 +01:00
Art O Cathain
ba26cfce90
remove controversial methods
2014-10-12 08:54:44 +01:00
Art O Cathain
5dc1b82340
address review comments
2014-10-11 23:52:48 +01:00
Art O Cathain
d980e49fd1
chain the exception
2014-10-11 16:11:12 +01:00
Art O Cathain
c6df8f1ba1
warn if not serializable, also add basic unit test
2014-10-11 12:37:36 +01:00
Art O Cathain
668ee71b6c
fix tests on JVM
2014-10-11 12:10:07 +01:00
Joe Steele
a141457886
Revert "Implement SSL file-based session caching"
...
This reverts commit 43c38a047f
.
2014-10-07 21:23:04 -04:00
Art O Cathain
40102d560d
Set interface makes more sense for flags
2014-10-05 12:40:35 +01:00
Art O Cathain
195f28db00
Revert accidental change
2014-10-05 12:23:43 +01:00
Art O Cathain
444756839c
EnumSet is more efficient than HashSet
2014-10-05 12:08:55 +01:00
Art O Cathain
fe7c0ebfac
simplify following code review
2014-10-05 11:57:11 +01:00
Art O Cathain
159017e91d
removed unneeded variables and clarified names
2014-10-05 11:50:04 +01:00
Art O Cathain
d38f21265d
use isEmpty instead of size() == 0 for clarify
2014-10-05 10:37:50 +01:00
Art O Cathain
02c0b5f2a3
Use collections instead of arrays to enable stronger typing and reduce cruft
2014-10-05 10:37:36 +01:00
Art O Cathain
203dcfe2c3
use interfaces, not implementions
2014-10-04 12:00:48 +01:00
tobiasbaum
dadf5e0865
Merge pull request #7 from artbristol/art/tidying
...
Art/tidying
2014-09-29 22:15:59 +02:00
Art O Cathain
010d8c9f7e
always use import for UrlEncodingHelper
2014-09-29 18:06:21 +01:00
Art O Cathain
2226ae6a8e
fix IDE error
2014-09-28 12:48:46 +01:00
Art O Cathain
c438bc1222
remove some more catches
2014-09-28 12:09:34 +01:00
Art O Cathain
afb65d5ad7
remove some try-catch cruft
2014-09-28 11:39:32 +01:00
Art O Cathain
46d083bcad
fix warnings
2014-09-28 11:19:33 +01:00
Tobias Baum
2be10febf9
Added (still rather shallow) missing Javadocs for classes in BinaryAttachmentBody hierarchy
2014-09-22 21:55:08 +02:00
Tobias Baum
547eb74774
Changed access to mParts in MimeMultipart so that it can be private too
2014-09-22 21:54:02 +02:00
Tobias Baum
b6079d6460
UCDetector warnings: Made things private, deleted unused methods and fields
2014-09-22 21:52:59 +02:00
cketti
352fb8fd25
Remove legacy APG interface
2014-09-18 23:20:49 +02:00
cketti
99991e6651
Remove option to select (legacy) APG as crypto provider
2014-09-18 19:15:53 +02:00
cketti
082dd953b2
Remove now unused AccessibleEmailContentActivity
2014-09-18 15:06:00 +02:00
Tobias Baum
1ea34d2378
Flagged some code with TODOs, added Javadoc for Body
2014-09-14 11:20:18 +02:00
Tobias Baum
be954d729c
Whitespace, Tabs to Spaces
2014-09-14 11:18:57 +02:00
Tobias Baum
7d32b3d462
Removed unnecessary overriding methods
2014-09-14 11:17:02 +02:00
Tobias Baum
a9aa4645af
Removed unused methods
2014-09-14 11:15:44 +02:00
Tobias Baum
545dd0db06
Added a getBodyparts method to Multipart so that foreach loops can be used. Removed unnecessary mutators from Multipart.
2014-09-14 11:13:34 +02:00
Tobias Baum
5513d5a99b
Pulled down getSize from Part to Message which makes ImapBodyPart superfluous
2014-09-14 11:11:48 +02:00
Tobias Baum
d467dca32c
Added testcases for parsing and removed unused methods for parsing
2014-09-14 11:05:55 +02:00
cketti
601e2880ac
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
src/com/fsck/k9/mail/transport/SmtpTransport.java
2014-09-12 07:11:32 +02:00
cketti
a6fc06f7f9
Fix code style
2014-09-12 06:35:07 +02:00
cketti
3e4beae631
Remove unused 'check mark' color chip
2014-09-12 06:26:03 +02:00
Christian Frommeyer
9dba60c997
Some minor code cleanings and logging for LockableDatabase
2014-09-11 20:26:40 +02:00
Christian Frommeyer
eced036d69
Extracting Database Setup Schema definition form LocalStore.
2014-09-11 20:26:40 +02:00
Christian Frommeyer
91ef5fa816
Extracted LocalFolder and LocalMessage definition from LocalStore
2014-09-11 20:26:40 +02:00
Christian Frommeyer
89ba2c510b
More nested classes extracted from LocalStore.
2014-09-11 20:26:40 +02:00
Christian Frommeyer
f92da3af59
Extracting local attachment classes from LocalStore to reduce file size.
2014-09-11 20:26:39 +02:00
Christian Frommeyer
038fceabf0
Move LocalStore to new subpackage to prepare decomposition of nested
...
classes.
2014-09-11 20:26:39 +02:00
Joe Steele
0f6719387c
Re-enable TLSv1.1/1.2 support
...
Was disabled in 3fd7470d
.
Issue 6238.
Related Android change for API 20:
1f63d2c223
%5E!/
2014-09-10 11:42:14 -04:00
cketti
a10b9ae452
Merge pull request #493 from zjw/ssl_changes
...
SSL changes
2014-09-10 01:44:44 +02:00
Joe Steele
094feced0c
Remove unused imports
2014-09-09 18:56:36 -04:00
cketti
9e203b75cc
Remove gallery bug work-around
...
This bug was present in the Gallery app shipped with Android 2.0.
The time has come to say good-bye. We will never forget you! But only because you're part of our Git history.
2014-09-07 23:35:18 +02:00
Joe Steele
43c38a047f
Implement SSL file-based session caching
...
Caching is beneficial because it can eliminate redundant cryptographic
computations and network traffic when re-establishing a connection to
the same server, thus saving time and conserving power.
2014-09-06 19:32:06 -04:00
Joe Steele
7dfbd906c9
Eliminate DomainNameChecker
...
There's no need to maintain our own implementation when comparable
classes already exist in the Android API.
StrictHostnameVerifier is used instead.
2014-09-06 19:32:03 -04:00
Joe Steele
6f14294164
Remove SslHelper. Don't use SecureRandom.
...
SslHelper has been removed, and its functionality has been transferred
into TrustedSocketFactory. The added layer of indirection wasn't really
simplifying anything. It's now easier to see what happens when
createSocket() is invoked.
A new instance of SecureRandom is no longer passed to SSLContext.init().
Instead, null is passed.
The (default) provider of the TLS SSLContext used is OpenSSLProvider,
which provides an SSLSocket instance of type OpenSSLSocketImpl. The only
use of SecureRandom is in OpenSSLSocketImpl.startHandshake(), where it is
used to seed the OpenSSL PRNG with additional random data. But if
SecureRandom is null, then /dev/urandom is used for seeding instead.
Meanwhile, the default provider for the SecureRandom service is
OpenSSLRandom, which uses the OpenSSL PRNG as its data source. So we were
effectively seeding the OpenSSL PRNG with itself. That's probably okay
(we trust that the OpenSSL PRNG was properly initialized with random data
before first use), but using /dev/urandom would seem like a better source
(or at least as good a source) for the additional seed data added with
each new connection.
Note that our PRNGFixes class replaces the default SecureRandom service
with one whose data source is /dev/urandom for certain vulnerable API
levels anyway. (It also makes sure that the OpenSSL PRNG is properly
seeded before first use for certain vulnerable API levels.)
2014-09-06 18:15:25 -04:00
cketti
5f0f4e9c21
Merge pull request #485 from haselwarter
...
Conflicts:
src/com/fsck/k9/preferences/Settings.java
2014-09-04 23:55:30 +02:00
cketti
f5cfaceef4
Increase settings version in preparation of merge into master
2014-09-04 23:54:06 +02:00
cketti
5802e6a36a
Remove getNotifyClass() from Folder
2014-09-04 23:54:06 +02:00
cketti
7edd1cb53c
Simplify database upgrade when adding 'notify_class' to 'folders'
2014-09-04 23:54:06 +02:00
cketti
bd9efa8d01
Whitespace fixes
2014-09-04 22:58:38 +02:00
cketti
cb67a21a93
Remove commented-out code
2014-09-04 21:58:18 +02:00
cketti
759fa77c9a
Merge pull request #474 from k9mail/tls-client-cert-auth
...
Client Certificate Authentication
2014-08-30 01:06:28 +02:00
Joe Steele
9728609c4c
Make the foldable container view INVISIBLE, not GONE
...
Now when toggling the foldable view, the screen no longer
jumps half a line up or down to recenter itself when
the view is displayed.
2014-08-29 10:47:45 -04:00
Joe Steele
8ade424270
Save/Restore the FoldableLinearLayout state
2014-08-29 10:47:43 -04:00
Joe Steele
a756fa3683
Use Theme consistent styles in FoldableLinearLayout
...
For support of the dark and light themes.
Also:
Redefine mFolded and call it mIsFolded. Previously,
the view started with mFolded = false (which implies to me
the initial state is unfolded) and yet the view
started in a folded state, which seemed contradictory.
Create updateFoldedState() with code from onClick() (In
preparation for subsequent commit.)
2014-08-29 10:47:41 -04:00
Joe Steele
348fb4dceb
Validate client certificate dates
2014-08-29 10:47:39 -04:00
Joe Steele
c80634d501
Format log messages with spaces
2014-08-29 09:06:25 -04:00
cketti
ac1ed9eef3
Increment settings version
2014-08-29 01:45:48 +02:00
Dominik Schürmann
05d8fb5e42
Hide client cert option under advanced options dropdown
2014-08-27 11:48:49 +02:00
Dominik Schürmann
2a1733564e
Add FoldableLinearLayout for advanced options
2014-08-27 11:30:53 +02:00
Joe Steele
e4d26b8c75
Remove code for unsupported API levels
...
An assortment of miscellaneous changes, each usually limited in scope to a
single file.
2014-08-19 17:17:55 -04:00
Joe Steele
bc60c860b8
Remove com.fsck.k9.helper.NotificationBuilder
...
Only useful on pre-Honeycomb devices.
2014-08-19 17:17:52 -04:00