Commit Graph

765 Commits

Author SHA1 Message Date
Marc Blank
f00dccd321 Massive reworking of EAS serialization; much smaller and faster now
* Remove all use of Strings in favor of the parser's static final int's
* Strings remain in Tags for debugging output only
* Renamed lots of classes to be more consistent
* Centralized logging behavior in Eas class
* Found and fixed some bugs in the process:
  - Account deletion wasn't removing HostAuth's correctly in the trigger
  - Adding a second EAS account was trashing the first one
  - Fixed looping sync behavior caused by Exchange 2003 bug
2009-08-01 17:55:15 -07:00
Andrew Stadler
9aced6c76b Add cox.net email addresses to automatic setup list.
http://b/issue?id=1942352
2009-07-31 16:28:03 -07:00
Marc Blank
cc8b35e631 Temporarily force updateFolderList to send start/stop callbacks to UI
* Keep this in place until the related bug is resolved
2009-07-31 11:02:17 -07:00
Andrew Stadler
77898e14e9 Enable logging in EAS based on Email.DEBUG flag. 2009-07-30 21:47:32 -07:00
Marc Blank
59b7da4616 Fix 2026451 (folder list update callback not being made)
* Make sure updateFolderList service call stops the account mailbox sync
* Make sure SyncManager is kicked so that it will restart (and thus do
  a folder list sync)
2009-07-30 21:34:48 -07:00
Andrew Stadler
8f7f93a7b3 Enable account & mailbox sync for exchange
* Now attempts folder list sync for exchange
    (goto folder list and click sync)
* Folder sync never seems to call our callback - bug in EAS side?

* Now attempts mailbox sync
    (go to an EAS mailbox and click sync)

Also:
* Cleanup start/stop/error path for IMAP/POP as well
* Small bugfix in SyncManager.java (was calling wrong callback)
* No longer trying to set mailbox read/unread count in IMAP/POP
2009-07-30 18:48:12 -07:00
Android (Google) Code Review
5dd01e89a4 Merge change 9197
* changes:
  Use providers to update the unreadCount of Mailboxes
2009-07-30 16:23:08 -07:00
Marc Blank
758a532fce Use providers to update the unreadCount of Mailboxes
* Triggers added for insert/delete/update of Message
* update of Mailbox will never set unreadCount
* Removed old test for unread counts and replaced with on
  that tests trigger operation.
* Remove Account.updateUnreadCount (deprecated)
2009-07-30 16:03:31 -07:00
Andrew Stadler
9f9aaeaa3a Updates to AccountFolderList
* Switch to custom list item view
* Make the folder button work right
* Add the "Accounts" separator
* Change top text to "Email"
2009-07-30 15:50:08 -07:00
Marc Blank
85ef72b2ce Add support for the syncMailboxStatus/syncMailboxListStatus callback
* Allows UI to show proper progress indications depending on the status
  of a particular mailbox (running, finished, or error state)
2009-07-30 14:01:09 -07:00
Andrew Stadler
90ed7a4e23 Convert AccountFolderList to flat list
TODO: convert item to custom view
TODO: click on folder icon
TODO: mailbox per-type icons (e.g. inbox, outbox)
TODO: separator between two sections
2009-07-30 10:01:01 -07:00
Marc Blank
948c36f47a Reimplement EAS contacts sync to work w/ new system facilities
* Modify to work with ContactsProvider2
* Modify to work with system AccountManager
* Modify to work with system SyncManager (for triggering user-change syncs)
* Sync server->client for adds/deletes implemented (CP2 doesn't handle delete yet)
* Sync server->client changes handled efficiently (only write changes)
* Some fields still not handled
* Rewrote most of the CPO code to handle server->client changes
* Sync client->server works for supported fields
2009-07-30 09:22:40 -07:00
Andrew Stadler
9150b3005f Convert AccountFolderList to fat title bar style.
Also sharing fat title bar layout with MailboxList now.
2009-07-29 23:18:43 -07:00
Andrew Stadler
9e5ee4589f Create MailboxList for new UI activity.
* Shows mailboxes
* Click to open mailbox (see messages)
* Basic menus
* Fat title bar (appearance)
* Fat title bar (buttons)

Temporary hack to call this from AccountFolderList (when you click the
account groups and "expand" them, you come here instead.)
2009-07-29 19:21:37 -07:00
Andrew Stadler
ea69fc40d7 Rework Controller to use new single callback from EAS.
* Use unified callback instead of per-call callbacks
* Remove per-call tag
* Rework MessageView to operate without tag
* Minor cleanups in service side
2009-07-29 18:36:01 -07:00
satok
183e4a7a85 Localize special folder name 2009-07-30 10:08:36 +09:00
Jean-Baptiste Queru
58221af713 merge from donut 2009-07-29 14:57:06 -07:00
Marc Blank
c449cba510 First pass at implementing new IEmailServiceCallback.
* Add setCallback method to IEmailService interface
* Remove the callback from loadAttachment and loadMore in SyncManager and
  EmailServiceProxy
* Remove the callback from PartRequest
* Update EasSyncService to use the saved callback in SyncManager

Note: Unsure how to handle the case in which SyncManager dies, since it
will no longer have the callback available...
2009-07-29 13:36:13 -07:00
Android (Google) Code Review
eeac194150 Merge change 8810
* changes:
  initial Controller.sendMessage() and invocation from MessageCompose.
2009-07-29 00:59:33 -07:00
Android (Google) Code Review
aef3fb963b Merge change 8744
* changes:
  Show/Hide Account folders dynamically by checking number of messages
2009-07-28 16:17:17 -07:00
satok
fac5dc2d77 Show/Hide Account folders dynamically by checking number of messages 2009-07-29 05:56:23 +09:00
Mihai Preda
334903369e initial Controller.sendMessage() and invocation from MessageCompose. 2009-07-28 20:48:42 +02:00
Mihai Preda
3e79032dd1 Fix MessageCompose tests.
BUG 2017612.
2009-07-28 16:27:04 +02:00
Android (Google) Code Review
67143e5680 Merge change 8646
* changes:
  Remove mOldMessage from MessageView.
2009-07-28 04:52:45 -07:00
Mihai Preda
ff683a5b98 Remove mOldMessage from MessageView.
And add Address.unpackFirst() (used in MessageView) + test.
2009-07-28 13:49:40 +02:00
Android (Google) Code Review
274576bb90 Merge change 8656
* changes:
  Load source message in UI in MessageCompose for reply/forward/edit-draft.
2009-07-28 04:47:48 -07:00
Andrew Stadler
a98de7e55e Finish Attachment support for EAS accounts.
* Change service API to allow caller to supply complete target path/file
* Also allow caller to supply the final content_uri
* In MessageView, use full integration with EAS service API and
  attachments content provider to enable:
  * Save: Only works on SD card
  * View: Works w/o SD card using content provider & intents
  * Thumbnail previews
2009-07-27 19:52:21 -07:00
Andrew Stadler
3d25a519ab Convert AttachmentProvider to use new Provider db.
* Rewrite internals to use EmailProvider instead of raw db access
  * Minor changes to APIs as necessary (and scattered changes to follow)
  * Convert unit tests and check them
2009-07-27 15:52:42 -07:00
Android (Google) Code Review
63b2ad5bfb Merge change 8633
* changes:
  Fix UnsupportedOperationException in AccountSetupBasic caused by Account.update() when !isSaved().
2009-07-27 12:46:38 -07:00
Mihai Preda
0712ce063c Load source message in UI in MessageCompose for reply/forward/edit-draft.
Replace EmailContent.Message with Message.
Remove MessageCompose.mAccountId (mAccount is enough).
2009-07-27 21:22:37 +02:00
Mihai Preda
180d69e085 Fix UnsupportedOperationException in AccountSetupBasic caused by Account.update() when !isSaved().
Bug 2001896.
Introduced by CL 8158.
2009-07-27 20:56:43 +02:00
Andrew Stadler
301ac18bb7 Create tests and improve docs on AttachmentProvider
No change in functionality.  Just getting a test infrastructure in place
before rewriting to use new EmailProvider.  Provides tests for:

* get type (raw & thumb)
* open file (raw)
* open file (thumb)
* query
* resolveAttachmentIdToContentUri
2009-07-27 11:20:15 -07:00
Jean-Baptiste Queru
9502c241a2 reconcile korg/master into goog/master 2009-07-26 11:43:55 -07:00
Jean-Baptiste Queru
2f666cfd79 Merge korg/donut into korg/master 2009-07-25 17:48:03 -07:00
Andrew Stadler
627d1ae1e0 Fix permissions error creating new EAS accounts
Fixes http://b/issue?id=2003545
2009-07-24 16:25:18 -07:00
Android (Google) Code Review
c7ccb68ba4 Merge change 8253
* changes:
  Modified to display unread count correctly.
2009-07-24 14:46:52 -07:00
satok
41f775bbc7 Modified to display unread count correctly. 2009-07-25 06:42:34 +09:00
Marc Blank
b8a781f220 Load EAS attachments internally with new API ; re-sync after account changes
* Fix bugs #1993689 and #1997842
* Update test for attachment name creation
2009-07-24 12:36:52 -07:00
Mihai Preda
21ace307e0 Clean-up in MessageCompose, using EmailContent.Message.
Difficulties:
re-enable EmailHtmlUtil.resolveInlineImage() and
MessageCompose.loadAttachments() that operate on MIME parts.
2009-07-24 18:50:09 +02:00
Android (Google) Code Review
852974bc0b Merge change 8306
* changes:
  update the permissions for the AccountManagerService
2009-07-23 17:19:33 -07:00
Marc Blank
7375d950e4 Move to single EmailContent file; fix bug #1998157 2009-07-23 16:24:48 -07:00
Fred Quintana
ee37898bcb update the permissions for the AccountManagerService 2009-07-23 11:05:37 -07:00
Andrew Stadler
6ae38e4a39 Moving message operations into Controller, and load attachments.
* Moved logic into Controller:
  * toggling read/unread
  * toggling favorite status
  * some new unit tests
  * load attachment
* Completed logic for EAS to save attachments and MessageView to
  begin and complete that process.

NOTE:  Until EAS has a mode for saving the attachment locally (and I
rewrite the attachmentprovider to handle the new database) I am
implementing "view" attachment to just call "save".  This means that
attachments "viewed" will be dropped onto the SD card, instead of
cached and flushed.

TODO:  Controller is not properly working in its own thread, yet, so
we are not properly preventing ANR's yet.
2009-07-23 09:51:01 -07:00
Marc Blank
531ae9d25f Fix bug #1997284 re: single default account
* Fixed the bug and uncommented the relevant tests in ProviderTests
2009-07-22 16:35:12 -07:00
Andrew Stadler
9e2c6bd5f2 Remove saveOrUpdate from EmailContent to prevent stale writes
* Numerous classes modified to deal with this change
  * Fixes bugs 1993292 and 1994671
  * Renamed various setter and getter methods to reflect the underlying
    field names
  * Renamed syncFrequency to syncInterval in Account and Mailbox
  * Convenience method added to AccountSettings to save only user settings
  * Calls to content.update(context, content.toContentValues()), which save
    all fields, should be double-checked for correctness, making sure that
    content has current data and will not conflict with other threads that
    might modify that data
  * Ran all unit tests to confirm proper function

NOTE:  The logic to enforce single default account no longer works,
because that logic is in Account.save() and does not run via
Account.update().  I have patched out a small section of the relevant unit
test and will file a bug to come back for this fix.
2009-07-22 15:13:30 -07:00
Andrew Stadler
54c1f2bf9a Improvements to default account handling
* Remove all references to Account.mIsDefault, which was not the right
    way to find the default account (it is lazy initialized)
* Change Account.getDefaultAccount to getDefaultAccountId, which is more
    efficient and suitable in most uses.
* Wrote unit tests for provider default account handling

This should resolve bug 1983390 as well as a few other issues with default
account management.
2009-07-21 16:44:16 -07:00
Android (Google) Code Review
986a3b5f03 Merge change 8002
* changes:
  Prevent EAS startup race condition while debugging
2009-07-21 12:13:13 -07:00
Marc Blank
eda017627e Prevent EAS startup race condition while debugging
* Make sure that mAccount and mMailbox are up-to-date at all sync starts
* Prevent duplication of mailboxes in schema, since it's always wrong
* Add a service call to enable/disable logging in EAS
2009-07-21 12:00:16 -07:00
Andrew Stadler
4e4abc645c Clean up launch-time & account setup behaviors.
* Moved welcome message into account setup basics (name/pass)
* Reworked Welcome to go to AccountSetupBasics on count=0
* In AccountFolderList, removed old welcome message code, and add
  code to launch AccountSetupBasics when last account is deleted
* Fixed shortcut picker so launcher shortcuts work again
* Reimplemented shortcut receiver (in MessageList now)
* Default EAS accounts to SSL

Addresses bug 1916583 & 1987440
2009-07-21 11:06:14 -07:00
Marc Blank
28fc7799ce Add support for the flag (favorite) property in EAS 12; cleanup
* Support flag property in Exchange 2007 (EAS 12)
* Support startSync/stopSync/reloadFolderList in EAS service
* Cleanup files a little bit
2009-07-20 17:45:43 -07:00