Commit Graph

799 Commits

Author SHA1 Message Date
Andrew Stadler
c9c5bd5665 am 421a4f55: (-s ours) DO NOT MERGE: Rewrite Base64InputStream from Eclair
Merge commit '421a4f5595163b16064049e20e823f45e0fd7ee9' into eclair

* commit '421a4f5595163b16064049e20e823f45e0fd7ee9':
  DO NOT MERGE: Rewrite Base64InputStream from Eclair
2009-08-24 17:48:45 -07:00
Andrew Stadler
421a4f5595 DO NOT MERGE: Rewrite Base64InputStream from Eclair
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-24 16:30:44 -07:00
Dianne Hackborn
4bc4fed47b Use new service command processing to avoid leaving the service running.
The service still needs to schedule an alarm in its onStartCommand() so that
it will run in its next poll interval.

Change-Id: I66228ef573e84a5c7d33bcb07f4772626079b960
2009-08-24 16:29:02 -07:00
Marc Blank
863c6bb04f Fix #2074992
Change-Id: If60aafe60c6327ec62f2a45aae5d750da65a19a8
2009-08-24 15:57:33 -07:00
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