Commit Graph

588 Commits

Author SHA1 Message Date
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
Android (Google) Code Review
3479356779 Merge change 21597 into eclair
* changes:
  Remove tabs; fix formatting
2009-08-17 17:45:36 -07:00
Marc Blank
b486677f91 Have all mailboxes fall back reversibly on ping loop errors 2009-08-17 17:39:05 -07:00
Marc Blank
08e69d7023 Remove tabs; fix formatting
* Responding to stadler's comments for CL20566
2009-08-17 14:57:11 -07:00
Eric Fischer
80e7c986a2 Import revised translations. DO NOT MERGE 2009-08-17 13:14:53 -07:00
Android (Google) Code Review
576fff2a45 Merge change 21528 into eclair
* changes:
  Remove unnecessary @Override from static method
2009-08-17 11:19:45 -07:00
Andrew Stadler
d8cc57c83d Remove unnecessary @Override from static method
You can't really @Override a static method, since there is no object
dispatch.  The build system allows it, but Eclipse complains.
2009-08-17 11:18:36 -07:00
Marc Blank
8d971dbc9c Remove inappropriate references to INSTANCE in SyncManager 2009-08-17 11:09:25 -07:00