1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-12-22 23:58:50 -05:00
Commit Graph

2178 Commits

Author SHA1 Message Date
Jesse Vincent
602099cfd3 Be more careful about deleting messages from the MessageListAdapter -
don't do it from something that's not the UI thread
2010-11-05 01:16:35 +00:00
Marcus Wolschon
4aba667a4e fix for "http:/"-links in plaintext -emails. (add http:// is a link has no schema) 2010-11-04 13:35:39 +00:00
cketti
5b88a99de0 Got rid of some compiler warnings. 2010-11-04 03:11:34 +00:00
Jesse Vincent
fb55aa5bfb Fix an extra paren 2010-11-03 00:48:18 +00:00
Jesse Vincent
b9999878df We care about eclair MR1, not eclair 2010-11-03 00:44:07 +00:00
Jesse Vincent
9c7e3bcc26 Guard against null content from html parts on reply/forward, which was
causing a bunch of NPEs on the market.
2010-10-31 17:42:03 +00:00
cketti
7f396e29a0 Match beginning of words when searching for contacts in Android 1.5/1.6 (e.g. "Doe" will find "Doe, John" and "John Doe")
Fixes issue 1354
2010-10-30 20:53:56 +00:00
cketti
0add1f97c0 Mark contacts as contacted when a mail is sent to them.
Fixes issue 2522
2010-10-30 20:35:49 +00:00
Jesse Vincent
7db384fc08 Use a more backward compatible os version check, since the "current"
best practice is incompatible with 1.5
2010-10-29 22:35:27 +00:00
Jesse Vincent
e0d6a55d06 SINGLE_COLUMN layouts cause Android 1.0-2.1 to segfault. 2010-10-29 22:35:19 +00:00
Jesse Vincent
b749a198a7 get to: contacts working right. 2010-10-29 22:35:11 +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
Fiouz
d28a85de5b Update issue 2270
Status: Fixed
Gracefully ignore RejectedExecutionException on service shutdown (there's little we can do about being shut down)
2010-10-29 19:55:04 +00:00
Fiouz
be6ab18091 Update issue 2537
Try to gracefully handle account DB corruption by deleting file on open exception
2010-10-28 19:16:55 +00:00
Fiouz
50c3751421 Display "Account settings" title instead of "General settings" when opening account settings (doesn't seem to be affected by user chosen language though) 2010-10-28 19:07:30 +00:00
Marcus Wolschon
b723769e65 translated "unable to connect". 2010-10-28 14:37:48 +00:00
Jesse Vincent
6704279042 redo our messagelist sigil code to not break sender colorization 2010-10-25 03:21:08 +00:00
Jesse Vincent
724169e982 astyle 2010-10-25 03:20:03 +00:00
Jesse Vincent
ddccd11ef7 Try to send pending messages whenever we refresh pushers. should help
with "stuck" unsent messages on push-only accounts
2010-10-25 03:19:43 +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
07adaaee4d Applied WebDavStore_cleanup.diff to remove dead code in the WebDav store from Kris Wong <wongk@seapine.com> 2010-10-24 01:02:46 +00:00
Jesse Vincent
62caa5ce76 Experimental change - ask android to try to make columns no wider than
the viewport. This change should NOT be backported to 3.2, but I'd like
folks to try it with real email.
2010-10-23 18:50:54 +00:00
Jesse Vincent
43cb54594b Push the webview's renderpriority from NORMAL to HIGH - it's cargo-cult
performance improvement, but it certainly doesn't hurt
2010-10-23 18:50:24 +00:00
Jesse Vincent
983d7ad48f The "viewport" hinting we used to try to better fit messages by default
made android zooming incredibly unreliable. Now it's only somewhat
unreliable.
2010-10-23 18:50:10 +00:00
Jesse Vincent
4ea6c1603b We've been seeing a lot of FCs on htmlifcation of large messages due to
running out of memory during our heavy HTMLification. Try to be a bit
lighter on the poor RAM if a plain text message is big.
2010-10-23 17:33:08 +00:00
Jesse Vincent
524dfb348a Updated MIME Type list with http://www.stdicon.com/mimetypes 2010-10-23 16:28:18 +00:00
Jesse Vincent
105df4c61a It turns out that not every android release has a good extension to
mimetype mapping. restore our previous hardcoded mime database as a
fallback
2010-10-23 16:28:07 +00:00
Jesse Vincent
fb059a8138 Fix for NPE when changing the identity
Fixes issue 2506. Patch from jca02266
2010-10-23 15:26:50 +00:00
Jesse Vincent
96f1d9eadf Fix phantom messages in unified inbox. 2010-10-23 15:19:56 +00:00
Jesse Vincent
bc2127c84a added a synchronous variant of searchLocalMessages 2010-10-23 15:19:47 +00:00
Jesse Vincent
64c102dd14 notification that the dataset changed needs to happen on the UI thread. 2010-10-21 20:49:48 +00:00
Jesse Vincent
48f2885cfc When returning from a messageview to a messagelist do our listview
updates on a thread rather than on the main ui thread. it results
in the list blinking with old data, but that's still a better user
experience than "frozen"
2010-10-21 20:49:36 +00:00
Jesse Vincent
e8756af4f1 astyle 2010-10-21 20:49:20 +00:00
Jesse Vincent
2a4792eb60 update a comment about an uncommon code path 2010-10-21 20:49:05 +00:00
Jesse Vincent
8d9c074a27 Add gmail-style "to me" and "cc me" indicators in messagelist 2010-10-21 20:48:45 +00:00
Jesse Vincent
d02ddda19b When doing a message search, break it into "first 10" and "more" -
because a long SQL query takes more time before starting to return
results, K-9 was increasingly slow on large folders.

Doing two searches may take marginally more time but starts getting
results back to the UI much faster.
2010-10-21 20:48:28 +00:00
Jesse Vincent
e05784d41d Running heavy operations on the UI thread makes K-9's UI slow and
freezy.  addOrUpdateMessages is very heavy. and very common.
2010-10-21 20:48:12 +00:00
Marcus Wolschon
0933fad9b3 Update issue 7031
http://code.google.com/p/android/issues/detail?id=7031
added removeDialog() for every dismissDialog()
2010-10-18 09:53:22 +00:00
Jesse Vincent
b2a08d969b Revert "For the common case of "getMessage" where we actually have the object in"
This doesn't work on initial sync, since the comparisons fail and you're
left with duplicates in the displayed mailbox
This reverts commit fa1c88bec348d0132acc60a320626bf0ca1170ec.
2010-10-16 08:27:58 +00:00
Jesse Vincent
496677dad4 Calculate preview for html-only messages
Fixes 2465
2010-10-16 08:27:47 +00:00
cketti
742db2ac62 Cosmetic code changes 2010-10-13 20:56:44 +00:00
cketti
4be781a749 Fix NullPointerException when saving account settings for non-IMAP accounts.
Fixes issue 2454
2010-10-13 20:49:34 +00:00
Jesse Vincent
28c9dfdcce Delay formatting of dates in messagelist until we actually need them
-- it turns out they're very expensive.
2010-10-13 10:53:08 +00:00
Jesse Vincent
4e53ee12b6 For the common case of "getMessage" where we actually have the object in
the list, use a less painful equality check than iteration.

This works because messageInfoHolders compare to each other using the
same key as message they contain.
2010-10-13 10:52:53 +00:00
Fiouz
9db44bf4a9 MessageProvider: making sure exposed cursor gets dereferenced on close (and closed on finalization) to prevent memory leak 2010-10-11 20:41:59 +00:00
Jesse Vincent
e8fd9683e6 Optimize the new return-to-listview code. (Avoid a bug where we do far
too much work on first open of a message list)
2010-10-11 19:47:41 +00:00
Jesse Vincent
d07aca3008 "Preferences" -> "Settings" for consistency 2010-10-11 14:54:23 +00:00
Jesse Vincent
c5d68fb49d Add preferences to enable pinch-to-zoom and single-column layout for
messages
2010-10-11 14:54:15 +00:00
Jesse Vincent
5fc78b4219 astyle 2010-10-11 00:08:54 +00:00
Jesse Vincent
a683186f6e move 3 IMAP preferences out of the "wizard" flow to an advanced page
where they belong
2010-10-11 00:08:47 +00:00
Jesse Vincent
28388b235e move "saveAllHeaders" to the account preferences screen. 2010-10-11 00:08:39 +00:00
Jesse Vincent
777c3e28b5 Disable theme in preferences to work around an android bug 2010-10-10 19:29:15 +00:00
Fiouz
296ab4f2be Update issue 1623
Message retrieval:
- Use the given projection for the cursor result instead of always using a predefined projection. Extraction logic is now in dedicated classes for easy extension.
- Added BaseColumns._ID & BaseColumns._COUNT columns.
- Deprecated "id" column since it's not a reliable identifier (it's an incremential value generated at query() time)
2010-10-09 09:19:24 +00:00
cketti
3503355b2e "Reply after quote" preference wasn't persisted. 2010-10-09 03:17:59 +00:00
cketti
385c34e190 Refactoring
- Moved ListPreference helper functions from FontSizeSettings to K9PreferenceActivity
- Used helper functions in Prefs
- Reordered preferences in Prefs to match the order in global_preferences.xml (display order)
2010-10-09 01:05:29 +00:00
cketti
96f18734f4 Minor rename 2010-10-09 00:48:46 +00:00
cketti
da7210d1db Refactoring: Some variable, method, and id renaming. 2010-10-09 00:38:52 +00:00
cketti
7028a4c167 Fixes issue 2144
- Removed the contact names cache (memory leak)
- Changed Contacts.searchByAddress() to Contacts.getNameForAddress(). Cursor is now immediately closed.
- Only try to resolve contact names when "Global settings" -> "Show contact name" is checked
- Never resolve contact names if number of recipients exceeds a threshold
2010-10-09 00:24:43 +00:00
cketti
4f429ec3bc Update issue 2144
Forgot to actually save the value when leaving global settings.
2010-10-09 00:13:46 +00:00
cketti
23b53bd660 Update issue 2144
Added option to show names from contacts to global preferences (value isn't used yet).
2010-10-08 23:50:33 +00:00
Jesse Vincent
72cb0bf7ec remove debugging statement 2010-10-08 06:56:50 +00:00
Jesse Vincent
8c1eda3149 An attempt at cleaning up after the 3.00x and earlier bug that caused
K-9 to leave old headers hanging around in the database
2010-10-08 06:33:04 +00:00
Jesse Vincent
ccc9a99d94 make batch buttons behave correctly if the last selected item is deleted
while in a messageview
2010-10-08 06:18:45 +00:00
Jesse Vincent
b0de9913e0 more correct list updates after restore 2010-10-08 06:18:30 +00:00
Jesse Vincent
7881039cbf astyle 2010-10-08 05:34:46 +00:00
Jesse Vincent
945bccd633 First pass at a sane "restore list state" behavior when going back to a
messagelist from a message view
2010-10-08 05:34:33 +00:00
Jesse Vincent
78f797dda8 A previous refactoring broke notification for messages from the user by
replacing  a localized string with substitutions with a concatenation
in one of two places the string was used.
2010-10-08 05:09:38 +00:00
Fiouz
6feb483f36 Update issue 1623
Restored accidently dropped content resolver notification code (dropped during r2397 refactoring)
First pass at documenting exposed fields
2010-10-06 20:14:33 +00:00
Fiouz
f858c72482 Added @Override compile check 2010-10-06 17:51:35 +00:00
cketti
9b5436d23b Removed (redundant) debug logging from the IMAP parser code. 2010-10-06 01:50:02 +00:00
Fiouz
548e6e7c77 Update issue 1623
Don't export the formatted date through the content provider: now exported as the raw Epoch value - date formatting is a UI concern. That makes MessageInfoHolder lighter.
2010-10-05 22:33:20 +00:00
Fiouz
58c80ad096 Update issue 1623
Added semaphore to prevent third party content resolver from exhausting K-9 resources: it won't allow more than 1 cursor to be active at the same time. Concurrent threads (other content resolver invocations) will be suspended until the previous cursor gets released.
2010-10-05 20:23:07 +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
Jesse Vincent
58bb54a588 when quoting an html body part for forwarding, downrez it to plain text.
In the glorious future, we should be forwarding as an attachment. but
this is better than the previous behaviour
2010-10-05 06:04:16 +00:00
Jesse Vincent
ae53a0c5ff broke addAttachmentView into its own sub 2010-10-05 06:03:51 +00:00
Jesse Vincent
524350a960 Replace our (incomplete) custom MIME type list with a call to webkit. 2010-10-05 06:03:24 +00:00
Fiouz
4d24101e13 MessageProvider:
- Prevented from handling queries while K-9 isn't ready
- Added more log output
2010-10-05 05:09:17 +00:00
cketti
00ffc4f7fe Reverted "shortcut" to global settings in menu for search results (message list) as this led to display problems with Android 2.2.
Fixes issue 2347
2010-10-04 00:01:59 +00:00
Fiouz
a3f4429963 Switch to UNIX EOL style 2010-10-03 11:08:42 +00:00
Fiouz
f1d413ce77 Optimization: extracted populate() outside MessageInfoHolder in order to properly cache DateFormat (avoid useless DateFormat costly lookup at each population) 2010-10-03 10:56:16 +00:00
Fiouz
9347409e14 Changed case of CheckboxListPreference class to match the Android framework naming pattern 2010-10-03 09:26:30 +00:00
Fiouz
8bb6eb146b Optimizations:
- Don't instantiate an empty Address array just to throw it away (less gabarge collection)
- Use a StringBuilder rather than a StringBuffer (faster as it isn't synchronized)
2010-10-03 08:28:56 +00:00
Fiouz
ef1d958092 Optimization: don't invoke Cursor.getXXX(int) more than necessary 2010-10-02 18:45:51 +00:00
Fiouz
75984939d1 Don't embed helper instance inside a data transfer object (ideally, the populate() method should be moved outside that DTO to an external service/helper) as this might lead future development to introduce unwanted dependency graphs (= memory leaks) 2010-10-02 09:07:14 +00:00
Fiouz
bb64a0ab01 Update issue 2379
Status: Fixed
Extracted Intent.ACTION_SENDTO handling in a separate block to extract data from URI (as opposed to ACTION_SEND which uses Intent extras to pass data)
2010-10-02 08:14:12 +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
Fiouz
71dbdf3417 Update issue 1623
Removed dependency from K9 to MessageProvider (and added ability for components to register themselve for being notified when K9 instance is ready)
Moved Intent broadcast code from MessageProvider to K9
Made query() easily extensible using strategy pattern, the discriminant still being the Uri path
2010-10-01 19:41:39 +00:00
Fiouz
01f961c058 Update issue 1623
Fixed severe design flaw where the message provider would accumulate messages, causing an OutOfMemoryError even when the message provider isn't explicitely invoked.
query() is now synchronized with message retrieval
2010-09-26 16:01:41 +00:00
Koji Arai
2a39cd5206 Fixes issue 2282
Added an option whether the registered name color is change or not
Avoid "Connection error" when MessageView is opened. The contacts.getName() might return null.
2010-09-26 14:39:52 +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
Jesse Vincent
b6124fb397 deleteHeaders deleted message headers by id when it should have been
deleting by message_id.  I believe this was our last serious leak in
our flash storage

deleting message headers was....just wrong. we've fixed other similar
bugs inherited from android 1.0 before.
2010-09-22 02:46:20 +00:00
Fiouz
4cb2d52c9c Refactored message sorting code by extracting the sort code from the sorted object (this was a bad design, worsened by the MessageProvider patch). Ideally, new Comparator classes should get promoted to top-level classes and not be enclosed in MessageList.
Subject stripper backported from issue258 branch (Utility.java)
The result is a cleaner MessageInfoHolder class.
2010-09-21 22:12:45 +00:00
Marcus Wolschon
9ef306413b MessagingController not propagating provided listener 2010-09-20 11:47:02 +00:00
Fiouz
0990609727 Don't forget to remove some Preference entires when deleting Account 2010-09-19 21:10:56 +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
e16a79d08c Javadoc comment 2010-09-12 06:11:08 +00:00
Fiouz
c8a5de7abd Intent.ACTION_SENDTO.equals(action) was tested twice in the same if/else if statement causing the last one to never match, removed the first one in order to properly enable intent-based activity population
Fixes issue 2110
"Intent.ACTION_SENDTO.equals(action)" removed from first condition
See r1712
2010-09-12 05:26:13 +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
cketti
8cf2655dd8 Reverted r2332 and r2333 because the cause of the problem reported in issue 2078 seems to be different than initially thought. 2010-09-09 23:52:06 +00:00
Fiouz
5aa56e1569 Code cleaning: remove unused imports/variables 2010-09-04 06:57:25 +00:00
Jesse Vincent
3291c585e8 Improve Volume navigation settings, fix a bug when a list view is in
touch mode.

Patch by fiouzy.
2010-09-03 21:41:32 +00:00
Fiouz
de31886f44 Fixes issue 2230
Owner: fiouzy
Synchronize access to designated list to prevent concurrency issue
2010-09-03 20:32:12 +00:00
cketti
a85ea2ee53 - Reworked the previous patch with suggestions by jessev to be as runtime/memory efficient as possible without being useless.
- Output debug message when invalid responses are encountered.
2010-09-03 15:32:25 +00:00
cketti
b9b15295cd Added yet another work-around for an IMAP server implementation with a creative interpretation of the specification. Sanity check results returned for a SEARCH command.
Fixes issue 2078
2010-09-03 13:58:09 +00:00
cketti
9d9e669d65 Code cleanup 2010-09-03 02:15:57 +00:00
cketti
b44bed2596 Fix NullPointerException
Fixes issue 2261
2010-09-03 01:16:41 +00:00
cketti
0c27a1ab0e Avoid division by zero.
Fixes issue 2259
2010-09-03 00:56:19 +00:00
cketti
525d9a2ef9 Don't choke on malformed UIDL responses (POP3).
Fixes issue 2252
2010-09-02 23:59:20 +00:00
Jesse Vincent
6573f27cec do our messagelist updates from sync on the ui thread rather than the
sync thread. copy the incoming message list to deal with concurrent
access issues.  Patch by cketti++
2010-09-02 03:45:16 +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
Fiouz
f21d86d8ce Fixes issue 1945. Toast debug location when enabling debug logging. 2010-09-01 21:27:11 +00:00
Fiouz
9b285ae3fc Fixes issue 939
Heavily inspired from Gmail implementation. Currently implemented only for MessageView delete operation.
2010-09-01 20:59:09 +00:00
Koji Arai
842a5ee123 Update issue 2144
Use setSpan() instead of Html.fromHtml()
Should clear cached name of contacts at MessageView#onClickSender().
2010-09-01 01:35:20 +00:00
Jesse Vincent
a83fd2d548 Kill an insanely chatty log message 2010-08-31 05:01:26 +00:00
Jesse Vincent
a1496bd839 Revert the clever runonuithread hack from the previous commit, as it
leads to concurrent modification exceptions. "oops" :/
2010-08-31 04:29:56 +00:00
Jesse Vincent
7030967fa7 astyle 2010-08-31 03:58:33 +00:00
Jesse Vincent
7bd8fc3599 When we sync messages and are displaying a messagelist, do the listview
updates on the UI thread rather than the sync thread. This is a huge
performance boost (based on simple empirical testing) for initial syncs
as we now do more work as we add messages to message lists
2010-08-31 03:57:02 +00:00
Jesse Vincent
db1b86a296 Better visibility toggling as k-9 switches between messages in
MessageView
2010-08-31 03:55:30 +00:00
cketti
7f72da93e0 Added missing bit of achen.code's patch for issue 2211 (reply below quote) 2010-08-30 21:27:07 +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
Koji Arai
e5c4f35737 Correct loading the alternated font size preferences. 2010-08-30 14:14:43 +00:00
Jesse Vincent
4bf233fba5 next and previous were reversed from K-9's standard interpretation of
them in the previous patch to add volume button navigation
2010-08-30 03:05:41 +00:00
Jesse Vincent
12eb866370 Remove a temporary variable 2010-08-30 02:16:38 +00:00
Jesse Vincent
65f0d22355 Add Volume button navigation in MessageView, MessageList and all
K9ListActivity subclasses.

The MessageView code is a patch from paulkilroy@gmail.com.

Fixes Issue 2112
2010-08-30 02:16:20 +00:00
Jesse Vincent
0f1a1baa89 Add a preference to use volume up / volume down to navigate items.
From a patch by paul.kilroy@gmail.com. Partial resolution of Issue 2112
2010-08-30 02:15:59 +00:00
Jesse Vincent
be8ac83198 A first pass at letting users choose not to top-post their message
replies.  Code By achen.code@gmail.com

Fixes Issue 2262
2010-08-30 00:00: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
7d2804549e Remove redundant "return" statements from the end of void methods (with
help from intellij)
2010-08-29 23:39:45 +00:00
Jesse Vincent
4f0bce1569 Simplify many, many boolean conditions with help from IntelliJ 2010-08-29 23:39:26 +00:00
cketti
3d27cf220a Removed some code/string duplication. 2010-08-29 18:46:51 +00:00
Jesse Vincent
89dcc3646b Database version bump to clear bogus cached attachments 2010-08-29 16:58:04 +00:00
Jesse Vincent
6031862bad Before we delete messages earlier than the earliest acceptable date, make sure we also delete their attachments. 2010-08-29 16:57:57 +00:00
Jesse Vincent
fe62812ff2 Delete the attachments from disk before we delete them from the database, so we know what to delete. 2010-08-29 16:57:49 +00:00
Jesse Vincent
994ed6653c simplify some of our flagging logic and remove duplication using ternary operators 2010-08-29 16:57:40 +00:00
Jesse Vincent
6d38c1c71a Comments to better explain what's really going on on delete of messages 2010-08-29 16:57:31 +00:00
Jesse Vincent
a5b7aa97dd typo fix 2010-08-29 16:57:24 +00:00
Jesse Vincent
e0447e32cc astyle 2010-08-29 16:57:13 +00:00
Jesse Vincent
7300aca2b8 Remove a call to deleteHeaders since headers are deleted implicitly by
an SQLite trigger.

Call our new variant of deleteAttachments() to avoid an extra lookup
2010-08-29 16:57:02 +00:00
Jesse Vincent
31613e15c7 extract the method for "delete a message" from the "Set flags" method 2010-08-29 16:56:54 +00:00
Jesse Vincent
54a4c84afa Split out deleteAttachment to avoid an extra SQL call if we can. 2010-08-29 16:56:45 +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
cketti
41ebeb3498 Don't show K9mail-errors as move/copy destination folder.
Fixes issue 2219
2010-08-27 01:02:29 +00:00
Thialfihar
a93da0ed80 decoupled PgpData from CryptoProvider, moved the crypto provider into Account 2010-08-22 09:51:17 +00:00
cketti
df0ae4e4bf Update Issue 2168
Respect "Return to list after delete" after pressing on "Archive", "Move", or "Spam" button.

TODO: Change strings to reflect this change (e.g. "Return to list after move/delete")
2010-08-19 03:14:27 +00:00
cketti
90ee194d0f Fixes issue 387
Applied patch by achen.code (thanks!) to word wrap the quoted text on replies.
2010-08-19 02:49:13 +00:00
Marcus Wolschon
00d30f1b8a NullPointerException and TODO-Marker on a strange code-line 2010-08-18 14:27:39 +00:00
Marcus Wolschon
726b472330 set context before using it 2010-08-18 14:13:37 +00:00
Jesse Vincent
0b62640eac Provisional initial commit of MessagingProvider code by
stephane.lajeunesse and koxx33

We're going to try it out in the 3.1 dev series. if it ends up looking
good, it'll be in 3.2
2010-08-18 02:49:13 +00:00
Jesse Vincent
ff5024eaec astyle 2010-08-18 02:48:55 +00:00
Jesse Vincent
86dc82f916 Merge branch 'ideal-screenreader'
* ideal-screenreader:
  The IDEAL Group have joined the K-9 dogwalkers and submitted their code to be part of K-9!
  Initial import of the Ideal K-9 branch which adds support for screenreaders.
2010-08-18 02:01:10 +00:00
Jesse Vincent
8832933a60 It turns out that if you're only fetching the bodystructure, the mime4j
parser can't parse the message.
2010-08-17 04:21:22 +00:00
cketti
02aad5945a Added null pointer check.
See issue 2154
2010-08-16 19:34:48 +00:00
cketti
ba95150a31 Use IP address for SMTP EHLO if hostname contains invalid characters, e.g. underscore.
Fixes issue 2143
2010-08-15 19:26:44 +00:00
Koji Arai
7964c34dbd Fixes issue 2145
Cannot show the emoji icon on Android 1.6 at least. Replaced all "< img" to "<img".
2010-08-15 14:52:59 +00:00
cketti
da90792fa7 Don't call MimeUtility.unfoldAndDecode() on the message body when scanning for external image references. Also cleaned up the code a bit. 2010-08-15 04:05:39 +00:00
Jesse Vincent
73c3872dd0 Improve our display of inline images in HTML mail to not also offer
themselves up for download.

To do so, we need to start storing the original content-id and
content-disposition for attachments - this includes a database upgrade.

Based on a patch from @achen.code
2010-08-15 02:37:06 +00:00
Thialfihar
95fd605b0e default account setting cryptoApp to APG 2010-08-14 19:30:37 +00:00
cketti
0e4c1dfacb Added helper class to access contacts. Uses the old contacts API for SDK/API 3+4 devices and the new API for SDK/API 5+ devices.
All places that accessed the contacts have been updated to use this helper class.
2010-08-14 13:59:33 +00:00
cketti
0eb342ef5a Code cleanup (Removed unused imports, added @Override annotations) 2010-08-13 14:06:13 +00:00
Marcus Wolschon
97001b6edb filter on folder-selection 2010-08-13 06:37:00 +00:00
Thialfihar
b839866e17 removed some unused APG constants, added an APG Intent API version to be sent along with all Intents 2010-08-12 17:39:50 +00:00
Fiouz
1e67fc4cde Update issue 1290
Update issue 1916
Added support for country/region specific locales
2010-08-12 11:03:19 +00:00
Jesse Vincent
a0238904b6 Update our emoji implementation to support docomo, softbank and kddi
(with the exception of 3 kddi glyphs that overlap with softbank).

As of this commit, emoji sent by iPhone users are visible in K-9
2010-08-12 02:22:35 +00:00
Jesse Vincent
d123aa2a39 Add a hook for hinting charset conversions to Java, since Android's java
doesn't know about all conversions.
2010-08-12 02:22:25 +00:00
Jesse Vincent
54633a4e16 Improvements to "more from this sender" - hopefully this should search
only on actual addresses, not their local parts.
2010-08-12 02:22:08 +00:00
Jesse Vincent
ece68bae5d Off-by-one error in the recent IMAP fetch work :/ 2010-08-12 02:21:56 +00:00
Jesse Vincent
de16b21124 Add debug logging when K-9 doesn't enable push because the user has
configured push to be off.
2010-08-11 03:36:49 +00:00
Jesse Vincent
0229d8a1fe Implement windowing for IMAP UID FETCH
Our previous implementation of UID FETCH didn't ever take into account
maximum command line lengths. When fetching, say 800 messages from a
GMail IMAP server, we could easily overflow the max line length leading
to a fetch that didn't get all the messages we wanted to and was
truncated before the description of which fields we want. That caused
K-9 to fetch complete messages, exhaust memory and ultimately fail,
even when we were just trying to get message lengths.

An equivalent fix needs to be made to seach by UID.
2010-08-11 03:36:40 +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
490ab6b8c0 Try harder to make message loading feel responsive and scroll correctly.
We're still not there.
2010-08-09 03:16:40 +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
cketti
2e6a67c2a7 Better text filter for ChooseFolder (folder is displayed if search term is found anywhere in the folder name, not just at the beginning)
Heavily based on a patch provided by Marcus.Wolschon

Fixes issue 2098
2010-08-08 20:27:39 +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
cketti
43fb202d43 Fixes issue 1522
Added option to automatically show images in message view (always, if sender is in contacts, never).
Patch by paulkilroy (thanks!)

Includes bugfix for the "Show pictures" on orientation change code introduced earlier.
2010-08-07 22:38:08 +00:00
cketti
9d45470b40 Fixes issue 1076
Remember "Show pictures" button state when changing orientation.
2010-08-07 21:37:57 +00:00
cketti
5c588992a0 Fixes Issue 2076
Remove german version of the "Re:" prefix when replying to messages. So instead of "Re: AW: subject" we get "Re: subject".
2010-08-07 19:25:47 +00:00
Fiouz
dfb8f9e0f2 Memory management optimisation: help garbage collection by avoiding repeated instantiations of immutable arrays (empty arrays of String, Message, Flag, Address) 2010-08-07 15:10:07 +00:00
Thialfihar
54e0ad5ce0 added some comments to explain some cryptography-related classes and to-dos 2010-08-05 10:55:59 +00:00
Thialfihar
11e28698e1 hide the decrypt signature layout in MessageView if no signature exists, fixes the wrong display of signatures from another message 2010-08-05 10:45:58 +00:00
Fiouz
380452355c MessageListAdapter:
- Use of a single View.OnClickListener for all messages.
- Extracted method to bind message item views (from MessageInfoHolder to MessageViewHolder).
2010-08-03 07:46:31 +00:00
Fiouz
ad9c315cf4 No longer need to extend Handler since r1126: we're using Activity.runOnUiThread() 2010-08-03 06:09:39 +00:00
Fiouz
2a476dc92c Additional @Override compile check 2010-08-03 05:46:35 +00:00
Jesse Vincent
f15101420e Revert "I like this idea, but it's not ready for 3.000"
This reverts commit f812a3485445c7db4024f84865aaa5d8e6b7b3a0.

(Now that 3.0 is branched, this can be on trunk again for further work)
2010-08-02 22:34:21 +00:00
Jesse Vincent
58c5afc77b I like this idea, but it's not ready for 3.000
Revert "It turns out that a big part of our perceptible message switching time"

This reverts commit 06f9bb5b7f3064e646b43148d188cec06cd14d11.
2010-08-02 22:32:57 +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
d4695636f3 It turns out that a big part of our perceptible message switching time
was loading the "loading..." file into the WebView. Since it doesn't
take that long to load the real content, replacing the "Loading..." file
 with "blank the view" seems to actually feel a heck of a lot faster.
2010-08-02 03:03:58 +00:00
Jesse Vincent
f2729fc58b Don't show "To: " if the only recipients were ccs and bccs. 2010-08-02 03:03:53 +00:00
Jesse Vincent
cd6b64d88f Experimental changes to tell WebView that the HTML versions of messages
we generate from ascii are "mobile-optimized"
2010-08-02 01:27:50 +00:00
Jesse Vincent
d78e7a0d69 Switch from the incomplete (but compatible with java 1.3) mime4j charset
alias resolver to the core java nio version with a better charset
database;

rather than falling back to not showing the user a failing message, fall
back to showing the user the message as ascii -- it makes it possible
to get _something_ out of an unknown-charset message, rather than just a
"ha ha. no." error.
2010-08-02 01:27:46 +00:00
Jesse Vincent
7fc921c0b7 astyle 2010-08-02 01:27:40 +00:00
Jesse Vincent
a4381696f9 Support Emoji for DoCoMo.
Emoji icons are derived from http://start.typepad.jp/typecast/
2010-08-02 01:24:40 +00:00
Fiouz
3bbb6ae050 Don't display Archive/Spam batch operations when corresponding folders are unset 2010-07-30 09:58:26 +00:00
Jesse Vincent
d8a73b195d Factor out the decision about whether a part is "viewable" for purposes
of fetching ; remove broken "inline" check from the same.
2010-07-30 00:58:33 +00:00
cketti
0c67f1f4cf Only ask for POP3 capabilities before authorization if TLS should be used. Always ask after authorization. 2010-07-30 00:58:22 +00:00
cketti
91e55f6fa1 Don't log POP3 passwords by default. 2010-07-30 00:53:46 +00:00
Jesse Vincent
d8a757faaf Try to avoid a bunch of reallocations as we grow the temporary output stream by defining its size if we can get it 2010-07-29 22:17:35 +00:00
Jesse Vincent
134c0b23dd Backport a bit of memory efficiency I'm not sure I believe from AOSP 2010-07-29 22:17:32 +00:00
Jesse Vincent
0bb115ca42 Actually catch an OOM in getTextFromPart
Backport an update to getTextFromPart from AOSP as of 290348 - dealing with OOM as we import large messages
2010-07-29 22:17:29 +00:00
Jesse Vincent
c6aa505ffe improve the method docs on getTextFromPart
Backport an update to getTextFromPart from AOSP as of 290348 - dealing with OOM as we import large messages
2010-07-29 22:17:26 +00:00
cketti
4c1060ecae Only show "save or discard" dialog before leaving the message compose activity if the message needs saving. 2010-07-28 23:17:46 +00:00
Thialfihar
3d5fb524ef set account setting crypto app to "APG" by default 2010-07-28 21:28:51 +00:00
Thialfihar
5e30c3dab1 removed two extra lines from the merge in r2055 2010-07-28 12:10:08 +00:00
Jesse Vincent
2ca76e3db0 Fix for Issue 1956
A race condition made the outgoing certificate being compared to the old
incoming mHost,
throwing an exception with an untrusted certificate dialogue to accept
or decline.
2010-07-27 18:59:41 +00:00
Jesse Vincent
7a4d12b53b Merge from apg-integration 2010-07-27 12:10:09 +00:00
Jesse Vincent
bae8a9736d Clean up some inverted logic 2010-07-27 01:28:03 +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
766a115155 Remove URLs from message previews. Suggested by Kevin Falcone 2010-07-24 02:09:12 +00:00
Jesse Vincent
19a06d39a1 With all the other performance work we've been doing, getting a message
into the messagelist is now much, much faster. Intentionally loading the
whole mailbox before we let the user interact with the list is
increasingly painful. A 250 message mailbox takes 2+ seconds to "unlock"
on a modern phone.

Consequently, this commit switches us _back_ to progressive loading of
mailboxes from the synchronous version.

Based on user feedback, we may or may not keep this for the production
release.
2010-07-22 04:17:13 +00:00
Jesse Vincent
80e134c03c astyle 2010-07-22 03:40:30 +00:00
Jesse Vincent
eb21807384 Moving sendMessage and saveMessage into AsyncTasks to make the send/save
buttons much less janky
2010-07-22 03:40:22 +00:00
Jesse Vincent
8182b8a8ee Split out sendmessage and savemessage - the sendorsavemessage method
didn't actually have them sharing code.
2010-07-22 03:40:14 +00:00
Jesse Vincent
338919a9a0 Merge remote branch 'remotes/issue814'
* remotes/issue814:
  Changed the appearance of the ChooseAccount activity to better match the look of the account list.
  svn:eol-style set to LF (UNIX style)
  Update issue 814 Status: Started Cc: +fiouzy Reuse of res/layout/accounts_item.xml to match account list Automatically expand/scroll to Intent-presented account
  - Patch provided by fiouzy (ability to choose identity from other accounts) - Modifications in MessageCompose by cketti (use MessageReference to replace mFolder and mSourceMessageUid)
  Created branch for issue 814 (Feature to select account to send from in compose screen)
2010-07-22 03:15:28 +00:00
Jesse Vincent
75b8487024 First bits of infrastructure for not showing HTML-mail inline images as
downloadable attachments
2010-07-19 06:13:41 +00:00
Jesse Vincent
65e318a80e mark thumbnails as .tmp files that should be explicitly gced on start. 2010-07-19 05:32:45 +00:00
Jesse Vincent
7de3aeb740 Actually, clearing the tempdir from attachmentprovider stomps on our
binary download usage of the temp directory. Reverted!
2010-07-19 05:32:37 +00:00
Jesse Vincent
f9a24cb123 astyle 2010-07-19 01:57:49 +00:00
Jesse Vincent
a75bf8668e K-9 wasn't properly clearing the thumbnail/tmpfile cache. We now
properly clear it up on start, which causes K-9 to leak less flash
memory AND
fixes the "Wrong thumbnail" bug.
2010-07-19 01:55:23 +00:00
Jesse Vincent
f7032c4161 Android is growing up a bit. artificially limiting the user to
attachments of only 5MB is counter-productive, bump the artificial limit
to 128M
2010-07-19 01:55:09 +00:00
Jesse Vincent
6ef923be91 After we download attachments, get rid of the "old" attachment views 2010-07-19 01:54:55 +00:00
Jesse Vincent
2ee5b49cf2 When marking a message as read as we're opening it from the message
list, don't "bother" sorting the messagelist again before opening the
message, it adds a _bit_ of slowness when we don't need it and
we'll sort again when we get back to the message list.
2010-07-19 01:54:38 +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
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
Bao-Long Nguyen-Trong
55dac7ee4e Added option to have attachments store on sd card
(this is still a rough implementation)
2010-02-06 15:22:59 +00:00
Bao-Long Nguyen-Trong
49b223e20c Fixed issue 140 and issue 950: for partially downloaded messages, displaying what we already have while downloading the full message in the background
TODO: Need better icon indicating that the message is being fetched
2010-02-06 14:49:36 +00:00
Daniel Applebaum
6f064e1193 Partial implementation for Issue 1059. Doesn't help those without
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.
2010-02-06 05:55:40 +00:00
Daniel Applebaum
9ec77a9f9a Fixes Issue 1182
Never set up K9mail-errors or the Outbox for pushing
2010-02-06 05:35:15 +00:00
cketti
c64c0a1c30 Replaced base64 as default encoding for text bodies with quoted-printable. Please use issue 1176 for discussion. 2010-02-05 14:26:09 +00:00
cketti
14ee970b18 Fixed EOLConvertingOutputStream.
write('\r');flush();write('\n'); would lead to "\r\n\r\n" instead of simply "\r\n";
2010-02-05 02:36:52 +00:00
cketti
0422cae33e Implemented data stuffing. 2010-02-05 02:32:32 +00:00
cketti
45036ae5c8 Use 8bit transfer encoding for the text body if SMTP server advertises 8BITMIME. In all other cases base64 is still used (including saved copies in IMAP "Sent" folder).
Feel free to revert this if anything breaks.
2010-02-04 23:37:50 +00:00
cketti
6480e78b97 r1396 caused trouble for some clients due to a missing "MIME-Version" header. This should fix the problem. 2010-02-04 17:28:35 +00:00
Jesse Vincent
a9b538fd09 stop views from "resetting" to previous intents on rotate. 2010-02-04 02:38:30 +00:00
Jesse Vincent
5ce80cadaa Move FolderList initialization a bit earlier so as to not explode on reuse of the activity.
Fixes issue 1164
2010-02-04 01:49:56 +00:00
cketti
88854f4123 Fixes issue 1171. 2010-02-03 23:27:33 +00:00
cketti
c6d29cb10e Fixes issue 21 (All messages are turned into multipart messages) 2010-02-03 19:56:20 +00:00
cketti
8049e90b8c Changed IMAP command "UID SEARCH (HEADER MESSAGE-ID %s)" to "UID SEARCH HEADER MESSAGE-ID %s"
Fixes issue 1031.
2010-02-03 17:25:15 +00:00
Jesse Vincent
74aac85048 Use a real hostname rather than localhost.localdomain.
Fixes Issue 45

Patch by cketti
2010-02-02 02:06:35 +00:00
Jesse Vincent
a58095aae1 URLEncode username and password for accounts, so as to not fall apart on
nice simple characters like ':' in passwords.

Patch by cketti

Fixes Issue 1155.
2010-02-02 02:06:29 +00:00
Bao-Long Nguyen-Trong
5566c79e07 Fixed issue 1143: Calling finish() on Accounts activity when auto jumping to the only one existing account 2010-02-01 15:24:27 +00:00
Daniel Applebaum
ef1abffa26 Revert r1386 because it will break many folks email sending. 2010-01-31 19:11:51 +00:00
Daniel Applebaum
d114fa1bc3 Fixes Issue 1058
Add 's' hotkey for Select/deselect
2010-01-31 15:41:26 +00:00
Daniel Applebaum
a91e3e10e2 May have some beneficial impact on Issue 21 and Issue 799.
Just removes the base64 encoding on the text/plain body parts.  Does
not make the sent messages non-multipart.
2010-01-31 15:26:02 +00:00
Jesse Vincent
c38384e134 Further refactoring to MessageList and FolderList to (hopefully) address
force-closes and inconsistent data on activity reuse. Also, removing
broken/unused code to preserve activity state across invocations.
across invocations.
2010-01-30 03:26:45 +00:00
Jesse Vincent
22e1a3f574 Rather than manually managing the back button, try to give android better back button hinting
fix our notification -> intent behavior
2010-01-29 03:57:37 +00:00
Bao-Long Nguyen-Trong
e2edcd6d66 Fixed issue 1066: Better handling on mailto URI. Code adapted from AOSP. 2010-01-28 06:25:10 +00:00
Jesse Vincent
1945dc4ad4 Clean up our back button support to be actually consistent and to not leak nearly as many activities. 2010-01-28 00:29:27 +00:00
Jesse Vincent
3ffad03e9b Fix a force-quit by going to the Accounts page after creating an account 2010-01-28 00:29:18 +00:00
Jesse Vincent
cd7432b663 astyle 2010-01-28 00:29:12 +00:00
Jesse Vincent
68efec3782 Improve our "got mail" notifications to include "To:" when they're for messages we've sent 2010-01-26 02:48:22 +00:00
Jesse Vincent
c237ffc803 Tweak our message swipes to be a little harder to accidentally trigger 2010-01-25 04:28:11 +00:00
Jesse Vincent
7fb17b889e Fix a number of assumptions about accounts in MessageLists.
Fixes Issue 1079
2010-01-24 22:26:21 +00:00
Jesse Vincent
ff390b388a Bullet-proofing for database upgrades and better fallback for failures 2010-01-24 20:41:04 +00:00
Daniel Applebaum
a68168d55e Only alert once for each poll or push, even if multiple new unread
messages are found.
2010-01-23 23:44:03 +00:00
Daniel Applebaum
ac14826485 Store push state whether or not the messages arrived already deleted. 2010-01-23 17:54:11 +00:00
Daniel Applebaum
4f65b4270e Fixes Issue 1060
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.
2010-01-23 17:39:28 +00:00
Daniel Applebaum
9cd52d5ef3 Change WakeLock management logging to verbose level (now that it is
working)
2010-01-22 05:55:58 +00:00
Daniel Applebaum
4ced2fa0e1 Only cause MailService refresh when changing a setting that needs it.
Addresses part of Issue 1059.
2010-01-22 05:54:52 +00:00
Jesse Vincent
c59aeb2c78 Patch from Scott Kister to give us better new-message notifications,
somewhat worked over by me
2010-01-21 18:49:11 +00:00
Jesse Vincent
c6058686b3 Fix a crash on swipe in the message list. Thanks to cketti.
Fixes issue 1054
2010-01-20 22:10:10 +00:00
Bao-Long Nguyen-Trong
08e570d40f Fixed issue 1046 bu ending FolderList activity after auto-opening the default folder 2010-01-20 00:21:48 +00:00
Jesse Vincent
c5fa25151a unselect->deselect 2010-01-19 02:58:17 +00:00
Jesse Vincent
2c406a58b0 When disconnecting from an SMTP server, send a quit command to be a
better internet citizen. Fixes Issue 1044.
2010-01-19 02:20:24 +00:00
Jesse Vincent
a145d3c616 "Deselect all" -> "Unselect all" (at a code level)
"Deslect all" -> "Done" (at a UI level)
2010-01-19 00:51:02 +00:00
Jesse Vincent
ae029762cf Add a new preference to always show multiselect checkboxes. 2010-01-19 00:43:52 +00:00
Jesse Vincent
23af9f3e6d Guard against fling events that only have one motionevent defined 2010-01-19 00:15:21 +00:00
Jesse Vincent
4493044340 astyle pass 2010-01-18 00:11:02 +00:00
Jesse Vincent
9301aabc8c CRAM-MD5 for SMTP is now configurable 2010-01-18 00:10:49 +00:00
Jesse Vincent
22e771ef2a Disable our not-so-hot preview generation as part of database upgrade
for now. it took a long time and got mediocre results.
2010-01-17 22:54:08 +00:00
Jesse Vincent
591ca5bc5e Fix batch operations menu
* 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
2010-01-17 22:49:03 +00:00
Daniel Applebaum
4aca44c1aa Hide the explicit "ring enabled" boolean behind the ringtone selection. 2010-01-17 18:14:17 +00:00
Jesse Vincent
f3275a8473 When we've entered "selection mode" actually make sure we _show_ the
selected-item check mark.
2010-01-17 05:52:22 +00:00
Jesse Vincent
591a3af6dc Eliminate "select" mode in favor of a unified swipe and context menu -based
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.
2010-01-17 04:20:39 +00:00
Jesse Vincent
0de7b15aa1 Swipe to select/deselect from touchmode 2010-01-17 04:20:22 +00:00
Daniel Applebaum
64552e2ebe Fixes Issue 977 by correcting defect introduced in r1195. 2010-01-16 16:33:23 +00:00
Daniel Applebaum
f4ceb8d2bc Fixes Issue 673
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.
2010-01-16 16:22:20 +00:00
Daniel Applebaum
a89bd8e081 Only use the IDLE timeout for the folder while actually in IDLE state.
May help with Issue 1022, Issue 952, Issue 895
2010-01-16 14:14:12 +00:00
Daniel Applebaum
f3e06b4ef5 Adjust imports for new location of remote control classes 2010-01-15 05:05:41 +00:00
Daniel Applebaum
d245e81679 Reorganize remote control pieces.
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.
2010-01-15 05:02:27 +00:00
Daniel Applebaum
6c22507dfb Implementation of a Receiver and Service to provide for the capability
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
2010-01-14 04:33:50 +00:00
Jesse Vincent
d95705af4d Speed up the page-flip animation now that we load message views so much faster. 2010-01-14 01:26:09 +00:00
Jesse Vincent
64469e4b4e ran artistic style against src/com/fsck/k9/ 2010-01-14 01:07:28 +00:00
Jesse Vincent
34379dc9be Improved batch button behavior for touch view 2010-01-14 01:07:13 +00:00
Jesse Vincent
25b9f41491 Don't automatically show the batch buttons when entering multiselect mode 2010-01-14 00:33:13 +00:00
Jesse Vincent
e7807e0cf7 "Advanced" account context menu now works right 2010-01-14 00:00:38 +00:00
Jesse Vincent
9bfc01ca32 Add a preference for the new "touch friendly" view. 2010-01-13 03:37:13 +00:00
Jesse Vincent
d5c185545b Add a "done" to the batch buttons.
Make the "done" entry in batch buttons only show up in touch mode
2010-01-13 03:37:04 +00:00
Jesse Vincent
6343f3af5a If we're in touch mode and have selected items, any item click is now a select 2010-01-13 03:36:49 +00:00
Jesse Vincent
7ab9b8ee3c Added a first-pass view optimized for high-rez devices with both select and star 2010-01-13 03:36:43 +00:00
Jesse Vincent
5617b629d3 Added a "preview" column to messages containing a brief summary of the message 2010-01-13 03:36:36 +00:00
Jesse Vincent
23e46b82ce Batch-update buttons now show up when you actually have selected items. 2010-01-13 03:36:30 +00:00
Bao-Long Nguyen-Trong
1c5d240564 Made batch op button's text sensitive to which messages are selected 2010-01-12 19:39:20 +00:00
Daniel Applebaum
14587c3f30 Eliminate pointless, useless, deprecated, NOOP, incorrectly commented call. 2010-01-12 19:28:21 +00:00
Daniel Applebaum
64525028de Move execute into a re-usable location 2010-01-12 14:09:30 +00:00
Bao-Long Nguyen-Trong
11b7157772 Guess mime type (when not specified) of attachments of received messages using file name extension so that we can open them 2010-01-12 02:06:46 +00:00
Bao-Long Nguyen-Trong
f965417479 Exclude deleted messages from search results 2010-01-12 00:59:13 +00:00
Bao-Long Nguyen-Trong
230428d16a Fixed issue 1017: Added 'Search' menu option in account list screen 2010-01-12 00:56:51 +00:00
Jesse Vincent
0bdb02dc24 Minor reformatting 2010-01-09 23:49:44 +00:00
Jesse Vincent
e49fdc9913 Added a comment about why we're setting a click handler 2010-01-09 23:49:36 +00:00
Jesse Vincent
fb223ea61d rename a paremeter to better reflect its use: nextWidget->showWidget 2010-01-09 23:49:31 +00:00
Jesse Vincent
553625b72b Comment an attribute 2010-01-09 23:49:25 +00:00
Jesse Vincent
497ca01586 swap the order of compared values for a bit more logical sanity 2010-01-09 23:25:15 +00:00
Jesse Vincent
5802b84e16 Reorder methods for better logical grouping 2010-01-09 23:25:10 +00:00
Jesse Vincent
9db97e214d Restore Bao-long's original design for "widgets on the left" being a
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)
2010-01-09 23:02:40 +00:00
Jesse Vincent
512177cded Remove more of the old messagepassing ui update code in favor of 'runonuithread' 2010-01-09 21:47:10 +00:00
Daniel Applebaum
e0b98cac21 Correct Exception text 2010-01-09 19:49:54 +00:00
Jesse Vincent
19adadae11 actually specify the size of our BufferedOutputStream as 1k to parallel
other implementations and quiet down a consistent warning in our android
logs
2010-01-08 23:47:34 +00:00
Jesse Vincent
e1c686d40d Fix NullPointerException when the user clicks on a "new mail"
notification.  Resolves Issue 1001
2010-01-08 23:18:44 +00:00
Daniel Applebaum
81fd4749cc Properly synchronize some new methods 2010-01-08 16:55:36 +00:00
Daniel Applebaum
f29f5adc4b Eliminate carriage returns from reply and forward text.
Fixes Issue 518
2010-01-08 04:27:58 +00:00
Jesse Vincent
8285766506 Now that messageview is faster, don't start displaying the new message
until _after_ we flip.
2010-01-07 01:29:59 +00:00
Daniel Applebaum
57acd3232e Don't show account-level chips until unread count is known. 2010-01-06 14:12:19 +00:00
Daniel Applebaum
9c761419c9 Preparatory code for providing move/delete/copy/setFlag capabilities
across multiple folders.
2010-01-06 05:41:19 +00:00
Daniel Applebaum
56a4b94748 Put the color chip with read/unread controlled brightness at all
levels except MessageView
2010-01-06 05:23:32 +00:00
Daniel Applebaum
a5166e3c2d Fixes Issue 963
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.
2010-01-06 04:54:24 +00:00
Daniel Applebaum
2b37fe6864 Restore long-lost debugging line 2010-01-06 03:44:23 +00:00
Daniel Applebaum
29947ef3c9 Delete obsolete commented out code. 2010-01-06 03:40:24 +00:00
Jesse Vincent
a4510696aa It turns out that blindly enabling/disabling views is _Very_ expensive.
Now we only do it when switching messageview entries if it's actually
necessary
2010-01-04 02:11:33 +00:00
Jesse Vincent
a926086f4b Replace old message passing code with more modern runonuithread code 2010-01-04 02:06:40 +00:00
Daniel Applebaum
60a2ceb604 Fixes Issue 934 by removing excess calls to finish() 2010-01-04 00:50:19 +00:00
Daniel Applebaum
d58d1c60c0 Proper super call 2010-01-04 00:48:33 +00:00
Daniel Applebaum
c86a46deb1 Preparatory for more BroadcastReceivers 2010-01-04 00:47:11 +00:00
Daniel Applebaum
33495135ac Respect account ring setting for notifications 2010-01-04 00:41:26 +00:00
Daniel Applebaum
41729af9b2 Add explicit ring setting for notifications 2010-01-04 00:40:41 +00:00
Jesse Vincent
6caec1100c Incorrect (and ancient code) would accidentally clobber the wrong attachment
(and only one, rather than all) when deleting a message.
2010-01-03 23:23:13 +00:00
Jesse Vincent
483655fa20 Log.w shouldn't be wrapped in an "if debug" statement. 2010-01-03 20:34:22 +00:00
Jesse Vincent
6a8ea924c9 Further log cleanup 2010-01-03 02:07:21 +00:00
Jesse Vincent
eb54a99aab EOLs got twisted by something. fixing 2010-01-03 02:07:14 +00:00
Jesse Vincent
0e273893bd Further log tweaking 2010-01-03 02:00:20 +00:00
Jesse Vincent
a926911e7f rerun astyle 2010-01-03 01:50:51 +00:00
Jesse Vincent
1c5073039a Further debug/info/verbose logging cleanup 2010-01-03 01:50:41 +00:00
Jesse Vincent
875dc31d5a Log message cleanup 2010-01-03 01:50:32 +00:00
Jesse Vincent
f9e8c877ff Wrap looging in if (DEBUG) statements. 2010-01-03 01:50:25 +00:00
Jesse Vincent
953b784fb9 First pass at fixing Issue 963 (explosions when trying to iterate over a
remotely deleted message) introduced in r1204.

(Before my all-day meeting)
2009-12-29 17:06:13 +00:00
Jesse Vincent
fb6d11222a Switch from old, scary message passing to more modern "run on ui thread" for Accounts.java
40 fewer lines of code.
2009-12-29 17:05:44 +00:00
Jesse Vincent
2ef3b15c87 make sure we don't accidentally open the context menu on a message when we're in multiselect mode. 2009-12-29 17:05:17 +00:00
Jesse Vincent
3e3b4d447d Fix reversed color chip alpha 2009-12-28 12:56:59 +00:00
Daniel Applebaum
60b02909a3 Announce folder status changes when syncing gets updated unread count.
Adjust logging levels for folder sync.
2009-12-27 20:19:41 +00:00
Jesse Vincent
bbd9e56770 Actually display 250/500/1000 options for "number of messages to sync" 2009-12-27 17:47:30 +00:00
Jesse Vincent
794f515bc8 Numerous small fixes to search results 2009-12-27 17:22:57 +00:00
Jesse Vincent
a53e9d1b89 on search, only fire one start event and one end event 2009-12-27 17:22:51 +00:00
Jesse Vincent
6c383256a2 Remove duplicate code from onCompose. make starting message composition without an account actually work 2009-12-27 17:22:44 +00:00
Jesse Vincent
0a2d9b9c9f make sure search results aren't updated incorrectly on incoming messages 2009-12-27 17:22:38 +00:00
Jesse Vincent
bfaba499fe Fix the Search header on search results 2009-12-27 17:22:32 +00:00
Jesse Vincent
63b6f6bf62 Refactoring to better propagate "folder" along with messages as they're instantiated 2009-12-27 17:22:26 +00:00
Jesse Vincent
d60521f06f further push down our "is this message for us" logic. 2009-12-27 17:20:56 +00:00
Jesse Vincent
6c7782b4bd remove another alternate calling convention for addOrUpdateMessage. Code
will get still cleaner when we start propagating back message folders as objects
2009-12-27 17:20:50 +00:00
Jesse Vincent
c608ffb672 Eliminate a variant of addOrUpdateMessage that was only called once 2009-12-27 17:20:28 +00:00
Jesse Vincent
1c4a0be0da enable searching of messages 2009-12-27 17:20:21 +00:00
Jesse Vincent
21238a3084 If we get a message from listLocalMessages and we're doing a search,
assume it's for us. Later, we may want to be smarter about that.
2009-12-27 17:20:13 +00:00
Jesse Vincent
a736a4267c Only trigger our "loading" indicator if the account matches "our" account 2009-12-27 17:20:06 +00:00
Jesse Vincent
204289a4ff when opening a message for display or edit, use its notion of account, not the folder's. 2009-12-27 17:19:56 +00:00
Jesse Vincent
f6756879ef Temporarily disable "left-handed" controls if we're doing a search.
view configuration needs to move to be global for this to work right.
2009-12-27 17:19:49 +00:00
Jesse Vincent
bc61c90e1a make the auto-open folder not trigger if we're doing a search 2009-12-27 17:15:46 +00:00
Jesse Vincent
81d72a2d8c make the color chip genuinely calculated per message 2009-12-27 17:15:38 +00:00
Jesse Vincent
ed19a8284e Propagate per-message account info into MessageInfoHolder and FolderInfoHolder 2009-12-27 16:54:23 +00:00
Jesse Vincent
302deea53e addOrUpdateMessage calls now propagate the account of the found message 2009-12-27 16:54:12 +00:00
Jesse Vincent
3ad69c799d When listing off messages, make sure that our "refresh the list" fires,
even if we didn't start off empty.

This could have prevented updated messages from showing up
2009-12-27 16:54:06 +00:00
Jesse Vincent
1b74c176a2 Add multi-account search to the MessagingController 2009-12-27 16:53:59 +00:00
Jesse Vincent
70f35a537e If we loaded a message from the local store without an associated folder, load up its folder. 2009-12-27 16:53:51 +00:00
Jesse Vincent
da45b81866 minor query reformatting 2009-12-27 16:53:45 +00:00
Jesse Vincent
580a562085 Lift the generic getMessages and searchForMessages up to the "store"
level from the "folder" level so we can search for messages across
folders
2009-12-27 16:53:37 +00:00
Jesse Vincent
6dcb10add6 Lift our column list for "load messages" out to the LocalStore, as the
first part of lifting "get messages" out of "folder" for search
2009-12-27 16:53:31 +00:00
Jesse Vincent
ddd6db3a7c Made our search activity actually exist 2009-12-27 16:53:24 +00:00
Jesse Vincent
09ecd2bc9a Make it possible to instantiate a localFolder by id. 2009-12-27 16:53:16 +00:00
Jesse Vincent
4cec247699 Make it possible to populate a MessageInfoHolder without a FolderInfoHolder 2009-12-27 16:53:09 +00:00
Jesse Vincent
fe67f0a40c temporarily disable new unfinished search code 2009-12-27 16:53:03 +00:00
Jesse Vincent
47b338fb94 Move message population to the message class. 2009-12-27 16:52:57 +00:00
Jesse Vincent
0005a8ea60 Remove lies from a comment 2009-12-27 16:52:50 +00:00
Jesse Vincent
54ad16edb8 Push a "is this the right folder?" check into our "add/remove messages from the message list, to better support search 2009-12-27 16:52:45 +00:00
Jesse Vincent
81a5820e5d swap the order of two methods for readability 2009-12-27 16:52:39 +00:00
Jesse Vincent
7c8a7b1f27 Remove an old comment/obsolete code 2009-12-27 16:52:33 +00:00
Jesse Vincent
2a77001acc First steps toward adding search results 2009-12-27 16:52:26 +00:00
Jesse Vincent
9a40457a2a Remove giant commented out method - that's what we have version control history for 2009-12-27 16:52:17 +00:00
Jesse Vincent
854da2664c Unify our "guard" against syncing the outbox or errors folder 2009-12-27 16:52:06 +00:00
Jesse Vincent
e2f84c4fa8 wrap a debug message in a debug-mode check; eliminate a temporary variable 2009-12-27 16:51:59 +00:00
Jesse Vincent
94e61ab62c Extract out the listener we're using when we ask for new messages.
It may eventually get further extracted.
2009-12-27 16:51:45 +00:00
Jesse Vincent
9d417133b5 reduce duplication of code 2009-12-27 16:51:38 +00:00
Jesse Vincent
c953ff2c1b Bulletproof MessageList against not having a folder loaded 2009-12-27 16:51:32 +00:00
Jesse Vincent
5c8a0a908c Remove a lie from a comment 2009-12-27 16:51:25 +00:00
Jesse Vincent
5e0bbf18aa Extract parts of title setting code into their own methods 2009-12-27 16:51:19 +00:00
Jesse Vincent
5b907c2d94 Remove an overridden subroutine that's now a noop 2009-12-27 16:51:13 +00:00
Jesse Vincent
c8bcad6a21 Refactor and reverse logic to be a bit cleaner 2009-12-27 16:51:06 +00:00
Jesse Vincent
721e298542 Invert some logic to clean up MessageList a bit 2009-12-27 16:51:00 +00:00
Jesse Vincent
56cdfa88c9 tiny grammar fix 2009-12-27 16:50:44 +00:00
Jesse Vincent
151ae5a2a3 First pass at adding "Searchable" infrastructure 2009-12-27 16:50:37 +00:00
Jesse Vincent
9ba102599f Fix SQL statmeent 2009-12-27 16:50:28 +00:00
Jesse Vincent
9bcc991ec8 Extract out the code to "load mesages from SQL" from inside our "load messages in this folder" code 2009-12-27 16:50:21 +00:00
Jesse Vincent
9796cb6487 First rouind of extracting the "load messages from the db" column list 2009-12-27 16:50:14 +00:00
Daniel Applebaum
1ea96796d6 Add a global preference for enabling animations, beyond those that are
necessary.  Defaults to "enabled."
2009-12-27 00:54:19 +00:00
Daniel Applebaum
ea65007b99 Disable inter-message animations, except when initiated by a swipe.
Fixes Issue 926.
2009-12-26 18:31:55 +00:00
Daniel Applebaum
070fd635d4 Allow user to set a limit on the number of folders to be handled with
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.
2009-12-24 18:08:23 +00:00
Jesse Vincent
8fca99bef4 Fixes to unbreak incoming account setup after CRAM_MD5 implementation 2009-12-21 17:49:16 +00:00
Daniel Applebaum
4859ff7e8f Add wakelocks for calling between MailService and Push/PollServices.
I don't know if these are truly necessary, but they should not be
harmful and might be a big reliability boost.
2009-12-21 01:48:15 +00:00
Daniel Applebaum
41d7ca51a3 Implementation of complete IMAP two-phase "delete/expunge" behavior.
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.
2009-12-20 23:13:49 +00:00
Jesse Vincent
e82bb72a97 non-downloaded messages once again have a grey background.
Fixes Issue 899
2009-12-20 06:54:30 +00:00
Jesse Vincent
7e967c6110 removed now-unused subject coloring code 2009-12-20 06:54:23 +00:00
Jesse Vincent
b8b9e20e81 Hang onto our messaging controller rather than constantly reacquiring
it.
2009-12-20 06:14:10 +00:00
Jesse Vincent
2c9fc8b997 Backwards compatibility for the CRAM-MD5 implementation 2009-12-20 06:14:04 +00:00
Jesse Vincent
3914a78b53 xargs astyle --style=ansi --mode=java --indent-switches \
--indent=spaces=4 --convert-tabs --unpad=paren
2009-12-20 05:41:43 +00:00
Jesse Vincent
5a85446779 Initial implementation of CRAM-MD5 support for IMAP and SMTP.
Patch contributed by Russ Weeks <rweeks@gmail.com> in
<605ac1c0-808a-4f67-8c4d-736eec9587f8@e27g2000yqd.googlegroups.com>
2009-12-20 05:15:20 +00:00
Daniel Applebaum
921b022fb5 Enhanced header in Accounts, MessageList and Folder to show the unread
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.
2009-12-20 00:02:46 +00:00
Jesse Vincent
4f42907315 preferences doesn't actually tie to an account. it shouldn't be in the account context menu 2009-12-18 03:49:52 +00:00
Jesse Vincent
462d4098e0 Removed debugging log messages that clutter and slow the runtime app 2009-12-18 03:49:19 +00:00
Jesse Vincent
91ad70cd5d Killed a bunch of debug logging that clutters (and slows) production apps 2009-12-18 03:48:24 +00:00
Jesse Vincent
83409d78fa remove a bunch of debug logging that was cluttering production logs 2009-12-18 03:46:46 +00:00
Jesse Vincent
3f841d1494 removing debugging messages 2009-12-18 03:46:05 +00:00
Jesse Vincent
f94823cba4 Enable the new synchronous messagelist population. Perhaps
counter-intuitive, but it's a whole lot faster
2009-12-18 02:39:41 +00:00
Jesse Vincent
25306fad83 unify the synchronous and asynchronous codepaths for listlocalmessages 2009-12-18 02:36:37 +00:00
Jesse Vincent
157455f26b As part of a refactoring move the "start" callback into the subthread. 2009-12-18 02:35:46 +00:00
Jesse Vincent
dc543fa9e3 now that we have more messages coming out of the database faster,
there's less use in special-casing the first 5
2009-12-18 02:34:50 +00:00
Jesse Vincent
c3e903942d we no longer need to check the deleted flag at this layer as we do it further in. 2009-12-18 02:34:13 +00:00
Jesse Vincent
5789b385a8 first pass at working around messaging controller perf insanity
port listLocalMessagesSynchronous back into the MessagingController

revert some stuff
2009-12-18 02:33:18 +00:00
Jesse Vincent
48e1f31b43 Revert commit 829 @gcode - it was a performance optimization which added
nontrivial code complexity for what's now a nil performance gain
2009-12-18 02:32:17 +00:00
Jesse Vincent
c8bd377e76 minor refactoring to cut down on repeated method calls 2009-12-17 05:24:48 +00:00
Jesse Vincent
ce44165634 Fix our auto-expand folder behavior - Fixes issue 918 2009-12-17 03:45:37 +00:00
Jesse Vincent
9ae7934cad improve the MessageList->FolderList flow. Should fix Issue 916 2009-12-16 05:26:43 +00:00
Jesse Vincent
85b4c43e10 Revert "Initial implementation of loading only 25 rows from the message list"
This reverts commit 7056cb918e3bc71465053bff4070b8d3b28761a7.
2009-12-16 05:26:21 +00:00
Bao-Long Nguyen-Trong
18ea30d00f More fix for issue 810: Delete intents are not also broadcasted when we delete a message because it was deleted on the server 2009-12-15 19:43:46 +00:00
Jesse Vincent
dc2f752f11 Bulletproofing against running IMAP Copy/Move commands with null messagelists. Fixes Issue 914 2009-12-15 17:40:04 +00:00
Jesse Vincent
bf4e37d3b5 Revert "An attempt to make message lists start displaying messages earlier by precomputing a list item."
Sadly, it caused explosions
This reverts commit 5b321f4d0893ad5538d229b1c84f6806d0d8cbfe.
2009-12-15 04:26:53 +00:00
Jesse Vincent
34c111eb47 Kill the no-op Welcome activity to improve startup performance 2009-12-15 04:06:32 +00:00
Jesse Vincent
a1302afe75 Initial implementation of loading only 25 rows from the message list
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"
2009-12-15 02:52:01 +00:00
Jesse Vincent
aa4f3535eb When we load up the "Accounts" activity as K-9 starts up, jump straight
to either the FolderList or the MessageList rather than always going
through the FolderList
2009-12-15 02:51:52 +00:00
Jesse Vincent
5d34ef2f19 An attempt to make message lists start displaying messages earlier by precomputing a list item. 2009-12-15 02:51:44 +00:00
Jesse Vincent
e82bbc25ab formatting from astyle 2009-12-15 02:51:34 +00:00
Jesse Vincent
647dc827d8 Replace MessageList's outdated message-passing mechanism with runOnUiThread for improved code clarity and performance. 2009-12-15 02:51:25 +00:00
Jesse Vincent
7b811e45a1 lazify loading of message headers in LocalFolder, since they're not needed in most of our use cases. 2009-12-15 02:51:18 +00:00
Jesse Vincent
f31b2702a4 Massive rename to K9, step 1.
Conflicts:

	src/com/android/email/Email.java
2009-12-15 02:50:53 +00:00
Jesse Vincent
909f677f91 r62972@17h: jesse | 2009-05-07 10:49:32 -0400
First stab at a folderlist that doesn't know or care about messages
r62973@17h:  jesse | 2009-05-07 10:50:11 -0400
A very broken first stab at a message list that only knows about one folder.
r62974@17h:  jesse | 2009-05-07 10:50:44 -0400
When you go from an account list to an individual account, open a folderlist, not an fml
r62975@17h:  jesse | 2009-05-07 10:51:24 -0400
Update Welcome activity to open an ml instead of an fml
r62976@17h:  jesse | 2009-05-07 10:51:59 -0400
When setting up accounts is over, open an fl instead of an fml
r62977@17h:  jesse | 2009-05-07 10:52:51 -0400
Update MessageView to use folderinfoholders and messageinfoholders from the 'correct' classes.
r62978@17h:  jesse | 2009-05-07 10:59:07 -0400
MailService now notifies the fl instead of the fml. Not sure if it should also notify the ml. - will require testing
r62979@17h:  jesse | 2009-05-07 11:01:09 -0400
Switch MessagingController's notifications from notifying the FML to notifying an ML
r62980@17h:  jesse | 2009-05-07 11:25:22 -0400
Update AndroidManifest to know about the new world order
r62981@17h:  jesse | 2009-05-07 11:26:11 -0400
Try to follow the android sdk docs for intent creation
r62982@17h:  jesse | 2009-05-07 11:28:30 -0400
reset MessageList for another try at the conversion
r62983@17h:  jesse | 2009-05-07 11:47:33 -0400
This version doesn't crash and has a working 'folder' layer. now to clean up the message list layer
r62984@17h:  jesse | 2009-05-07 15:18:04 -0400
 move step 1
r62985@17h:  jesse | 2009-05-07 15:18:37 -0400
move step 1
r62986@17h:  jesse | 2009-05-07 15:22:47 -0400
rename step 1
r62987@17h:  jesse | 2009-05-07 17:38:02 -0400
 checkpoint to move
r62988@17h:  jesse | 2009-05-07 17:40:01 -0400
checkpointing a state with a working folder list and a message list that doesn't explode
r62989@17h:  jesse | 2009-05-07 17:40:26 -0400
Remove debugging cruft from Welcome
r62990@17h:  jesse | 2009-05-07 22:00:12 -0400
Basic functionality works.
r62991@17h:  jesse | 2009-05-08 04:19:52 -0400
added a tool to build a K-9 "Beta" 
r62992@17h:  jesse | 2009-05-08 04:20:03 -0400
remove a disused file
r62993@17h:  jesse | 2009-05-09 06:07:02 -0400
upgrading build infrastructure for the 1.5 sdk
r62994@17h:  jesse | 2009-05-09 06:22:02 -0400
further refine onOpenMessage, removing more folder assumptions 
r62995@17h:  jesse | 2009-05-09 20:07:20 -0400
Make the Welcome activity open the autoexpandfolder rather than INBOX
r62996@17h:  jesse | 2009-05-09 20:14:10 -0400
MessageList now stores the Folder name it was working with across pause-reload
r62997@17h:  jesse | 2009-05-09 20:14:26 -0400
Removing dead code from FolderList
r63060@17h:  jesse | 2009-05-10 00:07:33 -0400
Replace the old message list refreshing code which cleared and rebuilt the list from scratch with code which updates or deletes existing messages.
Add "go back to folder list" code
r63061@17h:  jesse | 2009-05-10 00:07:50 -0400
fix message list menus for new world order
r63062@17h:  jesse | 2009-05-10 00:08:11 -0400
Remove message list options from folder list menus
r63063@17h:  jesse | 2009-05-10 00:10:02 -0400
remove more message list options from the folder list
r63064@17h:  jesse | 2009-05-10 00:10:19 -0400
fix build.xml for the new android world order
r63065@17h:  jesse | 2009-05-10 00:39:23 -0400
reformatted in advance of bug tracing
r63066@17h:  jesse | 2009-05-10 05:53:28 -0400
fix our 'close' behavior to not leave extra activities around
clean up more vestigal code
r63067@17h:  jesse | 2009-05-10 18:44:25 -0400
Improve "back button / accounts" workflow from FolderList -> AccountList
r63068@17h:  jesse | 2009-05-10 19:11:47 -0400
* Add required code for the 'k9beta' build
r63069@17h:  jesse | 2009-05-10 19:12:05 -0400
Make the folder list white backgrounded.
r63070@17h:  jesse | 2009-05-10 19:12:26 -0400
* Include our required libraries in build.xml 
r63071@17h:  jesse | 2009-05-10 19:13:07 -0400
Added directories for our built code and our generated code
r63072@17h:  jesse | 2009-05-10 19:13:36 -0400
Added a "back" button image
r63073@17h:  jesse | 2009-05-10 20:13:50 -0400
Switch next/prev buttons to triangles for I18N and eventual "more easy-to-hit buttons" win
r63074@17h:  jesse | 2009-05-10 20:17:18 -0400
Tidy Accounts.java for some perf hacking.
r63081@17h:  jesse | 2009-05-10 22:13:33 -0400
First pass reformatting of the MessagingController
r63082@17h:  jesse | 2009-05-10 23:50:28 -0400
MessageList now correctly updates when a background sync happens
r63083@17h:  jesse | 2009-05-10 23:50:53 -0400
Tidying FolderList
r63084@17h:  jesse | 2009-05-10 23:51:09 -0400
tidy
r63085@17h:  jesse | 2009-05-10 23:51:27 -0400
tidy
r63086@17h:  jesse | 2009-05-11 00:17:06 -0400
Properly update unread counts in the FolderList after sync

r63087@17h:  jesse | 2009-05-11 01:38:14 -0400
Minor refactoring for readability. replace a boolean with a constant.
r63090@17h:  jesse | 2009-05-11 02:58:31 -0400
 now that the foreground of message lists is light, we don't need the light messagebox
r63091@17h:  jesse | 2009-05-11 17:15:02 -0400
Added a string for "back to folder list"
r63092@17h:  jesse | 2009-05-11 17:15:24 -0400
Added a message list header with a back button
r63093@17h:  jesse | 2009-05-11 17:15:54 -0400
Remove the "folder list" button from the options menu. no sense duplicating it
r63094@17h:  jesse | 2009-05-11 17:17:06 -0400
Refactored views, adding our replacement scrollable header 
r63184@17h:  jesse | 2009-05-12 07:07:15 -0400
fix weird bug where message lists could show a header element for a child
r63185@17h:  jesse | 2009-05-12 07:08:12 -0400
Add new-style headers to folder lists. reimplement "get folder by name" to not use a bloody for loop
r63211@17h:  jesse | 2009-05-12 18:37:48 -0400
Restore the former glory of the "load more messages"  widget.  it still needs an overhaul
r63296@17h:  jesse | 2009-05-12 23:23:21 -0400
Get the indeterminate progress bar to show up again when you click "get more messages"
r63297@17h:  jesse | 2009-05-13 02:40:39 -0400
Fixed off-by-one errors in click and keybindings for messagelist
r63298@17h:  jesse | 2009-05-13 06:04:01 -0400
Put the folder title in the name of the folderSettings popup
r63299@17h:  jesse | 2009-05-13 06:04:49 -0400
Reformatting. Removing debug logging
r63300@17h:  jesse | 2009-05-13 06:05:32 -0400
Fixing "wrong item selected" bugs in the FolderList 
r63328@17h:  jesse | 2009-05-13 13:20:00 -0400
Update MessageView for 1.5
r63329@17h:  jesse | 2009-05-13 13:50:29 -0400
A couple fixes to "picking the right item"
Titles on the message context menu
r63330@17h:  jesse | 2009-05-13 13:58:37 -0400
Added an "open" context menu item to the folder list
r63347@17h:  jesse | 2009-05-13 18:00:02 -0400
Try to get folderlists to sort in a stable way, so they jump around less in the ui
r63349@17h:  jesse | 2009-05-13 20:37:19 -0400
Switch to using non-message-passing based notifications for redisplay of message lists, cut down redisplay frequency to not overload the display
r63432@17h:  jesse | 2009-05-16 13:38:49 -0400
Android 1.5 no longer gives us apache.commons.codec by default and apache.commons.logging by default. Import them so we have em.
There's probably something smarter to do here.
r63438@17h:  jesse | 2009-05-16 14:12:06 -0400
removed dead code
r63439@17h:  jesse | 2009-05-16 14:30:57 -0400
Minor tidy
r63440@17h:  jesse | 2009-05-16 14:39:34 -0400
First pass implementation making MessageList streamy for faster startup
r63441@17h:  jesse | 2009-05-16 21:57:41 -0400
There's no reason for the FolderList to list local messages
r63442@17h:  jesse | 2009-05-16 21:58:57 -0400
Switch to actually refreshing the message list after each item is loaded
r63450@17h:  jesse | 2009-05-16 22:34:18 -0400
Default to pulling items out of the LocalStore by date, descending. (since that's the uneditable default ordering)
This makes our messages come out of the store in the order the user should see them
r63451@17h:  jesse | 2009-05-16 22:34:44 -0400
Set some new defaults for the FolderList
r63452@17h:  jesse | 2009-05-16 22:35:43 -0400
set some new message list item defaults
r63456@17h:  jesse | 2009-05-17 12:56:10 -0400
It's not clear that Pop and WebDav actually set us an InternalDate. I'd rather use that so that spam doesn't topsort. But I also want this to _work_
r63457@17h:  jesse | 2009-05-17 12:56:47 -0400
actually check to make sure we have a message to remove before removing it.
r63458@17h:  jesse | 2009-05-17 13:10:07 -0400
Flip "security type" to before the port number, since changing security type is the thing more users are likely to know/care about and resets port number
r63469@17h:  jesse | 2009-05-17 18:42:39 -0400
Provisional fix for "see the FoldeRList twice" bug
r63471@17h:  jesse | 2009-05-17 20:47:41 -0400
Remove title bar from the message view
r63544@17h:  jesse | 2009-05-20 23:53:38 -0400
folderlist tidying before i dig into the jumpy ordering bug
r63545@17h:  jesse | 2009-05-20 23:56:00 -0400
Killing dead variables
r63546@17h:  jesse | 2009-05-21 00:58:36 -0400
make the whole title section clicky
r63556@17h:  jesse | 2009-05-21 01:48:13 -0400
Fix where we go when someone deletes a message 
r63558@17h:  jesse | 2009-05-21 22:44:46 -0400
Working toward switchable themes
r63563@17h:  jesse | 2009-05-21 23:53:09 -0400
Make the MessageList's colors actually just inherit from the theme, rather than hardcoding black

r63567@17h:  jesse | 2009-05-22 10:14:13 -0400
Kill a now-redundant comment
r63571@17h:  jesse | 2009-05-22 19:43:30 -0400
further theme-independence work
r63572@17h:  jesse | 2009-05-22 19:55:23 -0400
gete -> get (typo fix)
r63573@17h:  jesse | 2009-05-22 22:48:49 -0400
First cut of a global prefs system as well as a theme preference. not that it works yet
r63577@17h:  jesse | 2009-05-24 14:49:52 -0400
Once a user has actually put in valid user credentials, start syncing mail and folders in the background instantly.
This gives us a much better "new startup" experience
r63578@17h:  jesse | 2009-05-24 14:55:00 -0400
MessageList doesn't need FolderUpdateWorker
r63579@17h:  jesse | 2009-05-24 17:57:15 -0400
Fix "get message by uid"
Switch to showing messages 10 by 10, rather than 1 by 1 for huge loadtime performance improvements
r63587@17h:  jesse | 2009-05-24 19:19:56 -0400
Cut down LocalMessage creation to not generate a MessageId or date formatter.
r63589@17h:  jesse | 2009-05-24 22:22:32 -0400
Switch to null-escaping email address boundaries, rather than a VERY expensive URL-encoding
r63590@17h:  jesse | 2009-05-24 22:23:21 -0400
Clean up our "auto-refresh the list when adding messages after a sync"
r63593@17h:  jesse | 2009-05-24 22:53:45 -0400
replace isDateToday with a "rolling 18 hour window" variant that's more likely to give the user a useful answer and is 30x faster.
r63595@17h:  jesse | 2009-05-24 23:54:14 -0400
When instantiating messges from the LocalStore, there's no need to clear headers before setting them, nor is there a need to set a generated message id
r63596@17h:  jesse | 2009-05-24 23:54:39 -0400
make an overridable setGeneratedMessageId
r63597@17h:  jesse | 2009-05-24 23:54:55 -0400
Remove new lies from comments
r63598@17h:  jesse | 2009-05-24 23:55:35 -0400
Replace insanely expensive message header "name" part quoting with something consistent and cheap that does its work on the way INTO the database
r63605@17h:  jesse | 2009-05-25 17:28:24 -0400
bring back the 1.1 sdk build.xml
r63606@17h:  jesse | 2009-05-25 22:32:11 -0400
Actually enable switchable themese and compilation on 1.1
r63692@17h:  jesse | 2009-05-29 23:55:17 -0400
Switch back to having titles for folder and message lists.
Restore auto-open-folder functionality
r63694@17h:  jesse | 2009-05-30 18:50:39 -0400
Remove several off-by-one errors introduced by yesterday's return to android titlebars
r63696@17h:  jesse | 2009-05-30 23:45:03 -0400
use convertView properly for performance and memory imrpovement in FolderList and MessageList
r63698@17h:  jesse | 2009-05-31 19:42:59 -0400
Switch to using background shading to indicate "not yet fetched"
r63701@17h:  jesse | 2009-05-31 21:28:47 -0400
Remving code we don't actually need these bits of apache commons on 1.1
2009-06-01 01:35:05 +00:00
Bradley Young
14e6b87ee7 This is a working semi-deforked application. i.e. most of it is still in the com.android.email namespace, but choice bits are in com.fsck.k9 so that it won't try to overwrite the builtin client.
Changes: corrected the package (or something equally simple for K9.java
build.xml has an additional stanza that copies the R.java file from fsck to android namespace, and changes the package inside the file.
AndroidManifest.xml has the package set to fsck, and all the activities are now explicity named.
2008-12-19 00:14:49 +00:00
Jesse Vincent
b5ab3c0dfc Doesn't work, but close to what danapple has recommended 2008-12-17 00:16:43 +00:00
Jesse Vincent
eedfc0a839 step 1 of rename 2008-12-16 23:07:33 +00:00
Matthew Brace
b877a52b01 Update for folders to display the "path" that the folder resides in (ie, Inbox/Work/To Me) rather than just the name of the folder. Allows an easier understanding of the hierarchy until true folder trees can be implemented. 2008-12-16 02:06:39 +00:00
Jesse Vincent
dfa11df41b 0.22 2008-12-16 01:42:17 +00:00
Matthew Brace
a4a07ebe19 Fixed an authentication issue with WebDav support that caused by the last update. Added support for scrolling on 2 of the screens in the account setup process to allow the full steps to be done in landscape mode. There are some graphical regressions in portrait mode from it that aren't resolved yet. 2008-12-15 04:59:03 +00:00
Matthew Brace
c544596d8f Removed display of path prefix. System now pulls all folders/subfolders. Does not display in a hierarchy, but will load messages from each folder. Only the final folder name is displayed instead of the path off of Inbox right now 2008-12-15 02:18:02 +00:00
Matthew Brace
453406a5a5 Added change to populate the url for the mailbox each time authentication occurs (url is in the response). Updated initial message population to use reverse order so initial display has newest first (only noticeable on slow connections). 2008-12-14 19:33:34 +00:00
Bao-Long Nguyen-Trong
401e5ecf37 . Added the following 2 keyboard shortcuts in message list view:
. S: Setttings
  . L: Last auto sync date time
2008-12-14 08:25:08 +00:00
Bao-Long Nguyen-Trong
ec29561d8b . Fixe bug # 122: Some keyboard shortcuts only work when a message is selected 2008-12-14 06:37:58 +00:00
Bao-Long Nguyen-Trong
3217d4b772 . fixed bug # 87: Acccounts all refresh at the same freqency 2008-12-14 06:29:28 +00:00
Bao-Long Nguyen-Trong
dba525739e . Fixed bug # 82: Messages lose their read status when getting new emails from POP3 server 2008-12-14 06:23:03 +00:00
Bao-Long Nguyen-Trong
97d10d0d25 . FIxed bug # 81: Notifications never show up wen using POP3. 2008-12-14 06:18:24 +00:00
Bao-Long Nguyen-Trong
b0d68929a5 Added back auto-start of background message sync (most likely removed during merge) 2008-12-14 03:21:39 +00:00
Jesse Vincent
f961cac9ac Allow notification without ringtone 2008-12-11 19:13:55 +00:00
Jesse Vincent
1d6fa64d51 Revert commit 180, as it tries to do math with UIDs, which doesn't work 2008-12-11 18:32:34 +00:00
Jesse Vincent
2abc374f60 no need to version R.java 2008-12-11 18:13:14 +00:00
Matthew Brace
20b46255c0 devsk's patch to fix incorrect IMAP message fetching. Fix utilizes UIDNEXT to determine which messages to grab. 2008-12-11 07:03:00 +00:00
Matthew Brace
f273805ee3 Added user preference for the display limit of messages. The display limit is also used for the visible limit increment. If no limit is specified, the default limit is used. The limit is also account specific and not global. 2008-12-11 05:25:59 +00:00
Matthew Brace
8d3579fe74 More performance improvements. Still get occasional connection errors with 50+ messages viewable due to timeout issues. 2008-12-10 23:30:00 +00:00
Bradley Young
8b6a8c4bfa This should add the ability to change the "Sent Items" and "Deleted Items/Trash" folders in AccountSetupComposition.java. 2008-12-09 21:07:09 +00:00
Matthew Brace
852e513281 Modified fetch() to call fetchEnvelope() which runs recursively, grabbing message ENVELOPEs 10 at a time rather than attempting all 100 at once. Shows a significant performance increase and a significant reduction in memory usage. 2008-12-07 20:55:26 +00:00
Jesse Vincent
d1d8345278 Merge into 'trunk'
r51837@31b (orig r127):  ismarc31 | 2008-11-10 19:10:50 -0500
Experimental branch for Exchange WebDAV support

r51838@31b (orig r128):  ismarc31 | 2008-11-10 19:24:52 -0500
Initial proof-of-concept code for WebDav support

r51839@31b (orig r129):  ismarc31 | 2008-11-10 22:02:37 -0500
Fixed a couple of migration issues and enabled WebDav as a mail type

r53269@31b (orig r132):  ismarc31 | 2008-11-21 21:55:55 -0500
Mostly rewritten class and organization.  Better implementation of message fetching.
Consolidated response parsing.  Removed a large number of redundant calls.  There is still 
some unused functions needing cleaning up, and some unimplemented actions

r53338@31b (orig r133):  ismarc31 | 2008-11-22 16:50:02 -0500
Removed more redundant and unused calls.  Implemented checking read status

r53453@31b (orig r134):  ismarc31 | 2008-11-24 20:13:24 -0500
Added support for marking messages as read.

r53454@31b (orig r135):  ismarc31 | 2008-11-24 22:04:04 -0500
Added support for deleting messages server side

r53455@31b (orig r136):  ismarc31 | 2008-11-25 01:32:19 -0500
Improved flag setting functionality, do bulk HTTP request instead of lots of little ones

r53589@31b (orig r138):  young.bradley | 2008-11-29 16:18:25 -0500
Missing some ports (webDavPorts); this causes an array index out of bounds exception when anything other than "None" or "SSL (Optional)" are selected.

Adding the three additional ports solves this issue.
r53590@31b (orig r139):  young.bradley | 2008-11-30 00:47:42 -0500
Initial support for sending via WebDav
r53591@31b (orig r140):  ismarc31 | 2008-11-30 20:12:41 -0500
Fix for display names being URL Encoded for folders.  Initial support of Uid Hashmaps instead 
of plain arrays.

r53592@31b (orig r141):  ismarc31 | 2008-11-30 21:46:06 -0500
Fix to constructor of HttpGeneric(final String uri).  URLs returned from Exchange aren't 
always fully encoded, this fixes the encoding before creating the method.

r53593@31b (orig r142):  ismarc31 | 2008-12-01 02:22:16 -0500
Completed support for using hashmaps instead of arrays for indexing urls to emails and read 
status.  Delete is safe again and read status is correct the first time through.

r53594@31b (orig r143):  ismarc31 | 2008-12-01 22:20:50 -0500
Fix for double-Inbox display issue.  Removed volumous amounts of Log.d messages.

r53644@31b (orig r157):  young.bradley | 2008-12-04 15:14:28 -0500
Fix for wildcard certificates (e.g. issued to *.example.com).  Only checking the
trust of the certificate itself, since apparently the full chain causes it to
not work.
r53765@31b (orig r161):  ismarc31 | 2008-12-06 18:55:08 -0500
Implemented new functionality for pulling message envelope.  Uses a WebDAV call for all messages rather than parsing the stream.  Message size is properly set now as well.

r54055@31b (orig r163):  jessev | 2008-12-06 19:28:24 -0500
* merge fixes
2008-12-07 00:29:11 +00:00
Bradley Young
b8e686039f Removed some commented lines of code-- testing check in to the mainline 2008-12-04 22:15:43 +00:00
Jesse Vincent
c21097af65 2008-12-04 22:03:53 +00:00
Brock Tice
33d8d3bc24 Should fix issue 111. Checks to make sure that the selected folder matches what we're generating with prefix + delimeter. 2008-12-03 19:08:03 +00:00
Jesse Vincent
505ddcab52 Add a D keybinding to the FolderMessageList 2008-12-03 04:20:51 +00:00
Jesse Vincent
aba87657e7 switch from pages of 25 messages to pages of 100 2008-12-03 04:14:41 +00:00
Brock Tice
9d45b3604e Fixed prefix separator issues. Separators are now pulled from the separator column of folder listings. Also switched the default gmail IMAP server to imap.googlemail.com (from imap.gmail.com). 2008-12-03 04:14:39 +00:00
Jesse Vincent
351c825433 It helps when I don't back out the actual changes 2008-12-03 04:10:59 +00:00
Jesse Vincent
505d2866fc revert a mismerge from bradleyy's branch 2008-12-03 04:07:16 +00:00
Jesse Vincent
ebfbb9e5b2 small layout fixes 2008-12-03 04:02:54 +00:00
Jesse Vincent
a3d6e699ef layout cleanups 2008-12-03 00:50:35 +00:00
Jesse Vincent
194d673f91 Merge into 'trunk'
r124@hotel-dan (orig r123):  jessev | 2008-11-07 03:35:09 -0500
Branch for Bradley Young
r126@hotel-dan (orig r125):  young.bradley | 2008-11-08 17:27:30 -0500
Initial checkin of self signed certificates capability.

Missing ability to save updated KeyStore.
r127@hotel-dan (orig r126):  young.bradley | 2008-11-10 13:04:49 -0500
Update to allow saving updated keys to keystore
r17200@hotel-dan (orig r131):  young.bradley | 2008-11-17 14:09:24 -0500
Updates to handle chains properly, and handle default behavior.
r17206@hotel-dan (orig r137):  young.bradley | 2008-11-29 14:14:25 -0500
Checkin for beta 2: this should be the release candidate.
2008-12-03 00:04:24 +00:00
Jesse Vincent
9dbcae5eed shrink down the message list views to get toward something sane 2008-11-13 21:22:24 +00:00
Jesse Vincent
96653e828c * typo fix 2008-11-06 06:55:56 +00:00
Jesse Vincent
fa829ea9ff * Fix for Issue 65 - Intermittent failure of K-9 to background sync.
* Based on a patch provided by baolongnt++
    http://code.google.com/p/k9mail/issues/detail?id=65#c10
2008-11-06 06:55:41 +00:00
Jesse Vincent
38748c59ca * Fix for "Consistently getting 'Connection Error' messages when getting new mail on a POP3 account"
Patch for Issue 67 from baolongnt++.
2008-11-06 06:55:29 +00:00
Brock Tice
15ba4d0f39 Made "Load more messages" cue a little more informative.
Now pulls k9.VISIBLE_LIMIT_INCREMENT and says "Load up to (increment value) more".
Also, the build number was auto-updated by my build script. This shows up in the debug menu. It would be nice to have ant handle this, but I'm not sure how to make it do that.
2008-11-04 19:40:44 +00:00
Jesse Vincent
4e75e1b81b Added keyboard control for message zooming 2008-11-03 07:17:42 +00:00
Brock Tice
c1ad8cffaa Changed a += of a null string back to the appropriate = sign. 2008-11-03 07:14:31 +00:00
Brock Tice
734606f261 Fixed my fix for the IMAP prefixes and removed debugging/self-help lines. 2008-11-03 07:01:46 +00:00
Jesse Vincent
9838849b21 Enable saving all attachments to SD 2008-11-03 06:46:13 +00:00
Jesse Vincent
43adde216c restore linkifies HTTP URLs in plaintext mail messages 2008-11-03 06:36:53 +00:00
Brock Tice
be49a0c707 Removed eclipse files that appeared to be user-specific (sorry?)
Believe this fixes the IMAP prefix issue (27)
Trash still deletes itself, which is technically a separate issue, but now it deletes the *right* trash. :)

Create local branch for IMAP prefix fix (Issue 27)
r110@stilgar:  brock | 2008-11-03 00:08:29 -0500
Fixed IMAP prefix problem.
2008-11-03 06:12:04 +00:00
Jesse Vincent
0bbdeaaa6e FolderMessageList was lowercasing and comparing two strings. Using case-insensitve comparisons is much, much cheaper 2008-11-02 23:18:38 +00:00
Jesse Vincent
8bd2f9c260 Switch from using the mime4j charset list to the Java 1.5 java.nio.charset Charset class.
Based on this comment in MIME4J, this seems like a win:


 * Utility class for working with character sets. It is somewhat similar to
 * the Java 1.4 <code>java.nio.charset.Charset</code> class but knows many
 * more aliases and is compatible with Java 1.3. It will use a simple detection
 * mechanism to detect what character sets the current VM supports. This will
 * be a sub-set of the character sets listed in the
 * <a href="http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html">
 * Java 1.5 (J2SE5.0) Supported Encodings</a> document.
 * <p>
 * The <a href="http://www.iana.org/assignments/character-sets">
 * IANA Character Sets</a> document has been used to determine the preferred
 * MIME character set names and to get a list of known aliases.
 * <p>
2008-11-02 23:17:59 +00:00
Jesse Vincent
27a0efcf1d Added a "d" keybinding for delete. from the message view 2008-11-02 23:13:58 +00:00
Richard Tibbetts
6cd5ce7dee Fix similar empty-cursor bug when creating a folder on open.
Turn tabs into spaces in code I changed last commit.
2008-11-02 03:56:13 +00:00
Richard Tibbetts
4f798ae9cc Fix local folder query to not die when there are no local folders, like on first install 2008-11-02 03:28:29 +00:00
Jesse Vincent
1548da7efd 0.12 releng 2008-11-01 23:10:56 +00:00
Jesse Vincent
4eb607d781 stop trying to count messages in every folder for folder lists that don't display them 2008-11-01 22:48:57 +00:00
Jesse Vincent
79c140378d 0.11 2008-11-01 22:30:21 +00:00
Jesse Vincent
5feb435b0f removing that empty call to the heavy query helps performance even more. 2008-11-01 22:24:15 +00:00
Jesse Vincent
046943b340 Remove O(n) deep SQL queries per folderlist by cleaning up the folder "exists" check on Local message stores
* Replace the extra SQL query before each folder 'open' with an exception if the open fails. (Optimize for the common case, not the exception)
2008-11-01 21:36:23 +00:00
Jesse Vincent
cd7a7a67fb Refactor the MessagingController to be a bit easier to tease apart. 2008-11-01 21:34:50 +00:00
Jesse Vincent
5491dee81b Damn it. Weird symlink-in-checkout bug. There goes our commit history. Sorry, all.
Guess I should go back to svk
2008-11-01 21:32:06 +00:00
Jesse Vincent
12c6e53141 bin directory should never have been checked in 2008-11-01 21:23:45 +00:00
Jesse Vincent
416aafb940 extract the 'upgrade database' method. Since K-9 never had a pre-v18 database, I'm inclined to kill it, except it may serve as a useful template for the future 2008-11-01 04:26:03 +00:00
Jesse Vincent
521783ffff typo in comment 2008-11-01 04:25:17 +00:00
Jesse Vincent
f8eb22f168 Factor out signature generation
* No longer generate a signature when we don't have one defined
2008-10-31 22:39:00 +00:00
Jesse Vincent
ac14fe8d02 Replace handrolled linkifier with android.text.util.Linkify. 2008-10-31 04:38:51 +00:00
Jesse Vincent
21f2d934b6 slightly tighter regex for the cheesy "do I show images" button 2008-10-31 04:08:55 +00:00
Jesse Vincent
8431087ca9 0.8 R file 2008-10-31 02:25:29 +00:00
Jesse Vincent
3962145185 Moving more composition preferences to the Composition settings page 2008-10-31 02:01:25 +00:00
Brock Tice
a49fc1c0a0 Undoing erroneous and not-agreed-upon removal of buttons in the message view 2008-10-30 20:01:24 +00:00
Brock Tice
68a2763f39 Removed bottom buttons in message view (reply, delete, etc...) 2008-10-30 17:55:30 +00:00
Brock Tice
f66bc47763 Removed the commented-out lines related to button removal. Should have been done on the last commit. Sorry. :( 2008-10-30 17:43:02 +00:00
Brock Tice
5e5d148bb7 Removed on-screen buttons in message compose view. 2008-10-30 17:38:26 +00:00
Jesse Vincent
36e67b111d removing a weirdly placed "add another account" from within an existing account's preferences 2008-10-30 05:09:32 +00:00
Jesse Vincent
36e5628a68 - stub out adding a mua header 2008-10-30 05:07:56 +00:00
Jesse Vincent
2a8b7a00e3 Added a "Signature" preference.
* Broke out mail composition preferences to their own page
2008-10-30 03:24:48 +00:00
Jesse Vincent
9de986ce04 Added the ability for users to change their accounts' return addresses
rspier++ for the idea
2008-10-29 07:09:16 +00:00
Jesse Vincent
0d0fb8a3b3 use 'localhost.localdomain' instead of 'localhost' when sending mail by smtp. This makes more mail servers happy 2008-10-29 06:24:48 +00:00
Jesse Vincent
cb900a83fe Release 0.5 2008-10-29 04:32:42 +00:00
Jesse Vincent
1f90bc1ea3 Fix for http://code.google.com/p/k9mail/issues/detail?id=18
- Empty messages now generate valid MIME
- Fix by brock.tice++
2008-10-29 04:29:29 +00:00
Jesse Vincent
0df7dff688 Fix for http://code.google.com/p/k9mail/issues/detail?id=19
- Support for tabs in IMAP ID response (for OS X Leopard Server support)
- Author: yostinso++
2008-10-29 04:20:50 +00:00
Jesse Vincent
cf6a2379a0 Actually save the AlwaysBcc preference 2008-10-29 04:17:10 +00:00
Jesse Vincent
ba3539df89 Added the code to make MessageComposition include the Bcc header. if only we could get it to save 2008-10-29 03:57:17 +00:00
Jesse Vincent
6b2f737982 more settings UI for "AlwaysBcc" 2008-10-29 03:52:20 +00:00
Jesse Vincent
3d4bfc1aa5 add an "always bcc this address" preference 2008-10-29 03:21:27 +00:00
Jesse Vincent
72443b0ee7 Fix for gcode issue #1 - - Can't use the hardware "back" button to back out of the message view 2008-10-28 15:17:24 +00:00
Jesse Vincent
bc6929e964 Added key bindings in message view 2008-10-28 06:20:22 +00:00
Jesse Vincent
ca569d9988 added more keybindings (Reply, reply All, Compose, Forward, Quit-to-index 2008-10-28 05:03:03 +00:00
Jesse Vincent
c7de66484d more renaming. 2008-10-28 02:14:16 +00:00
Jesse Vincent
70aeb47eda rename the app baseclass from Email to K9 2008-10-28 02:03:20 +00:00
Jesse Vincent
c00ec35921 Grand insane rename, step 3 2008-10-28 01:22:17 +00:00
Jesse Vincent
7051cf8cc0 move step 2 2008-10-28 01:19:57 +00:00
Jesse Vincent
0c8fd8496a move step 1, take 2 2008-10-28 01:19:26 +00:00