Commit Graph

273 Commits

Author SHA1 Message Date
Srinath Warrier ff6e1f6c85 Create default sort setting by preference 2012-03-04 16:20:37 +05:30
cketti 5591865f17 Merge branch 'uidplus' 2012-02-29 14:09:41 +01:00
cketti c1ed0c78a9 Introduced new pending command to retain upgradability 2012-02-17 01:59:04 +01:00
cketti f7299a69d4 Keep track of UIDs when moving messages to the trash folder 2012-02-17 00:43:35 +01:00
cketti 4ed77c7a29 Avoid NullPointerException 2012-02-16 22:36:57 +01:00
cketti 89e0ed3c03 Notify listeners of UID changes after remote copy/move 2012-02-16 22:34:50 +01:00
cketti 8e1627e1b9 Merge branch 'master' into uidplus
Conflicts:
	src/com/fsck/k9/controller/MessagingController.java
	src/com/fsck/k9/mail/store/WebDavStore.java
2012-02-16 19:57:24 +01:00
cketti cf9631d481 Changed the way we decide what message parts to display 2012-02-13 23:11:59 +01:00
cketti 98461e5a21 Notify listeners if unread count changed due to a copy/move operation 2012-02-13 12:16:19 +01:00
cketti 328701e87e Fixed JavaDoc 2012-02-13 00:57:06 +01:00
cketti 53604be914 Fixed NullPointerException 2012-02-13 00:56:34 +01:00
cketti 7ef5f9d37e Set flagged and unread count to 0 when emptying the trash folder 2012-02-04 21:06:35 +01:00
cketti 898f65e081 Changed the way we set flags to update the original Message object 2012-02-04 21:06:34 +01:00
cketti e8eae37389 Reset unread/flagged count on "empty trash" 2012-01-27 00:51:18 +01:00
cketti 5a8ddaa039 Make sure draft id points to a valid message before deleting it
Avoids IllegalArgumentException in LocalStore.getMessage()
2012-01-26 00:37:25 +01:00
cketti bddacf6b64 Use database ID to keep track of the current draft
By using the database ID we avoid having to deal with the problem of
changing UIDs. First the message has a local UID, then, when the upload
to the server is completed, it gets a remote UID.
2012-01-22 05:20:41 +01:00
cketti 88a2dd6289 Merge branch 'issue549'
Conflicts:
	src/com/fsck/k9/Account.java
	src/com/fsck/k9/mail/store/WebDavStore.java
2011-11-05 18:47:55 +01:00
Andrew Gaul 647ae0a31c Prefer Collection.isEmpty over size 2011-11-02 20:03:07 -07:00
Andrew Gaul bfd11c444f Prefer entrySet over keySet and get
Addresses FindBugs complaints.
2011-10-31 21:42:12 -07:00
cketti afd355f83c Use Preferences.getAvailableAccounts() where appropriate 2011-10-18 05:09:20 +02:00
Andrew Gaul 220e55603d Spelling corrections 2011-10-05 22:04:39 -07:00
Jesse Vincent 87640719dd Disable "download by date range" for webdav and pop3.
The previous behavior caused catastrophic network abuse, downloading
messages outside the date range over and over.
2011-07-12 22:05:49 -04:00
Jesse Vincent c7e8969b01 remove a bunch of listener notification duplication that crept into the
code. this caused all attachments to be double-opened, among other
things
2011-07-09 00:27:56 -04:00
Jesse Vincent b02b895aaf Add 2MB, 5MB and "All" message download options 2011-07-02 15:29:49 -04:00
Apoorv Khatreja 3321ebdc33 COPYUID changes were being updated only in memory, but were not being written to db. 2011-07-02 11:59:00 +05:30
Apoorv Khatreja bc9b7030d7 COPYUID implementation now in place and working, restructured appendMessages, copyMessages and moveMessages globally to return a Map of srcUids -> destUids rather than returning nothing. This is now used to bring local and remote UIDs upto speed without the need for additional requests. 2011-06-28 16:50:48 +05:30
Jesse Vincent 3d583da450 ant astyle 2011-06-01 16:03:56 -04:00
Koji Arai b4f3712246 Should retrieve just visibleLimit messages when the local folder is cleared. 2011-05-25 00:37:51 +09:00
cketti 4f67a6be24 Fixed counting of new unread messages 2011-05-21 00:33:43 +02:00
cketti 6c1b1ebf32 Moved checks from notifyAccount() to shouldNotifyForMessage()
This should fix the "notification count" for cases where messages
passed the shouldNotifyForMessage() checks but not the ones in
notifyAccount().
2011-05-20 23:00:48 +02:00
cketti dc96bf3186 Only mark all messages as read on the server if that's supported
This change prevents K-9 Mail from establishing a connection to the
server when all messages are marked as read on a POP3 account.
2011-05-14 23:30:47 +02:00
cketti ba9bc2f8e9 Added method Folder.isFlagSupported(Flag) 2011-05-14 23:19:24 +02:00
Vitaly Polonetsky 37ae2e41f5 fixed displaying of "(null)" account description in notification at account setup wizard 2011-05-05 04:38:33 +08:00
Jesse Vincent 724b6eaaa5 For a while, it was possible for users to conifgure their outbox and
drafts folders to be the same folder. This could result in drafts being
sent over and over.  This change uses the K-9 Identity header as a
shibboleth for drafts, as it's not actually set when a message is sent.
2011-04-17 21:07:13 +10:00
bitblaster 461b57747c Replaced references to K9.INBOX with account.getInboxFolderName() 2011-04-12 22:17:11 +10:00
Jesse Vincent e19162cb86 ant astyle 2011-03-22 18:07:47 +11:00
Jesse Vincent daf04c2a9c When showing the root cause of a controller failure, show a better
message if the exception wasn't generated internally
2011-03-09 22:45:57 -05:00
Jesse Vincent a54cf7a757 Tempfail outgoing messages after 5 delivery attempts 2011-03-09 22:45:57 -05:00
Jesse Vincent 2affa9d52b Permanent failures when trying to deliver a message move it back to
drafts.

Opening a "permfail" message takes you to the drafts folder
2011-03-09 22:45:57 -05:00
Jesse Vincent d80a941dba Split out "tempfail" and "permfail" message deliver errors 2011-03-09 22:45:57 -05:00
Jesse Vincent c305397d05 Fix "sending message failed" notifications to actually report the server
error
2011-03-09 22:45:57 -05:00
cketti 44d2194a00 Add extra for the sender address(es) to the "Share intent" 2011-02-13 05:23:18 +01:00
Matt Johnston ae2c933181 Destroy all messages in one sqlite transaction 2011-02-11 15:30:50 -05:00
cketti 14abb68772 Get rid of the "Fwd: " prefix when sharing a message. Add recipients
to the intent ("To:" -> EXTRA_EMAIL, "CC:" -> EXTRA_CC)
2011-02-09 07:08:10 +01:00
Jesse Vincent 12d1097a24 Big, scary massive "ant astyle" to get us back to something
approximating AOSP coding standards.
2011-02-06 17:09:48 -05:00
Dan Applebaum 4842051de6 Immediately update the title bar when the syncing status changes due to external events. 2011-02-04 23:19:06 -05:00
Dan Applebaum 40bdf99925 Fixes Issue 2934 Fixes Issue 2935
Provides for storing Folder Settings in the central Preferences
Storage as a back-up to the settings stored on each folder.  In this
way, even if the LocalStore DB is recreated or otherwise lost, Folder
Settings can be recovered.

1) Does not change the methodology used to read settings while
running, nor the changes in r3107 & r3116 which tremendously improve
Accounts list loading time.

2) Loads Folder Settings from Preferences and stores on the folder
only when creating a new LocalFolder

3) Saves Folder Settings to Preferences and the DB row every time the
Folder Settings are changed.

4) When upgrading from DB version 41 to 42 or later, copies all
settings for existing folders from the DB storage to the Preferences
Storage.

5) Transactional bulk folder creation and single pass local folder
existence check during "Refresh folders" operation drastically reduces
time spent when refreshing folders from the remote store.

6) Uses prepared statement during Editor commit to reduce Preference
storing time.

Probably needs a reversion of r3239, but I'm unfamiliar with
translations, so am leaving that to others' discretion.
2011-02-04 23:19:06 -05:00
Jesse Vincent 04e4dcb187 code reindenting 2011-01-24 03:27:26 +00:00
Jesse Vincent 22f422ea29 Use a heuristic to try to avoid notifying POP3 users about older mail
messages
2011-01-24 03:27:14 +00:00
cketti 22834d6998 Removed unnecessary null pointer checks 2011-01-19 01:30:13 +00:00
cketti 14a20843e3 Get rid of two potential null pointer access warnings 2011-01-19 00:57:12 +00:00
cketti 8279092070 Fixed lots of warnings (unused imports/variables, missing annotations, etc.) 2011-01-18 23:54:49 +00:00
Jesse Vincent 5a5541b400 Don't notify for new mail in a designated spam folder 2011-01-16 21:33:54 +00:00
Jesse Vincent 734cbf856d Simplify the logic for "should I search this folder" using our new
helper
2011-01-16 21:33:50 +00:00
Jesse Vincent a974f7188c Simplify folder-skip logic when cleaning out folders deleted on the
server. (Note that we no longer delete the archive folder locally, even
if it's killed upstream)
2011-01-16 21:33:46 +00:00
Andrew Chen c07c7052dc Add Notification setting to disable unread count in notification bar. 2011-01-12 01:23:17 +00:00
Andrew Chen e794af0bbf Prevent new mail notifications if they're older than our most recent message.
First attempt at fixing Issue 1276.  Only works with services that use numeric message IDs, like IMAP.
2011-01-02 09:01:23 +00:00
Jesse Vincent 9878b74379 astyle 2010-12-24 18:55:05 +00:00
Fiouz df44a1f89b Add @Override annotations (1.6) for safer compile-time checks 2010-12-20 21:34:01 +00:00
Fiouz 0abbeb443e Batch storing of unsynced messages to speed up DB update (chunk size set to 5).
Execution code path is modified since it's not longer handling one message at a time when inserting in DB - might require review.
2010-12-19 11:51:54 +00:00
Jesse Vincent eda76640c0 When mail is sent successfully, cancel the "couldn't send mail"
notification
2010-12-19 01:30:11 +00:00
Jesse Vincent b59eb6c69f lift lastFailure up so we can reference it in an outer scope 2010-12-19 01:30:07 +00:00
Jesse Vincent dbe4bea290 Give our "send failed" notification a contant 2010-12-19 01:30:03 +00:00
Fiouz c5f7dbf028 Execute LocalMessage.appendMessage() & LocalMessage.setFlag() in the same transaction for small message storing in order to speed up DB update.
This is a per message basis optimization. More improved speed could be attained by batching several messages in the same transaction.
2010-12-18 10:12:52 +00:00
Fiouz 63a8197f5a Don't reference the enclosing type instance when it's not used (memory optimisation) 2010-12-14 19:26:37 +00:00
Marcus Wolschon f5420ac528 readable thread-name for debugging
javadoc
2010-12-06 09:25:23 +00:00
Jesse Vincent f5eb6e03af astyle 2010-12-01 06:32:29 +00:00
Jesse Vincent e44a74c652 Get rid of a whole lot of crazy code that forced repeated attachment
downloads with the intent of only having one attachment downloaded at a
time.
2010-12-01 06:04:28 +00:00
Jesse Vincent 35f19abc9f Improve the "Do what I mean" nature of "Empty trash" - it now syncs the
trash folder after deletions to clear out local records of deleted
messages and does a compact operation on the local store.
2010-12-01 06:04:22 +00:00
Jesse Vincent 75ec749ed4 Remove an unused "context" from a private function 2010-12-01 06:04:16 +00:00
Jesse Vincent 78c900b5fe remove redundant ;s 2010-12-01 03:07:28 +00:00
Jesse Vincent 75aa644a23 Remove a bunch of stringification inside of string appends (per intellij) 2010-12-01 03:06:50 +00:00
Jesse Vincent cead5c7060 flip some loops to using java internals instead (per intellij) 2010-12-01 03:04:57 +00:00
Jesse Vincent 58e6bd388b finalize some declarations per IntelliJ 2010-12-01 03:03:22 +00:00
Jesse Vincent c79ea226a5 Remove "throws" declarations that didn't actually get thrown. Remove a
couple of try blocks that only caught throws we didn't throw. IntelliJ
optimization.
2010-12-01 03:02:13 +00:00
Jesse Vincent 15bf83bbe4 preliminary implementation of 'quiet time' 2010-11-29 02:21:16 +00:00
Jesse Vincent 2b8f7c0bbc unify all our beeping, buzzing and flashing codepaths 2010-11-28 21:48:25 +00:00
Jesse Vincent 70922989d3 genericize configureNotification in preparation for code reuse 2010-11-28 21:48:21 +00:00
Jesse Vincent 64667d03dc extract vibration pattern metadata out ouf MessagingController into
notificationsetting
2010-11-28 20:29:14 +00:00
Jesse Vincent b7f52a834f isVibrate -> shouldVibrate to match shouldRing 2010-11-28 20:29:09 +00:00
Jesse Vincent 28c126b8a5 extract notification code from actual "action" code 2010-11-28 20:29:05 +00:00
Jesse Vincent 99d5704b82 extract "sending messages" notification into methods 2010-11-28 20:29:02 +00:00
Jesse Vincent 9784d0e943 remove 100loc by replacing a pattern with a method. 2010-11-28 20:28:58 +00:00
Jesse Vincent fa64f4c3a8 Minor refactoring for readability 2010-11-28 20:28:53 +00:00
Jesse Vincent b7617a3497 extract "determine what to do with a new message" out of
downloadMessages Probably wants a better name
2010-11-28 20:28:50 +00:00
Jesse Vincent 3404edca28 extract the "synchronize one folder" method 2010-11-28 20:28:46 +00:00
Jesse Vincent 36bb10fb2c extract out "sync one account" 2010-11-28 20:28:42 +00:00
Jesse Vincent 7291486ca0 No longer delete the Outbox every time it's empty - it makes it somewhat
more difficult to work with. If we want to hide it when it's empty,
that's fine. but it's not necessary to delete it.
2010-11-17 03:41:37 +00:00
Jesse Vincent 36714d3b4a astyle 2010-11-15 01:31:11 +00:00
Jesse Vincent 32ea04a5b3 kill a temporary variable 2010-11-14 00:49:21 +00:00
Jesse Vincent 6a6c86d117 Kill a once-used temporary variable 2010-11-14 00:49:18 +00:00
Jesse Vincent 945d4d7c32 a slight cleanup for message deletioon policy logic. 2010-11-14 00:49:15 +00:00
Jesse Vincent 0eee80f08b renamed deleteMessagesOlderThan to clearMessagesOlderThan to better
reflect that it just nukes local copies rather than the synced copies
2010-11-14 00:49:08 +00:00
Jesse Vincent 14055691a3 Merge branch 'mail-on-sd'
* mail-on-sd: (40 commits)
  Added more comments to explain how the locking mecanism works for LocalStore
  Fixed wrong method being called during experimental provider initialization (since provider isn't enabled, that didn't harm)
  Add more comments about how the various StorageProviders work and how they're enabled
  find src/com/fsck/ -name \*.java|xargs astyle --style=ansi --mode=java --indent-switches --indent=spaces=4 --convert-tabs
  French localization for storage related settings
  Remove unused SD card strings (replaced with storage indirection)
  Merge mail-on-sd branch from trunk
  Reset mail service on storage mount (even if no account uses the storage, to be improved)
  find src/com/fsck/ -name \*.java|xargs astyle --style=ansi --mode=java --indent-switches --indent=spaces=4 --convert-tabs
  Migraion -> Migration
  move the Storage location preference into preferences rather than the wizard.
  Made LocalStore log less verbose Added @Override compile checks
  Added ACTION_SHUTDOWN broadcast receiver to properly initiate shutdown sequence (not yet implemented) and cancel any scheduled Intent
  Be more consistent about which SQLiteDatabase variable is used (from instance variable to argument variable) to make code more refactoring-friendly (class is already big, code extraction should be easier if not referencing the instance variable).
  Added transaction timing logging
  Factorised storage lock/transaction handling code for regular operations.
  Use DB transactions to batch modifications (makes code more robust / could improve performances)
  Merge mail-on-sd branch from trunk
  Update issue 888 Added DB close on unmount / DB open on mount
  Update issue 888 Back to account list when underlying storage not available/unmounting in MessageView / MessageList
  ...
2010-11-13 21:40:56 +00:00
Jesse Vincent a8de2d0000 astyle 2010-11-13 01:47:08 +00:00
Jesse Vincent a551dc8dff Replace the old "record a message in K9 Errors and give up"
failed-message scheme with an actual android notification that opens the
outbox
2010-11-13 01:47:02 +00:00
Jesse Vincent 4fb338d8a9 Disable "don't send messages in the outbox if they're flagged" - users
really don't like their mail just getting stuck
2010-11-13 01:46:55 +00:00
Jesse Vincent af5f78928c Add a "fetch all messages" visible limit 2010-11-12 23:41:43 +00:00
Jesse Vincent 9f695eb4ed extract the per-account "reset visible limits" method 2010-11-12 23:41:33 +00:00
Jesse Vincent 2d8a8998b0 factor out a "destroy" method for local messages 2010-11-12 21:38:02 +00:00
Jesse Vincent 1292a10ac2 When a message has been deleted on the server and we want to sync remote
deletions, we don't care whether it was flagged as deleted ocally - we definitely
want to destroy it.
2010-11-12 21:37:58 +00:00
cketti 5b88a99de0 Got rid of some compiler warnings. 2010-11-04 03:11:34 +00:00
Jesse Vincent c5cf9e5c8c message_to_label and message_to_fmt were used from places that weren't
their original sources. rename them to lie less.
2010-10-29 22:34:59 +00:00
Jesse Vincent 724169e982 astyle 2010-10-25 03:20:03 +00:00
Jesse Vincent f6f9d35430 unify two codepaths that sent unsent messages, one of them without a notification 2010-10-25 03:19:19 +00:00
Jesse Vincent 968fb8c508 add a variant of sendPendingMessages that will send pending messages in all accounts 2010-10-25 03:18:51 +00:00
Jesse Vincent 1d6caa5c0a Never show an undismissable "new email" notification for a null account (like used to happen during setup) 2010-10-24 02:01:13 +00:00
Jesse Vincent c216f42eb3 Exchange authenticaton and setup overhaul from Kris Wong 2010-10-24 01:03:29 +00:00
Jesse Vincent bc2127c84a added a synchronous variant of searchLocalMessages 2010-10-23 15:19:47 +00:00
Jesse Vincent 6061c42ea9 find src/com/fsck/ -name \*.java|xargs astyle --style=ansi --mode=java --indent-switches --indent=spaces=4 --convert-tabs 2010-10-05 06:04:28 +00:00
Fiouz f6064ff19f Use a thread pool to optimize resource usage instead of always firing up new threads (less garbage collection).
Note: this is not a complete revert of r2153 since the pool is now automatically expanded as needed (different implementation).
2010-10-02 07:45:11 +00:00
Jesse Vincent a2fe3bda34 When a new mail alert is alerting about a specific mailbox rather than
inbox, default to having it open that mailbox.  Patch from thardie
2010-09-22 15:43:43 +00:00
Marcus Wolschon 9ef306413b MessagingController not propagating provided listener 2010-09-20 11:47:02 +00:00
Fiouz e28e6d8817 Added ability to disable LED notification for new messages (new account setting)
Extracted notification related settings in separate class (see Issue 2268)

Update issue 371
Status: Fixed
Added ability to disable LED notification for new messages
2010-09-19 20:54:43 +00:00
Fiouz bbd664ad3c Optimization: don't use bytes and related byte/char conversion when we're actually working on string only 2010-09-11 11:20:50 +00:00
Fiouz 08f10f1fe5 Issue 1711 (don't display subject when phone locked)
Modified code so that subject is still visible after unlock when notification bar is expanded
2010-09-01 22:37:11 +00:00
Fiouz f43db5235c Fixes issue 1711
Owner: fiouzy
Don't display message subject in notification bar when keyguard is active (system locked)
2010-09-01 22:26:36 +00:00
Koji Arai b1074329e4 On the MessageList and the MessageView, prefer to use the display name registered in the Contacts rather than raw addresses.
Update issue 2144
2010-08-30 14:37:34 +00:00
Jesse Vincent 6e2c5be84c simplify a boolean in isMoveCapable 2010-08-29 23:40:14 +00:00
Jesse Vincent 1f399f5904 Simplify a boolean conditional 2010-08-29 23:40:00 +00:00
Jesse Vincent 4f0bce1569 Simplify many, many boolean conditions with help from IntelliJ 2010-08-29 23:39:26 +00:00
Jesse Vincent e0447e32cc astyle 2010-08-29 16:57:13 +00:00
cketti 38c31db8f6 Don't open a connection to the server if the protocol doesn't support flags and the flag to be changed isn't the deleted flag. This avoids unnecessary connections to POP3 servers.
Fixes issue 2046
2010-08-28 21:15:23 +00:00
Koji Arai 015666b657 Fixed issue 2174
When selecting one of the five vibrate patterns or the number of repetitions, we should demonstrate to the user what the vibrate pattern feels like. (Thanks to achen.code)

use the ListPreference instead of the EditTextPreference to set vibrate times.
2010-08-28 14:00:34 +00:00
Jesse Vincent ff5024eaec astyle 2010-08-18 02:48:55 +00:00
Jesse Vincent 9ebf16e3d9 Finish removing the ThreadPool / ExecutorService Left over from when the
code was actually in the view class
2010-08-10 04:29:18 +00:00
Jesse Vincent a724df79d4 To date, "loadMessageForView" competed for threads in a thread pool with
all of our mail syncing code. This led to very choppy UI experience.

This change doesn't entirely fix message load lag, but the _worst case_
I see is now better than the best case I saw last week.
2010-08-08 23:49:27 +00:00
Jesse Vincent 1f725a2d5c increment the new message count if the message is in a notifiable folder
and the account wants notifications. (even if we don't
notify for a message from ourselves, we DO increase the notification
count.)
2010-08-08 19:43:01 +00:00
Jesse Vincent ce9a84e8fd Quick updates from a code review pass by cketti 2010-08-08 19:35:18 +00:00
Jesse Vincent d2e3061f20 Lift our initial unread counter up higher so that it happens before
called code starts resetting the unread count again.
2010-08-08 19:14:52 +00:00
Jesse Vincent 06a3d5985b Avoid allocating two temp variables on sync 2010-08-08 19:14:47 +00:00
Jesse Vincent f5a399f6c6 extract out "should we notify" from "notify";
rather than calculating the number of pre-existing new messages for this
sync twice, do it once, a bit earlier.
2010-08-08 18:50:31 +00:00
Fiouz 44cef83e0b Use of constants for immutable empty arrays (prevent useless memory allocation) 2010-08-02 11:55:31 +00:00
Jesse Vincent 7fc921c0b7 astyle 2010-08-02 01:27:40 +00:00
Jesse Vincent b1fb92034a clean up some weird inverted logic (as recommended by intellij) 2010-07-27 01:27:54 +00:00
Jesse Vincent c541a07ed2 Don't fire off a notification about new mail before we finish
initializing an account.
2010-07-27 01:27:45 +00:00
Jesse Vincent f9a24cb123 astyle 2010-07-19 01:57:49 +00:00
Jesse Vincent 0fcae025b2 per a bunch of complaints, it looks like my new notification counting
code was off-by-one
2010-07-19 01:54:23 +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 7464a1527a Convert for loops to "enhanced" syntax per SDK performance guidelines
(Automatic with Eclipse)
2010-07-19 01:52:18 +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
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
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
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 ae339f1ac8 Add a per-account setting to choose how much of each message to download automatically. 2010-07-11 11:59:14 +00:00