interfering with "unread" searches on POP3 accounts.
Flags really should be normalized in the database to eliminate the use
of LIKE while searching by Flags.
Fixes ClassCastException.
Also:
Envelope and star in Accounts Activity are now both "hot". Tapping
the main part of the search opens the full search; tapping the
envelope opens the search only for unread messages; tapping the star
opens the search but only for starred messages.
The envelope and star are a bit small to reliably tap. Both options
should be available via long-press, also.
Methodology will be extended to real accounts, as well.
Computing the account size is pretty slow for big accounts, and making
this functionality optional should be considered.
Also, displays the number of flagged messages ("stars") in each
account in the Accounts list and each folder in the FolderList. Needs
better presentation of the flagged message counts, but this works as a
proof-of-concept and gets the data structures built.
Look for + as acknowledgement that we're in IDLE mode, not "idling"
string.
Also, to help with battery life:
1) Give up trying to IDLE after 10 failures.
2) Increase retry delays
Not done, yet, but available for developers to use.
Definite things to be done in the short term:
1) Allow user to hide canned searches in Accounts Activity
2) Make newly arrived mail immediately appear in search results.
Possible improvements:
3) User-definable searches
4) Make newly deleted mail immediately disappear search results.
5) Make message with flag changes immediately appear/disappear from
search results.
6) Show search result size in Accounts Activity.
Provides for the user to elect to have certain folders displayed first
in the FolderList. Folders so elected are displayed in alphabetical
order first, then folders not so elected are displayed alphabetical
order.
No special handling is done for Inbox any more, except that it is in
"top group" by default, to preserve current behavior until the user
changes the settings.
Implement DEFLATE compression for IMAP communication, enabled by
default. User can disable compression for Wi-Fi, Mobile, or Other
networks, if it causes problems or if uncompressed communication is
faster, which is possible on Wi-Fi and wired networks, especially.
"Other" is to allow for the Android platform to introduce new
networking types without having to immediately change K-9 Mail.
However, as those arise, new network types should be added as explicit
types in K-9 Mail.
Fixes Issue 1278
Fixes Issue 119
Fixes Issue 1077
Fixes Issue 1238
Worked performed by danapple0 and cketti in
https://k9mail.googlecode.com/svn/k9mail/branches/issue1116
Add support for most batch ops (except move and copy) in search
results. Add support for batch move and copy on real folders.
Increase efficiency of bulk IMAP moves and copies by doing as multiple
UID operations.
Eliminated serialization of Account objects.
Provide up-references in useful places to make all future code cleaner
and more efficient.
Fixed a bunch of draft handling
Merged from issue1116 branch, except for Account.java, which was
copied wholesale. Account.java was manually merged in issue1116
branch at r1489
svn merge -r 1459:1489 https://k9mail.googlecode.com/svn/k9mail/branches/issue1116 .
cp ../issue1116/src/com/fsck/k9/Account.java src/com/fsck/k9/Account.java
As a side effect of this fix sending mail could be slightly faster now due to less packets being sent.
Big thanks to Kevin Newland of Michigan Technological University for organizing a test account.
Fixes issue 799
Handle CAPABILITY response in following cases:
1) When sent as part of the banner, no longer sends explicit
CAPABILITY command
2) When sent as an UNTAGGED response to LOGIN, updates stored
capabilities.
3) When sent as part of the TAGGED response to LOGIN, updates stored
capabilities.
Due to odd implementation of the CRAM-MD5 authentication, the
capability updates will not happen as part of the CRAM-MD5
authentication.
a) is already known if the server supports the NAMESPACE capability.
b) is included in the prefix anyway (=also known if namespace was set manually).
c) isn't needed when selecting a mailbox because we currently don't support folder hierarchy. So the delimeter is included in the folder name.
Fixes issue 1217
At cketti's suggestion, change the methodology for counting
server-side unread messages on an IMAP server from STATUS (UNSEEN) to
SEARCH UNSEEN NOT DELETED. STATUS (UNSEEN) does not ignore DELETED
but unexpunged messages and leads to incorrect results.
http://www.mail-archive.com/c-client@u.washington.edu/msg00929.htmlhttp://www.mail-archive.com/c-client@u.washington.edu/msg00931.html
This variant only checks for unread messages in the last 300 messages
in the folder, so will be wrong if there are unread messages earlier
in the folder. However, it'll be more often correct than the old
version for the marjority of users.
Also, change the opening of folders for IMAP IDLE purposes to
read-only using EXAMINE instead of SELECT.
always-available select action. For the moment, this means
that widgets_on_left does nothing at all. based on feedback, I may kill
the preference and multi-mode behaviour entirely in favor of "show stars?"
(and possibly "show stars on left"
Stars, "checkboxes" and color bars updated to actually fit in wide mode.
Fixes Issue 806
Make sure to close opened folders in finally blocks in
MessagingController.
Don't make another connection when deleting or copying a
message. (Nicely speeds up copy and delete, as well.)
Another connection is still created for creating a folder while
copying or deleting (a pretty rare event), and the IMAP IDLE
connections are not re-used for user initiated activity.
On each IMAP account, the expunge behavior can be set to expunge
messages in a folder as soon as a move or delete is performed on the
folder ("immediately"), each time the folder is polled, or only when
executed manually.
In the Message List, there is now an Expunge action in the option
menu.
In the Folder List, there is now an Expunge action in the context
menu (long-press on the folder).
For IMAP accounts, it is also possible to disable the copying of deleted messages to the
Trash folder, by setting the Trash folder to -NONE-.
Fixes Issue 536.
Separately, in WebDAV accounts, the user can now choose the
server-side equivalents of the special folders, just like for IMAP.
from SQLite at once. The hope is that this will improve perceived
performance on large folders by starting message display sooner.
In the case of a background sync while we're loading, we _may_ end up
doing more work than necessary, since we implement paging by "date
received"
r51837@31b (orig r127): ismarc31 | 2008-11-10 19:10:50 -0500
Experimental branch for Exchange WebDAV support
r51838@31b (orig r128): ismarc31 | 2008-11-10 19:24:52 -0500
Initial proof-of-concept code for WebDav support
r51839@31b (orig r129): ismarc31 | 2008-11-10 22:02:37 -0500
Fixed a couple of migration issues and enabled WebDav as a mail type
r53269@31b (orig r132): ismarc31 | 2008-11-21 21:55:55 -0500
Mostly rewritten class and organization. Better implementation of message fetching.
Consolidated response parsing. Removed a large number of redundant calls. There is still
some unused functions needing cleaning up, and some unimplemented actions
r53338@31b (orig r133): ismarc31 | 2008-11-22 16:50:02 -0500
Removed more redundant and unused calls. Implemented checking read status
r53453@31b (orig r134): ismarc31 | 2008-11-24 20:13:24 -0500
Added support for marking messages as read.
r53454@31b (orig r135): ismarc31 | 2008-11-24 22:04:04 -0500
Added support for deleting messages server side
r53455@31b (orig r136): ismarc31 | 2008-11-25 01:32:19 -0500
Improved flag setting functionality, do bulk HTTP request instead of lots of little ones
r53589@31b (orig r138): young.bradley | 2008-11-29 16:18:25 -0500
Missing some ports (webDavPorts); this causes an array index out of bounds exception when anything other than "None" or "SSL (Optional)" are selected.
Adding the three additional ports solves this issue.
r53590@31b (orig r139): young.bradley | 2008-11-30 00:47:42 -0500
Initial support for sending via WebDav
r53591@31b (orig r140): ismarc31 | 2008-11-30 20:12:41 -0500
Fix for display names being URL Encoded for folders. Initial support of Uid Hashmaps instead
of plain arrays.
r53592@31b (orig r141): ismarc31 | 2008-11-30 21:46:06 -0500
Fix to constructor of HttpGeneric(final String uri). URLs returned from Exchange aren't
always fully encoded, this fixes the encoding before creating the method.
r53593@31b (orig r142): ismarc31 | 2008-12-01 02:22:16 -0500
Completed support for using hashmaps instead of arrays for indexing urls to emails and read
status. Delete is safe again and read status is correct the first time through.
r53594@31b (orig r143): ismarc31 | 2008-12-01 22:20:50 -0500
Fix for double-Inbox display issue. Removed volumous amounts of Log.d messages.
r53644@31b (orig r157): young.bradley | 2008-12-04 15:14:28 -0500
Fix for wildcard certificates (e.g. issued to *.example.com). Only checking the
trust of the certificate itself, since apparently the full chain causes it to
not work.
r53765@31b (orig r161): ismarc31 | 2008-12-06 18:55:08 -0500
Implemented new functionality for pulling message envelope. Uses a WebDAV call for all messages rather than parsing the stream. Message size is properly set now as well.
r54055@31b (orig r163): jessev | 2008-12-06 19:28:24 -0500
* merge fixes
Believe this fixes the IMAP prefix issue (27)
Trash still deletes itself, which is technically a separate issue, but now it deletes the *right* trash. :)
Create local branch for IMAP prefix fix (Issue 27)
r110@stilgar: brock | 2008-11-03 00:08:29 -0500
Fixed IMAP prefix problem.
Based on this comment in MIME4J, this seems like a win:
* Utility class for working with character sets. It is somewhat similar to
* the Java 1.4 <code>java.nio.charset.Charset</code> class but knows many
* more aliases and is compatible with Java 1.3. It will use a simple detection
* mechanism to detect what character sets the current VM supports. This will
* be a sub-set of the character sets listed in the
* <a href="http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html">
* Java 1.5 (J2SE5.0) Supported Encodings</a> document.
* <p>
* The <a href="http://www.iana.org/assignments/character-sets">
* IANA Character Sets</a> document has been used to determine the preferred
* MIME character set names and to get a list of known aliases.
* <p>