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