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
a red/bold subject. Can be done in the FolderMessageList using the
hotkey G (toggle) or by long-pressing the message to bring up the
message context menu. Can be done while viewing an individual message
by using the hotkey G (toggle). To-do: add a Flag/Unflag option to a
menu in the individual message view.
Add sending the Answered flag to the IMAP server when replying to a
message. This is currently done as soon as the reply is started.
Perhaps it would be better to wait until the reply is sent, but that
would require keeping additional state with the draft. Messages to
which the user has replied are indicated with a white arrow next to
the subject.
To-do: In the MessageView, provide visual indication of Flagged and
Answered states.
approach should guarantee that the syncing never stalls just because a
single attempt exceeds the (currently 10 minute) WakeLock timeout. At
the sync frequency, K-9 will wakeup again and refresh the WakeLock for
another go at syncing. This should make synchronization much more
reliable in the face of slow or unavailable connections, in particular
ones which hit the socket read timeouts.
Also, fixed the audible notifications so that the ringtone selected
is always for one of the accounts with new unread mail.
Developers now have the option to turn on a fast-flashing LED during
synchronization in order to observe whether synchronization is
happening while the handset is apparently asleep. I think this option
would be aggravating to non-developer users. See
Email.NOTIFICATION_LED_WHILE_SYNCING
Issue 175
Issue 170