Commit Graph

612 Commits

Author SHA1 Message Date
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
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