. HTMLized version of plain text email is not loaded up as a MIME part of the message anymore. We use a custom seperate variable in the text body class.
. Free up memory as we go in MessagingController.synchronizeMailboxSynchronous()
. IMAP: We only do a partial fetch of the text body of large messages during background sync. This allow for faster syncs and avoid expensive parsing that lead to OutOfMemoryError
When no accounts are set for automatic sync, the MailService is
stopped. When the MailService is stopped, the Android platform is
given greater leeway in killing the entire K9 process in order to free
system resources.
Fix POP3 deletes. Verizon uses - in their POP3 UIDs, and K9 was
assuming that only Local UIDs have -. Removed that assumption. Also,
after issuing DELE on POP3 connection, need to also issue a QUIT. The
delete code in MessagingController now closes the folder after
deleting a message, which will slow down IMAP deletes, but also
conserve connections, so is probably a net benefit.
synchronization could happen if an Exception was thrown while parsing
an untagged response without using executeSimpleCommand. For
instance, while doing a fetch. Once synchronization was lost, later
commands would fail in surprising ways. One manifestation of such
failures was spontaneously emptying of folders when search results
were not returned properly. The new code makes sure to only accept OK
responses with the tag of the command, and discards the untagged
responses from previous command.
Issue 252
394: Replace code change lost with move of DAmail MailService.java to
K-9. Eliminate the stopSelfs. Without the stopSelfs, the Service
remains active and the Android platform is far less likely to kill the
process, although not absolutely forbidden from doing so. Better will
be to implement the full BroadcastReceiver methodology referred to in
Issue 394, which would allow replacing the stopSelfs, which would make
K-9 a better good citizen.
252: Fix logic for raising and canceling notifications based on number
of new unread messages and total unread messages.