1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-12-01 13:32:15 -05:00
Commit Graph

1232 Commits

Author SHA1 Message Date
Jesse Vincent
819692e025 refactor one of the versions of 'getAttachmentUri' in terms of one of
the others. less code == fewer chances to screw up
2010-07-19 01:54:09 +00:00
Jesse Vincent
6d20c65778 remove the old "isdownloading" notification for the current message. 2010-07-19 01:53:49 +00:00
Jesse Vincent
ad7839e46e remove debugging statement 2010-07-19 01:53:30 +00:00
Jesse Vincent
a63beda64b Finish backing out the "sort by received date" patch until we get the
recieved-date support sorted out
2010-07-19 01:53:14 +00:00
Jesse Vincent
111e6f5109 First pass at a "download the rest of this message" button 2010-07-19 01:52:59 +00:00
Jesse Vincent
d0c24e23c7 simplify account loading code by caching Preferences.getPreferences() 2010-07-19 01:52:43 +00:00
Jesse Vincent
7464a1527a Convert for loops to "enhanced" syntax per SDK performance guidelines
(Automatic with Eclipse)
2010-07-19 01:52:18 +00:00
Jesse Vincent
8f1d535630 make it possible to get to global settings from the folder list 2010-07-16 01:24:01 +00:00
Jesse Vincent
b21120405e Use a simple HashSet for our listener set since we don't need the
overhead of the CoWASet
2010-07-16 00:38:32 +00:00
Thialfihar
19ca87a2d5 removed the initiation of "select text" via long press again
Update issue 662
We tried out the long press for a bit and deemed it too sensitive for general usage. It can cause problems with gestures and such, so I removed it again. I hope using the option menu is not too much overhead.
If you want to include it in your custom build or anything, then r 1976 and r1977 should be enough.
2010-07-15 21:35:57 +00:00
Jesse Vincent
f492ee9d0b back out the rest of my localDate changes for now due to user
complaints.
2010-07-15 03:47:45 +00:00
Jesse Vincent
b8e82085f9 At the end of header sync reset the counts. 2010-07-15 03:42:20 +00:00
Jesse Vincent
a58d91f7c7 astyle 2010-07-15 03:42:17 +00:00
Jesse Vincent
d3cc1fdfdc Rather than doing a full count of all the unread messages in each and
every folder for each message downloaded in a session, factor the
"unread messages" count out into the calling code.  It's slightly less
clean, but a pretty huge performance gain.

Fixes issue 1443
2010-07-15 03:42:13 +00:00
Jesse Vincent
1bea931ed0 since we're checking seen status within the notify method, (first thing,
even), we don't need to do it in the caller code.
2010-07-15 03:42:09 +00:00
Jesse Vincent
ff62ae5c23 Don't construct a listenerset clone if we don't need to.
danapple++ suggested the optimization
2010-07-15 03:42:05 +00:00
Jesse Vincent
08581f6538 isRing -> shouldRing so that the code reads sanely 2010-07-15 03:42:01 +00:00
Thialfihar
cc71273c4b remember which message was selected in MessageList in case the list changes while the dialog is up
Fixes issue 906
2010-07-14 18:39:57 +00:00
Thialfihar
91599ae963 ignore gestures during text selection
Fixes issue 662
2010-07-14 18:20:10 +00:00
Thialfihar
510e9acc83 added text selection via "long press" in MessageView, also giving a notification for when text selection starts
Update issue 662
Added the long press initiation of text selection. I also noticed we'll have to make sure text selection is not recognized as a gesture (or at least ignored as gesture).
2010-07-14 18:12:40 +00:00
Jesse Vincent
ed86fc8371 First pass at better end-user visibility into what K-9 is doing when we
appear to "sit" while syncing headers.
2010-07-13 23:59:14 +00:00
Jesse Vincent
49c0601390 cketti points out that I was cloning improperly.
(Also, reading the docs for add, I don't need to check existence first)
2010-07-13 21:54:11 +00:00
Thialfihar
014b6c19c3 svn:eol-style=LF for src and XML resources
Fixes issue 1982
2010-07-13 21:49:28 +00:00
Jesse Vincent
e17707330f reduce lots and lots of code duplication when calling out to listeners. 2010-07-13 21:17:10 +00:00
Jesse Vincent
986237d31f factor common code out of downloadLargeMessages and
downloadSmallMessages (catching a missing condition in one)
2010-07-13 21:17:04 +00:00
Jesse Vincent
70a1eef943 astyle 2010-07-13 21:16:56 +00:00
Jesse Vincent
a85c83f696 Revert "When deciding whether a message is older than a certain date, we should"
This reverts commit 98cab91631692b55ba72231126f612d6b4d4d662.

As Dan rightly suspected, it made pop3 sad :/
2010-07-13 21:16:49 +00:00
Jesse Vincent
8ab165ef31 Allow per-protocol configuration of which wire protocols are
debug-logged
2010-07-13 21:16:42 +00:00
Thialfihar
eda64bf1e7 display the language choices in their native names, added a larger set of native language names, which will be reduced to the supported languages at runtime
Fixes issue 1290
This may be a bit much, but I hope it can make it a little bit easier to add a new language later on and have consistent ordering.
2010-07-13 14:24:21 +00:00
cketti
665efc1448 Work-around to be able to read messages with "charset=0". QUALCOMM Windows Eudora seems to send headers like this.
Fixes issue 1952
2010-07-12 19:45:59 +00:00
Koji Arai
eb7289f97b Reverted a part of r1872.
Should save draft when the home button is pressed.
2010-07-12 14:57:42 +00:00
cketti
49e5ad4963 More cosmetic changes (again no change in functionality) 2010-07-12 02:17:48 +00:00
cketti
173b36d04e Removed unnecessary null pointer check. 2010-07-12 01:39:29 +00:00
cketti
f40a01b0d2 "Optimized" computeBatchDirection() to exit the loop once newState is set to true because it can never be changed to false again. 2010-07-12 01:09:47 +00:00
cketti
6fc14b9e07 Cosmetic changes to the code (no change in functionality) 2010-07-12 01:06:33 +00:00
cketti
e3cb9f4603 Synchronize iterator accesses to mHandler.messages to avoid ConcurrentModificationException in MessageList. Original analysis and patch was provided by fiouzy.
Fixes issue 1598
2010-07-11 22:01:11 +00:00
Jesse Vincent
1485502d47 Add a comment about the reason for a recent commit 2010-07-11 19:40:48 +00:00
Jesse Vincent
5a43acff2a Rather than accidentally reusing a public API function name with a
different signature, give the private command to pull a count
from the remote imap store its own name
2010-07-11 15:41:20 +00:00
Jesse Vincent
227ee95532 Disable the delete button after it's tapped (to try to prevent
accidental clicks)
2010-07-11 15:39:52 +00:00
Jesse Vincent
5d514c2ace extract out "setup message buttons on message display. 2010-07-11 15:39:41 +00:00
Jesse Vincent
20e47991c3 astyle 2010-07-11 15:39:26 +00:00
Jesse Vincent
73da009409 Hide the message header while flipping messages, rather than displaying
the "wrong" thing during load.
2010-07-11 15:31:31 +00:00
Jesse Vincent
00199de3bb Extract "disable buttons" on messageview and disable buttons before
shifting to the next message
2010-07-11 15:31:11 +00:00
Jesse Vincent
0a848d6526 Make the "header" section addressable in messageView (for later hiding) 2010-07-11 15:30:53 +00:00
Jesse Vincent
b3e6844e44 make the 'should we show animations' boolena actually 'showAnimations'
instead of isAnimations.
2010-07-11 15:30:40 +00:00
cketti
0c7d4825cc Avoid NullPointerException when trying to move a message before it is fully loaded (in message view).
Fixes issue 1957
2010-07-11 14:57:00 +00:00
Koji Arai
28d3967d0f Fixes issue 305
Support Content-Id header to show inline images.
2010-07-11 13:44:16 +00:00
Jesse Vincent
c359b2c6bf Comment out redundant logging of IMAP commands
Each IMAP command was logged 3 times in normal operation. It seriously
clouds the logs and makes it much harder to read and debug ongoing
connections
2010-07-11 12:31:47 +00:00
Jesse Vincent
7a543b45b1 Remove duplicate code between two message counting routines in ImapStore 2010-07-11 12:31:34 +00:00
Jesse Vincent
9321a045d9 When counting remote unseen/flagged messages, don't window to only the
most recent 300 messages - Since we display this # to the user, the
"last 300" heuristic ends up confusing and _wrong_ on a regular basis.
2010-07-11 12:31:22 +00:00
Jesse Vincent
ae339f1ac8 Add a per-account setting to choose how much of each message to download automatically. 2010-07-11 11:59:14 +00:00
cketti
e59987fdcb Display an error message (instead of "null") if a message couldn't be decoded because of a missing charset.
See issue 1480 for a test case.
2010-07-11 01:28:08 +00:00
Jesse Vincent
44f161fc7f extract "fetch unsyncced messages" from downloadMessages 2010-07-10 17:10:24 +00:00
Jesse Vincent
c2d9d0e15d extract "sync local message flags" from downloadMessages 2010-07-10 16:42:54 +00:00
Jesse Vincent
35b7fce087 factor out downloadSmallMessages from downloadMessages 2010-07-10 16:42:39 +00:00
Jesse Vincent
9dc3f09068 factor "downloadLargeMessages" out of "downloadMessages" 2010-07-10 16:42:12 +00:00
Jesse Vincent
ab8cdb3522 minor astyling 2010-07-10 16:41:48 +00:00
Jesse Vincent
0f17fc4a83 Factor a bit of code out of a 400 line method. Still needs a lot more
outfactoring
2010-07-10 16:41:34 +00:00
Jesse Vincent
4024cca2aa Add a comment about the custom IMAP command Yahoo! needs to work right. 2010-07-10 16:41:22 +00:00
Jesse Vincent
5aea9e7d9b Remove duplicate code from error message generation 2010-07-10 16:41:07 +00:00
Jesse Vincent
56217e8ad6 Debug message clarity fixes 2010-07-10 16:40:55 +00:00
Jesse Vincent
61b25c8760 only store an internalDate if we actually get it from the server; If we
don't have an internaldate, use the sentdate for sorting comparisons.
2010-07-10 16:40:34 +00:00
Jesse Vincent
52ff331771 When deciding whether a message is older than a certain date, we should
be prefering the date we can ~trust "Internal" to the date asserted by
the sender.
2010-07-10 16:40:13 +00:00
Jesse Vincent
ee63564138 "ReceivedDate" was an unused concept. Its value was never set. 2010-07-10 16:40:00 +00:00
Thialfihar
f2fe826fb3 make MessageList remember the last selected item 2010-07-09 11:12:32 +00:00
Thialfihar
67b23fc797 added a setting for language, overriding the system locale settings
Update issue 1290
2010-07-09 00:27:47 +00:00
Jesse Vincent
dbb4d6e21c Now that we have internal_date on all messages, we should be using it
for sorting. This will prevent spam with ...less true dates from pushing
messages to the top of your list. Additionally, when downloading
messages from the server, they'll actually appear in the order they were
received - the existing behaviour really screwed up users who were
trying to triage mail as it came in.
2010-07-08 16:33:19 +00:00
Jesse Vincent
fd234c2701 If we hit a race condition and download a message after it's already
been marked as suppressed, then don't actually save it locally
2010-07-08 15:49:26 +00:00
Thialfihar
190b597a45 add Archive keyboard shortcut to MessageList, refs issue 3 2010-07-08 15:27:22 +00:00
cketti
365d82407a Make "Settings" work in search folders.
Fixes issue 1844
2010-07-08 13:30:30 +00:00
cketti
8bc42639c4 Fix market-reported NullPointerException
Fixes issue 1660
2010-07-08 01:09:43 +00:00
cketti
1eb37c2031 Added menu option to select & copy text in the message view.
The standard ScrollView causes problems when selecting text (and the message is long enough so scrolling is possible). The newly introduced ToggleScrollView can be set to disable scrolling via touch gestures thus making copying multi-line text sections possible.

Fixes issue 662
2010-07-07 22:14:45 +00:00
Thialfihar
76df04e949 make shortcuts honour the account setting for the startup folder even if changed after shortcut creation, based on cketti's patch, refs issue 1025 2010-07-07 18:31:16 +00:00
Thialfihar
00a8f948eb added launcher shortcuts to accounts, refs issue 1025 2010-07-07 16:17:13 +00:00
Thialfihar
5d4073072f use "http://" as baseUrl in WebView instead of "email://", refs issue 267 2010-07-07 10:54:50 +00:00
Jesse Vincent
a826f33eb3 find src/com/fsck/ -name \*.java|xargs astyle --style=ansi
--mode=java --indent-switches --indent=spaces=4 --convert-tabs
--unpad=paren
2010-07-06 10:29:26 +00:00
Thialfihar
96b93f7327 minor coding style fixes 2010-07-05 18:06:30 +00:00
Thialfihar
8752347b5f merged archive-move-spam-buttons into trunk 2010-07-05 13:41:52 +00:00
cketti
42b0845522 Remember last selected folder for copy and move operations and scroll this folder into view on subsequent folder selections (for move and copy operations).
Fixes issue 1538
2010-07-04 23:29:57 +00:00
Koji Arai
a5a1ae7d28 Fixes Issue 41
Should query whether saving the draft message or discarding when back button was pressed.

Suppress to save the draft message automatically when attaching any file.
2010-07-04 17:46:55 +00:00
Thialfihar
24079b673d some old code removed 2010-07-04 14:52:32 +00:00
Thialfihar
03b28c8b68 Added account settings for "archive" and "spam" folders. See issue 3. 2010-07-04 13:48:06 +00:00
Daniel Applebaum
cdbcb188ec Fixes Issue 1664
Correct thread safety on some member variables when doing null checks.

Explicitly check for mMessageCount == -1 and stop=true in idling loop.

However, the original error message "Message count = -1 for folder"
will still arise in some circumstances and is a valid error to
report.
2010-07-03 15:22:54 +00:00
Daniel Applebaum
318099082f Fixes Issue 794
Implements new setting "Sync remote deletions" which is checked by
default.  When unchecked, K-9 Mail will no longer remove messages from
local storage just because the message was removed from the server.
This functionality works for all account types.  Messages will still
be removed from the local store in order to stay within the limit
imposed by the "Number of messages to display" setting.
2010-07-03 13:10:38 +00:00
cketti
45339457f8 Added preference to go to Integrated Inbox on application startup.
Fixes issue 1797
2010-07-03 00:26:35 +00:00
Fiouz
e8cb293e03 Fixes Issue 1887
Save/restore In-Reply-To/References headers on configuration change
2010-07-02 21:17:06 +00:00
Koji Arai
dab0c9a97f Fixes Issue 1914
Show To, Cc and From headers on the part of additional headers without fetching all headers.
2010-07-02 14:57:55 +00:00
Koji Arai
3ee3fad3d6 Fixes Issue 1915
Added the vibrate pattern preference.
2010-07-02 14:47:01 +00:00
Daniel Applebaum
9d2276aa0a Fixes Issue 1790
Refresh dialog "message" each time the dialog is raised.
2010-06-30 00:41:27 +00:00
Daniel Applebaum
3c146c5a7f Fixes Issue 1832
If the message isn't worth showing immediately, it is not worth
saving!

(Don't save a message unless we get at least a non-null subject and
non-null sender during first pass sync.)
2010-06-30 00:16:59 +00:00
Daniel Applebaum
fc55c54db0 Fixes Issue 1875
Change initial value for maximum message age to -1 (unlimited) instead
of erroneous 10.
2010-06-28 02:51:47 +00:00
cketti
7adc168471 Added a null pointer check to protect from NullPointerExceptions.
See issue 1749
2010-06-21 18:17:10 +00:00
Jesse Vincent
e485aa83c6 Fix for the abiltiy to hit "Back" out of global preferences after
switching away from K-9 and back again.

Fixes issue 1791

Patch by fiouzy@gmail.com
2010-06-21 14:39:22 +00:00
cketti
4a6b99b647 Fixed some warnings 2010-06-20 14:19:01 +00:00
cketti
d5f53a99e6 Removed comment 2010-06-20 14:11:16 +00:00
cketti
648e3bd829 Added option to specify the message quote prefix character/string (default ">"). Applied patch provided by fiouzy (Thanks!) with some small modifications.
Fixes issue 1830
2010-06-20 14:07:03 +00:00
cketti
7f625b5ef4 Added option to specify Reply-to address for an identity. Patch provided by fiouzy (Thanks!).
Fixes issue 1762
2010-06-20 12:48:22 +00:00
cketti
e529bed259 Added option to return to the message list after deleting a message in the message view activity. Patch provided by fiouzy (Thanks!)
Fixes issue 1634
2010-06-20 12:15:29 +00:00
cketti
a5c5aaa054 Better handling of cases where a special folder is set to INBOX (e.g. Sent folder = INBOX). Make sure we count unread messages and don't exclude the Inbox from notifications in this case.
Fixes issue 1817
2010-06-17 12:42:22 +00:00
cketti
6b5e9949d7 Show "From", "To", "Cc" headers in "raw" form when displaying all message headers.
Fixes issue 1805
2010-06-16 19:58:09 +00:00
cketti
4f7ab92985 Move to next/previous message in message view if a message was moved.
Fixes issue 1621.
2010-06-14 13:46:08 +00:00
Daniel Applebaum
8cb7f8f317 Fixes Issue 1763
Patch from jca02266 to use locale independent date formatter.
2010-06-11 12:56:01 +00:00
Jesse Vincent
dcd83f243b For post-2.8 - start at replacing text buttons with image buttons.
better images are desperately needed.
2010-06-10 03:37:23 +00:00
cketti
2aac012282 Folder.fetchPart() is called when it shouldn't be. Disabled the exception for now. See issue 1733 2010-06-09 19:44:35 +00:00
Jesse Vincent
504f1b7e17 Fixed 1597
Switching "Touch-friendly view" option from message list view no longer causes NullPointerException / Force close
2010-06-09 02:45:28 +00:00
Daniel Applebaum
c3739bb43b Fixes Issue 1755
r1789 has incorrect Issue (1411) mentioned.
2010-06-09 00:16:55 +00:00
Daniel Applebaum
6476281379 Fixes Issue 1411
Only automatically finish the FolderList Activity when actively
managing the back button.
2010-06-08 23:26:48 +00:00
Daniel Applebaum
80ed18c469 Fixes Issue 422
Committing this change to properly credit 'mpredosin' with the patch
committed at r1783 "Convert to hierarchical traveral from deep
traversal."
2010-06-08 11:33:47 +00:00
Jesse Vincent
87a567ea40 Bullet proofing to make IMAP fetches not break when folders have insane
default visible limits.
2010-06-08 02:37:18 +00:00
Daniel Applebaum
07f9abe162 Fixes Issue 422
Convert to hierarchical traveral from deep traversal.
2010-06-08 01:01:20 +00:00
Daniel Applebaum
bcb986451e Fixes Issue 1728
Use the default account when composing from search results.
2010-06-08 00:45:07 +00:00
Daniel Applebaum
dd86cdfec6 Fixes Issue 1732
Initialize mDisplayCount to a valid value.
2010-06-07 15:55:14 +00:00
Daniel Applebaum
e1d3f38b11 Fixes Issue 1732
Handle accounts with negative (invalid) saved display count values.
2010-06-07 15:51:02 +00:00
Jesse Vincent
421ecac997 Strip PGP headers from message preview 2010-06-06 22:28:29 +00:00
Jesse Vincent
c287c2e7df Patch from fiouzy to fix back-button in folderlist when you don't have
"Manage Back Button" enabled.
2010-06-06 21:48:44 +00:00
Jesse Vincent
366ce15196 Very first pass at contextual search. This _should_ end up as a submenu
with searches for "Same recipient", "In this conversations", "On this
date", etc.
2010-06-06 21:33:44 +00:00
Jesse Vincent
4bfebe42f1 Allow users to choose whether they want plaintext messages to be
fixed-width when uprezzed to HTML.
2010-06-06 21:33:33 +00:00
Jesse Vincent
0624f119df Gr. typo to my "word character" regex 2010-06-06 21:33:15 +00:00
Jesse Vincent
222808b51d Bump up preview length from 160 to 250 to make better use of larger
displays
2010-06-06 21:33:05 +00:00
Jesse Vincent
18cf923072 Only strip : lines containing word characters. This should improve the
preview when someone sends mail starting with a time. (12:01)
2010-06-06 21:32:57 +00:00
cketti
84d5e7216d Fix a crash when using the back button in a search results list with "Manage Back button" preference enabled.
Fixes issue 1716
2010-06-06 14:47:24 +00:00
cketti
576078e778 Prefix IPv6-addresses with "IPV6:" in EHLO command.
Fixes issue 1708
2010-06-03 01:00:24 +00:00
cketti
3812c75f66 Applied patch by fiouzy to read In-Reply-To and References header from saved draft.
Fixes issue 1686
2010-06-02 16:29:59 +00:00
Daniel Applebaum
6d6a9d0ffd Fixes Issue 1707
Eliminate extraneous spaces

Also, abort IMAP IDLE connection attempt if mConnection is null before
IDLEing.  Otherwise, we cannot set the idle timeout.
2010-06-02 14:25:04 +00:00
cketti
64c7df60ab Don't log sensitive information in SMTP commands when "Log sensitive
information" is unchecked. Applied patch by fiouzy with some small modifications.

Fixes issue 1387
2010-06-02 13:14:30 +00:00
Daniel Applebaum
a308ce8a2d Eliminate expensive and unused expungedUid map. 2010-05-31 15:21:51 +00:00
Daniel Applebaum
b35f807820 Fixes Issue 227
Provide for controlling the maximum age of syncrhonized messages.
Efficient with IMAP, much less efficient with other Stores.
2010-05-30 21:20:47 +00:00
Daniel Applebaum
dedfd026be Fixes Issue 254
Provide for only showing folders that are subscribed on the server
(IMAP only)

Also:
Change default for Notification behavior to the old way.  Make going
to the search for unread messages off by default.

Fix up some hiding of labels, etc. on the incoming server settings.

Check for message suppression in search results.
2010-05-30 16:56:50 +00:00
Jesse Vincent
1a66072910 find src/com/fsck/ -name \*.java|xargs astyle --style=ansi --mode=java --indent-switches --indent=spaces=4 --convert-tabs --unpad=paren 2010-05-30 04:17:00 +00:00
Jesse Vincent
6b5bcd2c4d Make the back button behaviour configurable. The default should remain
identical to the most recent behaviour. As an option, the user can force
back to always go "up" a level like Jesse likes
2010-05-30 04:16:44 +00:00
Jesse Vincent
49c4a4f97c refactor search code to allow us to search on specific fields. 2010-05-29 21:56:17 +00:00
Jesse Vincent
cce6a95c2c start using the android API for "/sdcard" 2010-05-29 21:56:09 +00:00
Daniel Applebaum
291f6d18a2 Fixes Issue 1643
Fixes Issue 1664

Issue 1643: Some servers respond with an untagged EXISTS to every
NOOP.  This change parses through all untagged responses in a loop
until no more are being generated, avoiding calling internalOpen each
time.

Issue 1664: I have never personally seen this error, and the log looks
like a thread safety problem.  mMessageCount is being set in one
thread (the IDLE thread) but not properly visible in another thread
(the check mail thread).  mMessageCount and other ImapFolder private
variables are now volatile in hopes of correcting this problem.
2010-05-26 03:24:33 +00:00
Daniel Applebaum
3f0aada43b Eliminate duplicate calls to notifyAccount while synchronizing a
folder.
2010-05-22 22:00:06 +00:00
Daniel Applebaum
a8339dfe9d Provide for tracing length of WakeLock activity.
Improve thread safety using volatiles.
2010-05-22 21:58:35 +00:00
Daniel Applebaum
5e3e204a4c Fixes Issue 1643
Enhance K-9 Mail to be more tolerant of non-compliant IMAP servers.
Do not require a space following the + in command continuation
requests.  The rest of the token parser will swalow the space if it is
actually there but we don't really need it.
2010-05-22 20:52:01 +00:00
Daniel Applebaum
8eeebc593a Handle thread interruptions better and fix some race conditions. 2010-05-22 17:35:05 +00:00
Daniel Applebaum
24b178773f Make sure prefix is fetched before any call to getCombinedPrefix. 2010-05-22 17:34:16 +00:00
Daniel Applebaum
493cdc4f5d Correct push restart logic 2010-05-22 15:08:27 +00:00
Daniel Applebaum
6c814fb5e7 Fixes Issue 1653
All set the display class, whether or not in push mode.
2010-05-22 14:28:04 +00:00
Daniel Applebaum
7ca2086c73 Fixes Issue 1652
Fixes Issue 1644

Grab correct color from preferences storage for LED.

Also, remove LED and chip colors on account deletion.
2010-05-22 14:07:02 +00:00
cketti
5627117ddf Use 997 as maximum line length for References header. See http://code.google.com/p/k9mail/source/detail?r=1714 for details. 2010-05-21 16:37:45 +00:00
cketti
c5486469c2 - Add menu item to show additional headers in the message view
- Add option to save all headers locally (incoming server settings)

Applied patch provided by timmlinder with small modifications.

Fixes issue 43
2010-05-21 15:34:29 +00:00
cketti
c29722a56c Make sure the References header doesn't exceed 998 characters and the value won't get Q-encoded. Thanks to fiouzy for providing the patch.
Fixes issue 1559
2010-05-21 12:20:32 +00:00
Daniel Applebaum
6afb8c8506 Make sure to compare capabilities using upper case. 2010-05-20 11:55:42 +00:00
Daniel Applebaum
f318fc159b Fixes Issue 1641
Populate text and subject when handling ACTION_SENDTO
2010-05-20 11:08:40 +00:00
Daniel Applebaum
59f22d8e7e Save capabilities in upper case so we handle them case-insensitively,
too.  Make sure all CAPABILITY-detection constants are written in
upper case.
2010-05-20 04:19:15 +00:00
Daniel Applebaum
d873ecbe7a From cketti's reminder: check untagged response with equalsIgnoreCase.
Also, reset mCombinedPrefix when the delimeter is discovered.
2010-05-20 04:13:49 +00:00
Daniel Applebaum
af55c6f48b We don't need to log the content of the map each time we add to it. 2010-05-20 03:38:16 +00:00
Daniel Applebaum
44da2e1fe6 After discussion with cketti, reinstate using LIST to find the path
delimeter, but only if the server does not support NAMESPACE.  Since
we've encountered non-compliant servers that freak out at the LIST
command, enclose in a try/catch structure so that failures do not
totally prevent IMAP communication.
2010-05-20 02:33:44 +00:00
cketti
6e3183f54f Moved classes Regex and DomainNameChecker from android (package) namespace to K-9 namespace. This way we're protected from modifications to these classes in future Android versions. 2010-05-19 19:16:36 +00:00
cketti
b5a6a28f19 Fixed some more warnings:
- Removed unused imports
- Removed unnecessary @SuppressWarnings("deprecation") annotations
- Added @SuppressWarnings("deprecation") to API 1-3 code that's now (API 5) deprecated
- Added missing @Override annotation
2010-05-19 18:44:22 +00:00
cketti
26bd72573e Removed unused imports. 2010-05-19 18:32:30 +00:00
cketti
58b8479612 Code refactoring:
- Created "controller" and "mail.filter" package
- Moved a lot of classes to new/other packages
- Removed unused classes: NoSuchProviderException, MessageDateComparator
2010-05-19 18:17:06 +00:00
cketti
22ce159fe6 Merge imap-parser branch.
Fixes issue 1547.
2010-05-19 13:31:48 +00:00
Daniel Applebaum
0e3f9a9db4 Synchronize access to encapsulated WakeLock 2010-05-17 02:33:19 +00:00
Daniel Applebaum
f8994f6491 Turn off tracing by default.
Lower log level.
2010-05-17 01:04:42 +00:00
Daniel Applebaum
9cf42ef913 Provide for tracking all WakeLock usage.
Simplify WakeLocks use by pushing.

Correct fault in IMAP IDLE WakeLock usage.  The ThreadLocal in
MessagingControllerPushReceiver meant that the WakeLock acquired when
the DONE was sent was not being released when entering back into IDLE
state.

Consolidate the account notification so that all Activities use the
methods in MessagingController.
2010-05-17 00:30:32 +00:00
Daniel Applebaum
71c43b9634 Fixes Issue 1482
Utilize cketti's AutoSyncHelper in order to provide a way to make K-9
Mail obey the global Auto-sync setting.  K-9 Mail doesn't obey the
Auto-sync setting by default because K-9 Mail isn't listed as one of
the listed applications.
2010-05-15 21:26:15 +00:00
Jesse Vincent
a59ade4fdd When no messages are selected yet, "Select all" is the only valid batch
option. Instead of forcing the user through a submenu, show "Select all"
instead of the submenu
2010-05-15 21:03:44 +00:00
Jesse Vincent
ea6bb0000e Let users pick LED Notification colors different from their account chip colors 2010-05-15 20:35:59 +00:00
Jesse Vincent
384803076d When instantiating an account, set the default color to something
random, rather than blank, so that new accounts don't endup without
colors.
2010-05-15 20:35:47 +00:00
Jesse Vincent
f799be05c9 Account.java had developed dos line-endings. :/ 2010-05-15 20:35:39 +00:00
Jesse Vincent
ecebdf18cd find src/com/fsck/ -name \*.java|xargs astyle --style=ansi --mode=java --indent-switches --indent=spaces=4 --convert-tabs --unpad=paren 2010-05-15 19:46:16 +00:00
Daniel Applebaum
b51bce6ebf Fixes Issue 1551
Fixes Issue 1577

Issue 1551: 
Some IMAP servers send untagged EXPUNGEs to IDLEing
clients without ever haven't sent an untagged FETCH.  The untagged
EXPUNGEs are harder to deal with because they don't have a UID.  So,
if the user has elected to have the IDLE connection start with a poll,
we can maintain a map of message sequence numbers to UIDs that we can
use to figure out which message to delete.  To mitigate the risk of
the map falling out of date, we do a UID SEARCH UID before removing
the local copy of the message, just to make sure the message is really
gone from the server.  If we detect an error, do another poll to
resync the map.

Issue 1577:
Restore the removal of notifications for an account when the account's
unread message count goes to 0.
2010-05-15 19:35:07 +00:00
Daniel Applebaum
1502660826 Fixes Issue 1561
The user can elect to have opening a Notification open a
account-specific search for unread messages.
2010-05-12 05:35:08 +00:00
Daniel Applebaum
8b92bc3836 Fixes Issue 1474
Fixes Issue 1562

Issue 1474:
Provide new facility to totally wipe all data for an account but leave
settings intact.  This is useful because sometimes storage is so full
that SQLite cannot perform the usual VACUUM or message deletion.

Add confirmation dialogs to destructive Clear and Recreate operations.

Remove destructive Clear from FolderList so as not to have to
duplicate the confirmation dialogs.

Issue 1562:
Suppress notifications when new messages arrive in Trash, Sent or
Drafts special folders.
2010-05-12 04:17:52 +00:00
Jesse Vincent
e77729cb2d First pass at getting a blinky LED that's the account's color 2010-05-12 03:06:11 +00:00
Jesse Vincent
093d65513a Clickable folder icons in account lists to get to folder lists, even if
there's an auto-open folder
2010-05-12 02:52:10 +00:00
Jesse Vincent
ba021597c4 astyle 2010-05-12 02:51:59 +00:00
Jesse Vincent
1bf1643987 Move Account and Folder settings into a submenu. give access to global
preferences from there, too. - many users never leave their inboxes
making it hard to get up to Settigns
2010-05-12 01:18:12 +00:00
cketti
2121ebc012 Correctly encode attachment filenames with non-ASCII characters. Thanks to jca02266 who provided the base patch.
Fixes issue 1555
2010-05-11 15:05:50 +00:00
Daniel Applebaum
d5b128e8cf Specify that our notifications use the Notification audio stream. 2010-05-11 04:13:23 +00:00
cketti
6a40fd1f46 Helper classes to get the state of the Android auto-sync setting. Implementation differs for SDK 1.5, SDK 1.6 and SDK 2.0+. See issue 1482 for more details. 2010-05-10 20:15:41 +00:00
cketti
37b42f58a6 Fix error handling code in DB upgrade. 2010-05-10 00:14:26 +00:00
Daniel Applebaum
6562d43f56 Cleanup logic for controlling visibility of email field for each
account.
2010-05-09 15:50:58 +00:00
Daniel Applebaum
6aeac22dad Fixes Issue 300
Fixes Issue 772
Fixes Issue 852

Issue 300: Handle incoming IMAP tokens in a case-insensitive manner

Issue 772: Add Yahoo workaround

Issue 852: Add configurable IMAP IDLE refresh frequency in Incoming
server settings

Also:
Add configuration option for whether push system executes a poll on
each connect.

Move the configuration for the maximum number of push folders to the
Incoming server Settings.
2010-05-09 15:27:41 +00:00
cketti
29e024b24e Fixed small indentation issue. 2010-05-06 13:27:42 +00:00
Daniel Applebaum
e55d3019c3 Really fix this (I hope) based on more feedback from cketti. 2010-05-06 13:24:13 +00:00
Daniel Applebaum
590b222507 Code cleanup as suggested by cketti. 2010-05-06 11:29:26 +00:00
cketti
683f31e32e Code cleanup: Fixed some warnings 2010-05-03 13:46:55 +00:00
Jesse Vincent
c31b224de3 enable dan's new "resync accounts on reconnect" code for push 2010-05-03 00:20:27 +00:00
cketti
582c3f82b8 New preference setting to add buttons to attach images or videos which is needed to work around a bug in Gallery 3D. Buttons are enabled by default if a buggy Gallery 3D version is found.
Thanks to dman13 for providing the work-around and analysing the bug.

Fixes issue 1186
2010-05-02 18:24:33 +00:00
Daniel Applebaum
989e89f5b0 Fixes Issue 1048
Zero out unread and flagged counts on all folders in an account being
cleared.
2010-05-02 05:37:48 +00:00
Daniel Applebaum
6e9145f037 Adjunct to the new variable font sizes, allow the Account list and
Folder list items to vary in size based on the font sizes.
2010-05-02 04:54:09 +00:00
cketti
331a6ca99b - Always use light theme for the message view since we don't change the colors of the WebView (i.e. it always uses black text on a white background).
- Always display the date in the message view
2010-05-02 00:10:55 +00:00
Daniel Applebaum
68e7b7fa21 Fixes Issue 323
Fixes Issue 1105
Fixes Issue 1395
Fixes Issue 1421
Fixes Issue 1426

When the remote store is incapable of returning an unread message count (POP)
or a flagged message count (POP, WebDAV), count the number of local
messages with the desired atributes.
2010-05-01 23:20:54 +00:00
cketti
f706861599 Show "(No subject)" in the message view for mails without subject. 2010-05-01 23:15:59 +00:00
cketti
fd26ec475a Show "(No subject)" in the message list for mails without subject. 2010-05-01 23:12:27 +00:00
Daniel Applebaum
211d30582a Cleanup obsolete imports 2010-05-01 21:53:50 +00:00
Daniel Applebaum
d6fca0f1e9 Get rid of log used while debugging. 2010-05-01 20:11:42 +00:00
Daniel Applebaum
ee1b4b70e2 Fixes Issue 1412
Keep search results in sync with newly arrived or deleted messages.
Intentionally does not remove messages from search results due to
flag (flagged/starred or read/unread) state changes, because that
would be awkward while manipulating messages in search results.
2010-05-01 20:06:52 +00:00
cketti
c6fee3efb9 Quoted strings can contain '"' in escaped form. readStringUntil() fails to unescape and will will return prematurely when the string contains an escaped '"' character.
Fixes issue 512.
2010-04-30 13:51:19 +00:00
Jesse Vincent
8af7f4a7b6 find src/com/fsck/ -name \*.java|xargs astyle --style=ansi --mode=java --indent-switches --indent=spaces=4 --convert-tabs --unpad=paren 2010-04-29 04:59:14 +00:00
Daniel Applebaum
4c6df71fe1 Reduce logging level, and make Logs only happen when K9.DEBUG is true. 2010-04-27 05:00:08 +00:00
Daniel Applebaum
0459be3bb8 Fixes Issue 868
When connected to a server that does not automatically send an
untagged UIDNEXT with the responses to SELECT, explicitly SEARCH for
the currently highest UID in the folder on the server and then add 1
to it to get the UIDNEXT.
2010-04-27 04:06:26 +00:00
Daniel Applebaum
3f771474c1 Fixes Issue 1477
Keep mSelectedCount in sync with the number of selected messages.
2010-04-27 03:26:54 +00:00
Daniel Applebaum
78a101547c Provide for doing a full poll/sync of a folder whenever the IMAP IDLE
connection is established.  Turned off for now, but just get rid of
the false && on line 2641 in order to enable it.
2010-04-27 03:02:17 +00:00
Jesse Vincent
55d70c3bf7 rather than fetching 10 messages on push reconnect, fetch a full
compelment of displayable messages. This should help eliminate "Gaps"
when reconnecting push connections after going offline.
2010-04-26 16:20:43 +00:00
Jesse Vincent
ac36016b86 Only show the "Cc" lines in message view if there's a Cc. 2010-04-26 15:23:57 +00:00
Jesse Vincent
417db22879 Consistent random colors for accounts without color chips 2010-04-26 14:25:37 +00:00
Jesse Vincent
7b75788398 drop the intensity of the account color chips a bit 2010-04-26 14:25:18 +00:00
Daniel Applebaum
c01adf3246 If we're doing a folder-involved search and an account has no folders
that match the folder criteria, don't search in the account.
2010-04-25 17:52:59 +00:00
Daniel Applebaum
d7f18c7e35 Finally get the interaction right between integrated folder,
searchable folders, and the various search strategies.

Integration takes precedence over searchability.  The Integrated Inbox
doesn't care about folder searchability.  Nor does an unread or flag
search on specific folders.

Searches on specific accounts always go for displayable folders.  That
might need to change so that searches on specific accounts can be on
DISPLAYABLE or ALL, but never NEVER.  But in the current approach,
account-specific searches are done from the Accounts Activity, which
has an unread counter based on displayable non-special folders, so the
present implementation is the most logical for now.
2010-04-25 16:43:11 +00:00
Daniel Applebaum
267f02fc48 Add a color chip to the left side of the message headers so that it is
possible to tell in which account the message is located.  Especially
useful when traversing search results in the MessageView.
2010-04-25 16:33:32 +00:00
Daniel Applebaum
6686c3a910 Fixes Issue 1473 2010-04-25 14:47:10 +00:00
Jesse Vincent
167e856b15 default accounts to random colors rather than black 2010-04-25 09:07:34 +00:00
Jesse Vincent
c649073fa7 Finish removing the old Android 1.0 chips 2010-04-25 08:59:59 +00:00
Jesse Vincent
d6bc0765d8 Allow users to set the account 'Chip' color per account. 2010-04-25 08:47:24 +00:00
Jesse Vincent
6bf429fd0d Initial import of the android "demo" color picker dialog 2010-04-25 08:46:37 +00:00
Daniel Applebaum
6cfcfb953f Aggressively get rid of obsolete Flag X_NO_SEEN_INFO. It was
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.
2010-04-25 06:17:15 +00:00
Daniel Applebaum
c7d679f773 Folder List should use Folder List-specific font sizes. 2010-04-24 19:15:43 +00:00
Daniel Applebaum
f185240f67 Make stars and envelopes on folder active. 2010-04-24 19:10:57 +00:00
Daniel Applebaum
4bec5ea2a3 Remove MessageReference from local list of MessageReferences when
message is deleted.
2010-04-24 18:02:45 +00:00
Daniel Applebaum
a2f4391501 Fixes Issue 1341
Pass around simple Serializable MessageReference objects containing
account UUID, folder name and message UID so that MessageView can
traverse lists of messages which span folders and accounts.
2010-04-24 14:59:27 +00:00
Daniel Applebaum
e7e59ef858 Fixes Issue 1450
Fixes Issue 1456

Don't add canned searches to account list if no real accounts exist.

Fix NPE.

Prep work for searching named folders.
2010-04-24 04:35:39 +00:00
Daniel Applebaum
8e0ee1a6e1 Star and envelope are now active for regular accounts. 2010-04-22 04:58:50 +00:00
Daniel Applebaum
41c5dc5986 Fixes Issue 1448
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.
2010-04-22 02:20:35 +00:00
cketti
8ebbc611e9 Fix NullPointerException when using the touch friendly message list. 2010-04-21 00:58:09 +00:00
cketti
f8695f9a61 Added preference screen to pick font sizes for all important information in account list, folder list, message list and message view.
Fixes issue 7
2010-04-20 16:37:03 +00:00
Daniel Applebaum
9310f3f6c6 Fixes Issue 1441
Shutdown threadPool when Service is destroyed.
2010-04-20 03:22:43 +00:00
Daniel Applebaum
e22f3d2c1b Provide user control over the account size measurement and search
result counting that are displayed in the Accouts Activity.  These can
both be slow, so some users may opt-out.
2010-04-19 02:55:02 +00:00
cketti
1d361d751e Added meta-Tag with charset=utf-8 to about box html source to fix UTF-8 issues. Thanks to gerberstef for the patch.
Fixes issue 1434
2010-04-18 16:57:49 +00:00
cketti
a7f9cf0037 Removed unused code implementing the UrlInterceptHandler interface 2010-04-17 21:28:59 +00:00
cketti
57acdb7033 Create 'folders' table with 'flagged_count' field when installing K-9 Mail. Previously it was only added when updating the application. 2010-04-17 21:27:06 +00:00
Daniel Applebaum
405d5f2e59 Only show flag-oriented pre-canned searches when message stars are
enabled.  This is an interim workaround for Issue 1411.
2010-04-17 04:41:25 +00:00
Daniel Applebaum
f27aa4c5c0 Only show flagged message counters when star preference is selected 2010-04-17 04:33:25 +00:00
Daniel Applebaum
5bd24fe425 Fixes Issue 1410
Fixes Issue 1431

Present flagged message count inside a star, matching the visual
presentation on individual messages.

Provide display of unread and flagged message counts for canned
searches.

Perhaps the message counts for searches and account size display
should be defeatable for improved speed.
2010-04-17 03:32:17 +00:00
Daniel Applebaum
7cf0ec7327 Needed for prior commits 2010-04-16 18:34:36 +00:00
Daniel Applebaum
5e30d5a784 Fixes Issue 1429
Remove dead code.
2010-04-16 14:46:44 +00:00
Daniel Applebaum
1079e03495 Fixes Issue 1430
Displaying the progress in the list was way too slow.
2010-04-16 14:44:01 +00:00
Daniel Applebaum
664c4d6a78 Fixes Issue 1394
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.
2010-04-16 14:33:54 +00:00
cketti
110a6eb1c7 Removed unnecessary null pointer check. 2010-04-16 12:48:03 +00:00
cketti
57cc4cd735 Code cleanup. Fixed lots of warnings reported by Eclipse.
- Removed unused imports
- Removed unused variables/code
- Parametrized raw types
- Added @Override annotations
- Added hashCode() when equals() was overriden
2010-04-16 12:20:10 +00:00
Daniel Applebaum
86f3b28f79 Fixes Issue 1413
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
2010-04-15 03:17:25 +00:00
Daniel Applebaum
47a80fbd6c Fixes Issue 1130
Fixes Issue 1308

Some IMAP servers seem not to provide an INTERNALDATE response.
2010-04-14 13:02:04 +00:00
cketti
d90e4020be Fixed NullPointerException if home button was pressed in AccountSetupBasics activity and no account object was created yet. 2010-04-08 11:54:41 +00:00
cketti
96489049d9 Use android.text.util.Regex.EMAIL_ADDRESS_PATTERN for email address verification before account creation.
Fixes issue 1386
2010-04-08 11:51:54 +00:00
Daniel Applebaum
0cd04a66c1 Terminate pointless comment. 2010-04-06 04:27:47 +00:00
Daniel Applebaum
9a8126d89c Addresses Issue 1348 and Issue 95
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.
2010-04-06 02:54:48 +00:00
Daniel Applebaum
d08c9d6ce2 Fixes Issue 957
Fixes Issue 868

May not be perfect, either, but may help in some situations with
getting all emails to arrive via push.
2010-04-06 02:39:57 +00:00
Daniel Applebaum
3c7eea7fa5 Remove controller first 2010-04-06 02:38:22 +00:00
Daniel Applebaum
9d2a4c3af9 Protect against a NullPointerException that happened once, but should
never have happened.
2010-04-06 02:35:42 +00:00
cketti
0a4577c930 Added code to only return newly created Account objects once they have been saved to the database (or are requested by UUID). This will allow the account creation process to be aborted without the application crashing (see issue 1375).
I don't particularly like this fix and hope to find a more elegant solution to this problem.

Kind of fixes issue 1375
2010-04-03 23:44:26 +00:00
cketti
f911b0e436 Added support for the Android 1.6 intent android.intent.action.SEND_MULTIPLE in a way that should work on older devices too. Worked fine in the Android 1.5 emulator.
Fixes issue 1210
2010-04-02 01:43:56 +00:00
Daniel Applebaum
5d18781156 Fixes Issue 1343
Fixes Issue 1126

Apply skisters2's patch for the POP notifications.  Also, add another
setRingNotified at the beginning of each poll to make sure the account
is in the right state.
2010-03-30 02:58:21 +00:00
cketti
648bec3efc Include support for another bad date format in the IMAP response parser.
Fixes issue 1295
2010-03-25 15:21:05 +00:00
cketti
50cd60787f Don't convert MIME content-type headers to lower case as this seems to cause problems.
Thanks to xingwang.xu for the analysis.

Fixes issue 1289
2010-03-25 14:39:07 +00:00
cketti
d595033fa8 Work-around for a buggy POP3 server software that places "+OK" in front of every line of the unique-id listing (UIDL response).
Fixes issue 1237
2010-03-25 13:42:48 +00:00
cketti
938317e700 Get rid of the "Did not get proper search result" message. This helps with buggy IMAP servers that don't return an untagged SEARCH response if nothing was found. Other untagged responses are simply ignored.
Fixes Issue 907
2010-03-25 01:24:21 +00:00
Jesse Vincent
a923d066d4 Revert "Fix for issue 1138: New emails after the first do not play new mail ringtone until notifications are cleared by skister2"
(Temporary revert until an NPE is dealt with)

This reverts commit 4bf862a827a456ffed20be707387b9ca4f2b721f.
2010-03-24 01:11:58 +00:00
Jesse Vincent
8ca034c3db Patch for issue 946: Only able to get contacts from a primary google
account by cketti
2010-03-23 03:19:12 +00:00
Jesse Vincent
50d1d7e7aa Fix for issue 1138: New emails after the first do not play new mail ringtone until notifications are cleared by skister2 2010-03-23 02:41:45 +00:00
Daniel Applebaum
fa73f71e95 Fixes Issue 790
Tolerate malformed UIDL response.  Thanks to @bengnc for thorough
analysis in Issue 790.
2010-03-18 03:43:39 +00:00
Daniel Applebaum
76f33ba5ff Fixes Issue 1330
Flush the output stream so that small messages have bodies.  (And
presumably so that the entirety of big messages are sent.)
2010-03-18 03:23:45 +00:00
Daniel Applebaum
ec9f395498 Fixes Issue 1090
Don't try to fetch content while reporting errors.

Generate unique URL for each upload.
2010-03-18 02:50:05 +00:00
Daniel Applebaum
24d96c36da Fixes Issue 1284
Remove notifications for removed accounts
2010-03-13 05:00:01 +00:00
Daniel Applebaum
bbedf7b9e0 Fixes Issue 1314 2010-03-13 04:49:15 +00:00
Daniel Applebaum
9d5803b174 Fixes Issue 981
Allow user to turn off gesture-based control.

Also, consolidate so that gestures could be used by other subclasses
of K9Activity.  Probably should be made usable to K9ListActivity, too,
by making MyGestureDetector its own class and make it used by
K9Activity and K9ListActivity, and have the Activities implement a
callback interface for onNext and onPrevious.
2010-03-07 23:43:27 +00:00
Daniel Applebaum
f0808fb3e0 Fixes Issue 1291
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.
2010-03-07 17:02:21 +00:00
Daniel Applebaum
ecc10e572f Fixes Issue 1224
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.
2010-03-07 00:30:40 +00:00
Daniel Applebaum
c0e4220b82 Fixes Issue 1116
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
2010-03-04 04:00:30 +00:00
cketti
6fb59467b7 Changed SmtpTransport.writeLine() to only use one OutputStream.write() call. Apparently some servers got the "be liberal in what you accept from others" part of the robustness principle wrong. When we used multiple calls in writeLine() (command + CR + LF) a separate TCP packet was send each time. It appears that those broken servers accepted the DATA command after DATA + CR and interpreted the LF as part of the actual data. This caused our headers to become part of the body because that LF was interpreted as the empty line that separates headers and body.
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
2010-03-02 02:48:52 +00:00
Daniel Applebaum
97c7bf1d65 Hopeful (but untested code) to get updated capabilities after
successful CRAM-MD5 authentication.
2010-02-27 17:48:00 +00:00
Daniel Applebaum
f6e7d5d4c0 Fixes Issue 1252
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.
2010-02-27 17:34:38 +00:00
Bao-Long Nguyen-Trong
6b5ea9feda Reverted the revered version of AttachmentProvider so that people who used the attachment on sd card can still get to their attachments 2010-02-20 20:15:21 +00:00
cketti
ec3d9eb9ea Removed code from ImapStore.internalOpen() that tried to get the path delimeter before SELECTing a mailbox. This shouldn't be a problem since the delimeter
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
2010-02-20 01:07:38 +00:00
Jesse Vincent
f9d39e4814 Back out Attachments-on-SD support (it's on a feature branch now, while
Bao-Long makes it extra-awesome)

This commit should revert:
r1445
r1437
r1436
r1449
r1442
r1441
r1419
r1414
r1413
2010-02-18 03:28:31 +00:00
Bao-Long Nguyen-Trong
c5851f2866 Fixed issue 698: Set default attachment preview image in the code (and not only in layout) so that whne moving from a message to another we get the right preview 2010-02-16 06:53:02 +00:00
cketti
f7094a2a8e I broke email address validation with r1447. I changed EmailAddressValidator.isValid() to only accept email addresses without name part ('foo@bar.com' but not '"snafu" foo@bar.com') because AccountSetupBasics used it to verify the email address for an account. With the old validator spaces were allowed in the email field but lead to an exception later (issue 849). Unfortunately I missed the fact that there are implicit calls to isValid() to validate email addresses e.g. in the 'To field 2010-02-15 12:51:38 +00:00
cketti
51b92aaf80 Fixes issue 1225 2010-02-14 15:51:09 +00:00
cketti
6d84f199c5 Enforce maximum line length for 8-bit encoded messages transmitted via SMTP (998 characters + CRLF).
Fixes issue 1176
2010-02-13 23:45:45 +00:00
cketti
ab4e2ca2ec Commented out enhancements introduced in r1443 so we don't loose Android 1.5 support. 2010-02-13 19:35:47 +00:00
Bao-Long Nguyen-Trong
e435d9d616 Fixed issue 1205: Attachment storage location setting now takes effect immediatly. LocalStore is also better at handling when attachment are stored in a mix of internal and external storage (migration state after a setting change) 2010-02-13 19:07:10 +00:00
cketti
7b75b07f1f Fixes issue 849 2010-02-13 17:26:54 +00:00
Daniel Applebaum
2c3da067c3 Fixes Issue 1219
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.html
http://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.
2010-02-13 17:02:27 +00:00
Daniel Applebaum
645ce28e18 Throwing the Exception will, at least, cause the exponential back-off
to take effect.
2010-02-13 15:14:28 +00:00
cketti
ae12453a57 Implement support for android.intent.action.SEND_MULTIPLE (e.g. send multiple images from gallery)
Fixes issue 1210
2010-02-12 15:21:10 +00:00
Bao-Long Nguyen-Trong
6fe2dad5cc Added some defensive code to prevent crashes caused by the LocalStore getting in a bad state due to issue 1205 (still being worked on). This fixes issue 1214. 2010-02-11 21:16:37 +00:00
Bao-Long Nguyen-Trong
8d8233bcc0 Store attachment on sd card is now off by default (which is what it should have been in the first place) 2010-02-11 05:37:50 +00:00
cketti
2bd4f9632b Better handling of IMAP FETCH responses.
Fixes issue 1068
2010-02-10 13:52:25 +00:00
Daniel Applebaum
e83a428107 Far more advanced poll scheduler. Now it remembers that finish time
of the last successful periodic mail and computes the next start time
as an offset from that successful finish.  The ramifications of this
new method is that changing polling interval on an account does not
force delaying all accounts to poll next in the future by the new
interval.  Instead, K-9 Mail now adjusts the next poll time based on
what the next poll time should be based on the last poll finish and
the new interval.  

Example 1: In the old way, if the old polling interval was 1 hour, and
the next poll was 50 minutes away (10 minutes have passed), and you
changed the interval to 15 minutes, the poll would happen 15 minutes
from now.  In the new way, the next poll will happen only 5 minutes
from now, which is 15 minutes since the last poll.

Example 2: In the old way, if the old polling interval was 1 hour, and
the next poll was 10 minutes away (50 minutes have passed), and you
changed the interval to 30 minutes, the poll would happen 30 minutes
from now.  The next poll would then happen actually 80 minutes after
the previous poll completed.  In the new way, it'll actually happen
immediately, because the time for the next poll, based on the new
schedule, has already passed.

Similar scenarios happen when a loss of network connectivity
occurs. In the old way, polling would resume using the restoration of
connectivity as the starting point.  Each time network connectivity
was lost and restored, the next poll would be further delayed.  *If
connectivity was lost and restored frequently, a poll might never
happen!* In the new way, the next poll is rescheduled based on the
time of the last successful poll, so will be rescheduled just like it
was before the loss of connectivity.  If the time has already been
passed, the poll will happen immediately.
2010-02-10 06:18:35 +00:00
cketti
48c7189d03 Fix r1436 2010-02-09 16:57:30 +00:00
cketti
80ae0402e5 Fixes issue 1199 2010-02-09 15:41:40 +00:00
Daniel Applebaum
03a06696dc Pre-r660 we didn't have this line, and things worked better. Also see
Troy Engel's comments in Issue 936.  If this commit isn't
satisfactory, perhaps try Troy's suggestion.

Fixes Issue 936.
2010-02-09 03:34:49 +00:00
Daniel Applebaum
23e5a132d4 Provide title bar display of next polling time 2010-02-09 03:26:40 +00:00
Daniel Applebaum
c12f720ba0 Lower logging level for CoreService and provide instance class name. 2010-02-09 03:11:15 +00:00
Daniel Applebaum
49534f22fc Fixes Issue 834
Provide for setting Sent folder to -NONE- which suppresses actually
saving sent mail in any folder.

Also, eliminate logging which folders are not configured for pushing.
It was just too much logging.
2010-02-09 03:03:40 +00:00
Daniel Applebaum
790ae2e25c Fixes Issue 1194
Do both a poll and push reset when connectivity or background data
status changes.
2010-02-09 01:14:55 +00:00
cketti
7cafc8547b Removed unnecessary FIXME comment 2010-02-08 19:12:40 +00:00
cketti
033e0d40de Optional signatures on per identity basis. Original patch by jiri.tyr (thanks!) slightly modified by me.
Fixes issue 461
2010-02-08 17:47:00 +00:00
cketti
3b6cccdf7a Use Reflection to call WebSettings.setBlockNetworkLoads() to prevent info leaks via external resource loading.
Fixes issue 1183
2010-02-08 03:23:41 +00:00
Daniel Applebaum
164ee7cbfd Fixes Issue 1059
Only reschedule polling and setup pushing when necessary due to
particular setting changes.  Makes the K-9 Mail UI much more
responsive to setting changes that do not affect polling and pushing.

The poll schedule is deliberately only rescheduled when the period is
decreased.  An increase in period will still allow the next scheduled
check to happen as originally scheduled.
2010-02-07 21:23:33 +00:00
Daniel Applebaum
2f8f52fb0b Fixes Issue 1112
Fixes Issue 1034

Refresh Account from Preferences, so that it'll have a fresh copy of
all information.  Failure to do this caused the AccountSettings
Activity to show stale information when invoked repeatedly from the
same prior Activity.
2010-02-07 16:05:29 +00:00
Bao-Long Nguyen-Trong
c497485b2f Better message flag management so that we don't end up with (POP3) messages having both X_DOWNLOADED_FULL and X_DOWNLOADED_PARTIAL 2010-02-07 06:05:11 +00:00
Bao-Long Nguyen-Trong
46bff831d1 Using X_DOWNLOADED_FULL flag instead of the X_DOWNLOADED_PARTIAL on to determine if we need to show the downloading icon. Some POP3 messages carry both flags. 2010-02-07 06:00:28 +00:00
Bao-Long Nguyen-Trong
131280c3f2 Still init LocalStore.mExternalAttachmentsDir even if sd card is not ready so that the object does not end up in a bad state 2010-02-07 05:58:04 +00:00
Daniel Applebaum
1fb03a45a0 Fixes Issue 1059
Provides for menu items to quickly change the mode of displayed
folders.  Also, reorganizes the menu to have an Advanced sub-menu,
like Accounts page has.

Desparately needs a new icon for the Folders menu item.
2010-02-06 23:23:22 +00:00
Daniel Applebaum
4fa4f22f2c Fixes Issue 494
Allow for setting the Outbox to have any name, as tying it to a server
side folder does not make sense.  It is never synced.
2010-02-06 22:36:22 +00:00
Bao-Long Nguyen-Trong
8403a265d9 We still need to be able to instanciate the LocalStore when the sd card is not mounted. So we do no throw an exception then. Exception will be thrown when we try to do attachment related things 2010-02-06 15:44:21 +00:00