Commit Graph

595 Commits

Author SHA1 Message Date
Andrew Stadler
e1f0b0a9bc MessageView: next/prev navigation.
in addition:
- fix AND-OR precedence in cursor query in MessageList.
- move special mailbox ids from MessageList to Mailbox
- move shared code from MessageList to com.android.email.Utility
- add invisible prev/next to landscape in order to avoid special-case in code
- select mailbox list using IN() instead of list of OR

Note:  Checked in by Andy to facilitate further work on MessageView.

Change-Id:	I8049be2b45fed1e4e697a0ed895492c4d0e59e0a
2009-08-24 15:00:45 -07:00
Android (Google) Code Review
dad47808e9 Merge change 22425 into eclair
* changes:
  Reenable Load More Messages for IMAP/POP
2009-08-24 10:07:07 -07:00
Andrew Stadler
77398c4289 Reenable Load More Messages for IMAP/POP
* Properly reset all mailbox limit values
* When load more messages is clicked, increment limit and resync
* Also fixed a race condition in provider

Resolves bug 2065626

Change-Id:	If50f25a5cb3b549b3acc48406c78533ad86ed4d5
2009-08-23 23:45:54 -07:00
Marc Blank
0cbdba8d62 Fix a few sync-related bugs:
* Don't leak the receiver registered by AccountManager for updates
* Only restart dead threads if they aren't logged in the syncErrorMap
  (to prevent looping behavior as seen in bug #2072456

Change-Id: Id1b4c53ef8b721bf8bfa8426627fd76831864c70
2009-08-23 10:53:53 -07:00
Marc Blank
bfe94e6eaa Fix NPE when trying to upload a Contact created on device
* Note: This functionality isn't yet implemented

Change-Id: Ie5840a6830e31acc72523b9e8d6d760bf26d523f
2009-08-23 01:24:49 -07:00
Marc Blank
5aac4a7496 Fix bug #2071895 (NPE); remove unused method. 2009-08-22 12:14:27 -07:00
Marc Blank
a27291faac Fix bug re: parsing EAS 12 flags that caused missed messages, etc.
* This is bug #2071068
2009-08-22 11:42:51 -07:00
Andrew Stadler
cab55743ac Rewrite Base64InputStream to be much more efficient
This was broken in many, many ways but the primary offender was an
object allocation for every 4 bytes of an input stream (imagine what this
did for 900k attachment files).

The new version is completely self-contained, and is optimized for the
most common case of inner loop case of processing 4-bytes-at-a-time.
2009-08-21 18:33:10 -07:00
Andrew Stadler
a9a5dd60d6 Two minor crash fixes
* Don't call deprecated presence Uri
* Don't return null from SyncManager.getAccountList()
2009-08-21 17:05:18 -07:00
Andrew Stadler
f330d1221a Fix account setup layouts
These were not working on some screens due to portrait/landscape
layout issues.  The worst cases were the "basics" screen and "exchange",
but I cleaned up all of the screens that had similar issues.

Resolves bug 2070902 which made it difficult to create accounts on
some devices.
2009-08-21 16:24:16 -07:00
satok
8a34ba9f83 Scrub out "px"
BUG: 2064511
2009-08-21 19:16:34 +09:00
satok
0b8e036219 Resolve my build breakage.
SHA1 95993a4b84
2009-08-21 16:21:44 +09:00
satok
95993a4b84 Update Title bar to use custom titles
BUG: 2050630

* remove fat title bar
* show new titles by using custom title bar
2009-08-21 15:47:01 +09:00
Jeff Hamilton
d382107bdc Don't try to load the owner info for now, it's not available. 2009-08-20 22:51:26 -05:00
Bob Lee
ed651a645c am dbbd29c8: Updated Email to use shared trust manager instead of initializing its own copy.
Merge commit 'dbbd29c822235d0c4c2ba9bad808ff5d4b86d399' into eclair

* commit 'dbbd29c822235d0c4c2ba9bad808ff5d4b86d399':
  Updated Email to use shared trust manager instead of initializing its own copy.
2009-08-20 19:33:21 -07:00
Bob Lee
dbbd29c822 Updated Email to use shared trust manager instead of initializing its own copy. 2009-08-20 18:49:54 -07:00
Android (Google) Code Review
6fa76a70a8 Merge change 22125 into eclair
* changes:
  Integrate further with the system SyncManager/AccountManager system
2009-08-20 16:27:14 -07:00
Marc Blank
03ecce7da8 Integrate further with the system SyncManager/AccountManager system
* Look for, and act on, changes to sync settings via SyncManager/AccountManager
* Look for, and act on, deletions from within AccountManager (tested)
2009-08-20 16:17:41 -07:00
Andrew Stadler
bcff14acf2 Create setup flow for use by Accounts manager.
* Create a new entry point for the exchange setup flow and switch
    EASAuthenticatorService to call it
* Pass "eas flow mode" down through the setup screens
* Slightly modify their behavior as we go (e.g. we skip the
    (account type" screen since we know it's EAS.)
* Add a checkbox to "sync contacts from this account" and pass that
    value into ExchangeStore when we set up the account.
* Change the flow exit to pop back to the account manager instead of
    taking the user to the new inbox.

This CL satisfies cases 1 & 2 of bug # 1974752.
2009-08-20 15:51:36 -07:00
Marc Blank
a8aedb2f37 Add "contacts" option to EasAuthenticator, which determines whether Contacts should be synced
* The state of Contacts syncing can be changed from various places in the UI
* In a future CL, SyncManager will respect this setting
2009-08-20 13:39:46 -07:00
Marc Blank
41f367eddf Re-enable Contacts sync (had been turned off) 2009-08-20 13:21:48 -07:00
Android (Google) Code Review
9d174399ef Merge change 22098 into eclair
* changes:
  Fix bugs re: sending via EAS
2009-08-20 13:19:15 -07:00
Marc Blank
9178dcc9e9 Fix bugs re: sending via EAS
* Make sure each call to sendMessage returns a proper result code
* Exit outbox sync on irrecoverable errors
2009-08-20 12:05:57 -07:00
Andrew Stadler
4b41bae270 Enable IMAP/POP sending and EAS resend
* Finish IMAP/POP sections of Controller.sendMessage
* Rewrite MessagingController.sendPendingMessagesSynchronous
* Add deleteAllAttachmentFiles to AttachmentProvider, and unit test
* Rework sendMessage callbacks and integrate into MessageList UI
* Send pending from UI

TODO:
* Find other places from which to call deleteAllAttachmentFiles
2009-08-20 11:09:39 -07:00
Marc Blank
c0c9c33322 Add URI's that atomically add a value to a particular field (Account or Mailbox)
* Message, etc. could be added, if this had a use case
* Unit test added for both Account and Mailbox cases
* Eclipse changed some parens around; it won't happen again
2009-08-20 10:27:10 -07:00
Marc Blank
d366346a64 Implement sendMessageStatus callback in EAS
* Change API for callback to include message subject (when msg is isn't valid)
* Update users of callback to add the new argument
* Use API in EasOutboxService to send status messages back to the UI

Still TODO:  Add relevant error codes for sending problems that are not related
to connection or login issues
2009-08-20 09:08:12 -07:00
Android (Google) Code Review
4399ead9f4 Merge change 22048 into eclair
* changes:
  Add checks to avoid NPE's while stopping services
2009-08-20 09:05:31 -07:00
Mihai Preda
44144d0301 MessageCompose: initial save attachments and load them back.
- load attachments for EditDraft.
- save attachments when save message.
- unit test for restoreAccountsWithMessageId()
2009-08-20 15:52:50 +02:00
Marc Blank
d696c6f2df Add checks to avoid NPE's while stopping services 2009-08-19 20:31:18 -07:00
Marc Blank
03be523b16 Don't run SyncManager unless there are EAS accounts
* Check that there is at least one EAS account before starting SyncManager thread
* Have EasAuthenticatorService ensure that SyncManager has started
2009-08-19 20:16:01 -07:00
Andrew Stadler
e346193f06 Add status item to bottom of message list.
* Add code to (optionally) add footer, update text & progress dynamically
* Add hook to dispatch various actions (refresh, load more, etc.)
* Some cleanup of the launch helpers for MessageList

TODO:
* controller handler for the "send messages" case (subsequent CL)
* controller handler for the "more messages" case (subsequent CL)
* reporting of send results etc. into the status line
2009-08-19 20:05:10 -07:00
Marc Blank
50d9356670 SyncManager now clears error state on Outbox messages before startSync 2009-08-19 16:09:35 -07:00
Marc Blank
f4d7ddb0c2 Fix message sending from EAS (the service wasn't properly set up)
* Cleanup of EasSyncService
2009-08-19 16:09:26 -07:00
Andrew Stadler
0d10783635 Finish loading large IMAP/POP messages
* Handle messages >25k
* When structure is available (e.g. IMAP) pull in the entire body
    and the list of attachments
* When structure is not available (e.g. POP) pull in a large chunk of
    the body to try and capture the message body at least.
* Implement loadAttachment for IMAP/POP to demand download large items
* Tested with IMAP & POP messages

INCOMPLETE (file bugs):
* implement logic for the old loadMessageForView calls that comes from
    MessageView (when you open a message that's partially-loaded)
* Resolve handling of mimetype when attachment info is read (currently
    we're assuming base64 in a couple of places)
* delete account => delete attachments
* delete attachment => delete file
* create account => clear existing attachments for acct id
2009-08-19 16:09:13 -07:00
Marc Blank
6b2d23ad80 Recognize EAS 12.0 attachments; fixes bug #2065022 2009-08-19 13:15:19 -07:00
Android (Google) Code Review
fc92a6c9d8 Merge change 21777 into eclair
* changes:
  Make sure Parser always reads UTF-8 strings
2009-08-19 12:02:01 -07:00
Jeff Hamilton
fb67ec958c Handle null cursors when looking up owner info. 2009-08-19 12:26:44 -05:00
Andrew Stadler
cbe513d430 Integrate EAS push notifications with the main notifications.
* Use the new account-based field for number of new messages
* Add support for async notifications in MailService
* Change EAS to call MailService to notify user
2009-08-18 19:50:18 -07:00
Marc Blank
87439307ea Make sure Parser always reads UTF-8 strings 2009-08-18 14:19:49 -07:00
Android (Google) Code Review
2cf87e6c3c Merge change 21751 into eclair
* changes:
  Make sure we log exceptions in FileLogger
2009-08-18 14:07:15 -07:00
Marc Blank
a867ebba62 Have body database attach just once, and never detach
* Much cleaner implementation
* Prevent errors when various threads collide for attach
2009-08-18 14:05:40 -07:00
Marc Blank
f2113c1dcf Make sure we log exceptions in FileLogger 2009-08-18 13:53:38 -07:00
Android (Google) Code Review
5ecdc1b635 Merge change 21756 into eclair
* changes:
  Add "num new messages" field to Account
2009-08-18 13:44:53 -07:00
Andrew Stadler
4a8c70c09b Add "num new messages" field to Account
* Reset DB version to "1"
* Added field and support code (save, restore, & parcel)
* Added forgotten mProtocolVersion to parcelable code
* Added unit test for parceling

Also, fixed race condition in SyncManager that was underlocking the
wake locks during tests.
2009-08-18 12:14:15 -07:00
Fred Quintana
4c19543c8c make syncadapter set whether the account is syncable 2009-08-18 11:06:59 -07:00
Eric Fischer
2bd6302554 am 80e7c986: (-s ours) Import revised translations. DO NOT MERGE
Merge commit '80e7c986a2aae8666b96a8d2642608f8ea428732' into eclair

* commit '80e7c986a2aae8666b96a8d2642608f8ea428732':
  Import revised translations.  DO NOT MERGE
2009-08-18 11:00:40 -07:00
Andrew Stadler
46d7d7f1b6 Rework service to use provider accounts and controller.
* Rewrite service logic to select and update one account at a time
* Add checkmail API to Controller, and much rework/cleanup of existing
   callback API's
* Rewrite notification posting code
* Rewire connection to MessageList to be opened by notifications, to
   cancel notifications, and to reset the "new message" count whenever
   an account is viewed.
* Boilerplate cleanup to a lot of activities because they share the
   callbacks that have had minor changes.
* Remove old push controls from Store API

In progress:
* To provide notification mechanism for EAS pushed mail
2009-08-18 00:54:34 -07:00
Android (Google) Code Review
d1fd72a44e Merge change 21583 into eclair
* changes:
  Add support for syncing the favorite flag to server (EAS 12.0 and up)
2009-08-17 22:50:22 -07:00
Marc Blank
cc8d74bd03 Add support for syncing the favorite flag to server (EAS 12.0 and up)
* Add test for date formatting
2009-08-17 22:48:12 -07:00
satok
f827277419 Fix to show icon trash. 2009-08-18 11:20:59 +09:00