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.
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.
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.
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.
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.
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.
physical keyboards, though, and should be modified to only re-setup
pushers. Current implementation causes a wasteful reschedule of
polling.
Also gets the help Toast for the folder up-to-date after the
FolderList/MessageList split.
force-closes and inconsistent data on activity reuse. Also, removing
broken/unused code to preserve activity state across invocations.
across invocations.
Don't show messages that are already deleted on the server when we
first download them.
Also, correct item 1 from my comments on r1355. No longer notify for
mails I sent when I selected not to be notified for mails I sent.
* Add an explicit configuration option for stars
* Replace now-outdated "left handed" widgets config option, now that
select widgets are always on the left.
* since the multi-modality of the message list was now only a "toggle
stars" option, kill that, as it was lots of code and rather redundant
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.
Automatically build jar file for external applications.
Create convenience functions in K9RemoteControl so that external
applications do not need to know the details of handling the Intents
and broadcasts.
Send a permission string in the broadcasts so that unauthorized
applications cannot intercept communication to authorized
applications, such as K-9 Mail.
to accept control from other Android applications. Allows for
changing both Account-level and global settings. Account-level
settings can be applied to a single Account or to all Accounts.
The file class file derived from src/com/fsck/k9/K9RemoteControl.java
will be bundled into a JAR file for use by external applications.
This facility will be used for:
Issue 215
Issue 730
Issue 864
Issue 884
global config option rather than a per-account one. (But with a new
implementation.) - As we now have views that show messages across
accounts, this needed to become a global)
MessagingController was calling the MessagingListener twice for
deleted messages. By the time the second call was made, some
Activities already had removed the message holder, so a null holder
was being put on the list.
This change should prevent the double calls, and adds protection
against have the MessageList MessagingListener called with a message
that is no longer in the MessageList.
Also, some logical cleanups.
push technology. This provide a layer of safety in case of
misconfiguration (accidentally setting too many folders to push using
classes), which can bog down the device till it is unusable. On a G1,
25 folders is a very large load. Fixes Issue 871.
Also, move some pending commands to the background to make way for
more important user interface 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.
count, scoped for the Activity, the in-progress operation, the account
on which the operation is in progress, the folder for the operation,
when appropriate, and the progress of the operation, when it applies
to multiple items. For the MessageList, also use the determinate
progress bar to show progress for synchronization of the folder being
displayed.
Fixes Issue 924.
Also, a minor change that might help with Issue 913, by putting the
insertion of the pending command into a background thread.
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"
flag/unflag, mark as read/unread and delete. Also provides explicit
mode changing, and select/deselect all. Move and copy are partially
implemented, but disabled.
Desperately needs a new icon.
The "Sort by..." menu now toggles ascending/descending when the
currently selected sort mode is clicked.
Also, an ineffective change to setting the title in the Message List.
A bit more work is in order on that.
Tested to not break unix logfiles ;)
Comment #7 on issue 819 by jessev: Hide empty CC: lines in Message View
http://code.google.com/p/k9mail/issues/detail?id=819
My intent is to default to showing Subject. Date and From or To (depending on whether you're the sender) with a button/widget/hyperlink/something to fold down and show more detail.
--
You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
Dec 1 19:15:48 mar-adentro kernel: [ 4291.016228] usb 1-6: reset high speed USB device using ehci_hcd and address 4
Dec 1 19:15:48 mar-adentro kernel: [ 4291.308225] usb 2-5: reset high speed USB device using ehci_hcd and address 2
Dec 1 19:15:48 mar-adentro kernel: [ 4291.552221] usb 3-1: reset full speed USB device using uhci_hcd and address 2
Dec 1 19:15:48 mar-adentro kernel: [ 4292.136224] usb 5-1: reset full speed USB device using uhci_hcd and address 2
Dec 1 19:15:48 mar-adentro kernel: [ 4292.425282] usb 3-1.1: reset full speed USB device using uhci_hcd and address 3
Dec 1 19:15:48 mar-adentro kernel: [ 4292.613282] usb 3-1.2: reset full speed USB device using uhci_hcd and address 4
Dec 1 19:15:48 mar-adentro kernel: [ 4292.780373] Restarting tasks ... done.
Dec 1 19:15:48 mar-adentro kernel: [ 4292.784292] usb 3-1.3: USB disconnect, address 7
Dec 1 19:15:49 mar-adentro kernel: [ 4293.230042] ADDRCONF(NETDEV_UP): eth0: link is not ready
Dec 1 19:15:49 mar-adentro kernel: [ 4293.987736] usb 3-1.3: new full speed USB device using uhci_hcd and address 8
Dec 1 19:15:50 mar-adentro kernel: [ 4294.141687] usb 3-1.3: configuration #1 chosen from 1 choice
Dec 1 19:15:54 mar-adentro pulseaudio[1548]: ratelimit.c: 82 events suppressed
Dec 1 19:16:06 mar-adentro kernel: [ 4310.825436] Registered led device: iwl-phy0::radio
Dec 1 19:16:06 mar-adentro kernel: [ 4310.825459] Registered led device: iwl-phy0::assoc
Dec 1 19:16:06 mar-adentro kernel: [ 4310.825479] Registered led device: iwl-phy0::RX
Dec 1 19:16:06 mar-adentro kernel: [ 4310.825500] Registered led device: iwl-phy0::TX
Dec 1 19:16:06 mar-adentro kernel: [ 4310.879827] ADDRCONF(NETDEV_UP): wlan0: link is not ready
Dec 1 19:16:20 mar-adentro kernel: [ 4324.261675] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Dec 1 19:16:22 mar-adentro kernel: [ 4326.254795] padlock: VIA PadLock not detected.
Dec 1 19:44:22 mar-adentro kernel: [ 6006.712166] usb 2-4: new high speed USB device using ehci_hcd and address 5
Dec 1 19:44:22 mar-adentro kernel: [ 6006.865987] usb 2-4: configuration #1 chosen from 1 choice
Dec 1 19:44:22 mar-adentro kernel: [ 6006.869856] scsi7 : SCSI emulation for USB Mass Storage devices
Dec 1 19:44:27 mar-adentro kernel: [ 6011.871419] scsi 7:0:0:0: Direct-Access HTC Android Phone 0100 PQ: 0 ANSI: 2
Dec 1 19:44:27 mar-adentro kernel: [ 6011.873138] sd 7:0:0:0: Attached scsi generic sg2 type 0
Dec 1 19:44:27 mar-adentro kernel: [ 6011.906600] sd 7:0:0:0: [sdb] Attached SCSI removable disk
Dec 1 19:44:34 mar-adentro kernel: [ 6018.102244] sd 7:0:0:0: [sdb] 3862528 512-byte logical blocks: (1.97 GB/1.84 GiB)
Dec 1 19:44:34 mar-adentro kernel: [ 6018.110282] sdb: sdb1
Dec 1 20:00:57 mar-adentro pulseaudio[1548]: ratelimit.c: 1 events suppressed
Dec 1 20:28:13 mar-adentro pulseaudio[1548]: ratelimit.c: 2 events suppressed
LocalStore.purgeToVisibleLimit only to work on undeleted messages.
Convert LocalStore.clear() to use the new DELETED column.
Make markAllAsRead only work on undeleted messages.
Message List batch ops wired to bulk flagging.
Manage batch button state when messages are deleted (from outside
agents) while in batch mode.
Remove throws clause from Folder.close() to make it easier to close
folders where necessary.
Eliminate some cruft from MessageList
Consolidate unreadMessageCount fetching in notifyAccount
Fixes Issue 734
On reconnection, IMAP IDLE folders will now fetch up to the most
recent 10 message that arrived while a IDLE connection was not
available.
Fixes Issue 232
A serving of NAMESPACE-based auto-configuration on the side. If the
IMAP prefix is empty, and the IMAP server supports NAMESPACE, use the
IMAP prefix supplied by NAMESPACE. Also, if the user manually puts
the separator as the last character in the prefix, don't append the
separator.
Also:
Improved reliability of IMAP IDLE incoming message and flag state
change handling. Reduction (but not elimination) of multiple
connections under startup conditions.
1) Actual message sync on MessagingController uses same connection as
IDLE for faster and more efficient push operation. Uses fewer
connections to the server.
2) More aggressive handling of untagged responses should more reliably
get flag changes and new messages when many events happen at once.
3) Simplification of new mail notification
4) Push mail now respects the folder visible limit
5) When multiple untagged FETCH responses arrive en bloc, the actual
message flags and UIDs are fetched with a single request
Fixes Issue 394
Fixes Issue 763
Completely new Services architecture providing proper Service
lifecycle management.
Long running tasks in MailService are executed in a separate thread,
but the service is not stopped until the tasks are complete.
SleepService for providing synchronous sleeps with proper WakeLock
integration.
Mail polling logic moved from MailService to PollService
PushService to keep application from being killed while push is
running.
Improved logging of IMAP protocol, including logging folder name,
thread and connection hashcode.
Don't put a failed connection back into the IMAP mConnections
storage.
IMAP IDLE uses new SleepService for delaying between failed connection
attempts (allows phone to sleep and provides better reliability)
Use a ThreadLocal for ImapPusher wakelocks
Component enablement/disablement in Email is done only when components
are out of phase with desired state. (Issue 188)
. Added content-type detection using file name extension
. This adds better integration with OI File Manager which implements the ACTION_GET_CONTENT intent
Fixes Issue 133
Really, just displays a Toast and allows K-9 to continue in some
situations that otherwise cause a crash. Will hopefully allow users
of Android 2.0 to use K-9, but may just provide better info about what
is going wrong.
Fixes Issue 577
K-9 has earned its Canine Good Citizen.
K-9 now respects the Android-global Background data preference, by
default. However, there is an override, allowing K-9 to ignore the
global preference, by either always running around and synchronizing
in the background, or staying put and not synchronizing.
A user can now elect to turn off mail synchronization across all
accounts in either the K-9 Preferences page by setting Background
synchronization to Never, or leaving that value as "When 'Background
data' is checked" and deselecting the Android-global Background data
preference.
1) Automatically add / separators if not supplied by user. Fixes
Issue 290
2) Enable Move and Copy.
3) Enable setting a message to unread state.
4) Set authentication header for downloading and sending messages, so
that those functions work with sites using Basic authentication.
5) Don't swallow log Exceptions. Instead, allow Exceptions to
percolate up to higher levels so that they can be logged into
K9mail-errors.
6) Provide appendMessages function, so that Drafts get stored on the
server.
7) Enable server-side message deletion, using user-selected Trash
folder.
because a user that has auto-open set to a particular folder might
never get to the actual folder list which contains the option menu
containing Account Settings. (There's been one comment in the Market
pertaining to this.)
This commit contains the entirety of the changes performed in the
issue4-1.X branch from revision 718 through revision 851. Because the
issue4-1.X branch was up-to-date with trunk revision 847 at revision
849, the source of this commit was not an "svn merge". Instead, it is
merely a copy of all changed files from the issue4-1.X branch to my
trunk working copy and a straight commit.
Also:
Issue 551
Issue 628
Issue 650
Issue 654
Issue 656
Issue 682
Issue 696
Improve reliability of message viewing and composing while still using
MessagingController worker queues
svn merge -x -w -c 761 ../issue4-1.X/ .
Put loading a message from the LocalStore into a ThreadPool executor,
like was done previously in MessageView. Remote loading still goes
through the work queue.