Puts quotes around username and password for IMAP authentication.
Also, if authentication fails, closes the connection so that it will
be retried. Otherwise, there is no way to fix the problem, say, by
changing the password in the Incoming Settings.
ConcurrentHashMap seems to serialize as a HashMap. Not sure why or
how.
This change has re-enabled the saving of the unread counts during an
orientation change, giving somewhat fast response. If it fails again,
just comment out the block of code.
Provide two options for each Account:
Compact (which VACUUMs the accounts and prunes recreatable
attachments)
Clear all data (danger!) (which wipes all messages and attachments in
the account, except placeholder deleted messages)
Displays a Toast when the Compact or Clear is queued, and another
Toast with the shrinkage results.
(Also, a small change to increase probability of seeing messages after
a sync, by setting the needsRefresh on all folders when a sync is done.)
orientation change (onResume) until I figure out the
ClassCastException
Will slow down display of unread message counts, but they will show up
after a slight delay.
thread.
Push unread message counting into the background.
Should increase startup performance and reduce black-screens-of-death
that some Market "commentators" report.
Also, updates the per-account unread message count when email account
is finished synchronizing.
Note: Notifications are displayed after all accounts are sync'ed but are delayed to be 1sec. apart
TODO: Display notifications at the end of each individual sync
folders are sorted first by subject, then by date. Subject sorting is
case insensitive and disregards leading re:, fw: and fwd: prefixes.
Threading can be toggled via the T hotkey or the option menu.
The icons could use improvement.
Threading state is maintained during a run of K-9, among all
accounts.
Re-enable instant deletes in MessageView
Deleted message suppression should be generalized into a flag cache,
serving Seen, Flagged, and Answered flags, as well.
Copy message to Trash still needs work, so that no duplicates are ever
visible and server-sync is more clean. This will be especially
important, as the same code will be needed for the future "message
copy/move" facility.
Account settings) for scrolling the navigation buttons with the
message, or keeping the buttons on screen. Scrolling mode can be
automatically switched based on availability of keyboard. (Issue 197
and Issue 194)
Add ability to flag/unflag message from options menu
1) Eliminate the top row Next Message and Previous Message
2) In the bottom buttons for portrait mode, replace Reply and Forward
with Prev and Next
Justification: if you're going to be replying or forwarding, you're
about to embark on a lot of typing, anyway. Having to hit Menu
isn't an undue burden.
3) Prev goes to the adjacent *older* message, next goes to the
adjacent *newer* message
4) In the bottom buttons for landscape mode, added Prev and Next as the
outer buttons
5) Add Account option for hiding the bottom buttons when the keyboard
is available.
Also, temporarily (hopefully!) reverted the instant delete from the
MessageView because it isn't working right. The method here is slower
but safer.
date/time formats. With this change, K-9 can run on original master
or cupcake versions for the platform.
This seems like an excessive amount of code. Perhaps there is a
public API that accomplishes this work. Alternatively, the code in
MessageView.java and FolderMessageList.java should be consolidated
into a utility class used by both of the classes needing this
functionality.
Patches were handling uppercase MIME types were submitted by gwillen
in K-9 issue 94 (MimeBodyPart.java and MimeMessage.java)
and
Josh Guilfoyle as part of Android patch 1539 (MimeUtility.java)
Sorry for missing the attribution on the original commit