History log of /packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3d16e5d4b994d92db51962c8c461c53bee04309f 25-Jun-2014 Anthony Lee <anthonylee@google.com> Move over to the new AttachmentService.

Change-Id: I4a687b003884ea6a92a755fcbf394001bfc96a38
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
82a207132b34377d532f19882f5bfc70bc657da0 14-May-2014 Tony Mantler <nicoya@google.com> Move account backup/restore to userdata in AccountManager

Change-Id: Iea9f2a1b1f2d87e07d63cbb1df5a0d6355ea4031
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
2f97a7c658eb76ab9f388da8e73c1393b88d0def 13-May-2014 Tony Mantler <nicoya@google.com> Clean up unused code and warnings in Account

Change-Id: I40475eb6c8afa6b7b28fd143b9ad4fd268ff4657
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
2f288864b621cfb5aee44eda27df463460d33dd3 08-May-2014 Tony Mantler <nicoya@google.com> Fetch email bodies using ContentResolver#openInputStream

This brings us further along the path to storing email bodies
outside of the database.

Change-Id: I96296114ade0d561df724878ed92999306bcd176
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
3c73a04bec2a1d06ce0a3c861a3d88862b80c163 18-Apr-2014 Tony Mantler <nicoya@google.com> Continue purging the unused reply parts

Change-Id: I47b5bbe50ba36e68ad7ba80647f401b992660ba1
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
845db9711917ad8936926fc7a1a179fade8e00d5 15-Apr-2014 Tony Mantler <nicoya@google.com> Fix some missed class renames

Change-Id: I82c9e21049096525cc55fa57e5cc307844014832
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
3dd85723a1af5537e23e4b05bdc361cce9cd42be 11-Apr-2014 Tony Mantler <nicoya@google.com> Cleanup in EmailContent

Change-Id: Ifa251eb206779f59ea003f99395d454c7e407bc2
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
7037a0bd3d8e925a9115f475f5c0d05ddae2eeee 17-Dec-2013 Jerry Xie <jjx@google.com> Disable, suppress, remove broken and obsolete Email tests

Change-Id: Ia4dcba1c6966f23dd2a15e69324b7345aed8f944
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
17d3a29c9d8f7a27c463239f190bdcc4e0804527 27-Nov-2013 Jerry Xie <jjx@google.com> Get Email units to compile

Change-Id: I171a0e2421c5006d9862ad94f886932146547020
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
03cd72805dab0379ed255d151f1c17cc60655fc3 25-Apr-2012 Marc Blank <mblank@google.com> Revert to old Email app

* These are the last sources in the ICS-MR1 tree

Change-Id: Ida4651bddd92a06a518d00f3e1f275ab3a80c8ae
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
63d60d9eb182d583d08e6d4b6dc11b392dede6f1 03-Feb-2012 Marc Blank <mblank@google.com> Split EmailProvider into two classes (and about time)

Change-Id: Ia72e8c83ea16718077ffe8b8d284d18b6f9f0786
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
2736c1a11ce3ecdcd9d19aa9c324fb9ce0910c7b 20-Oct-2011 Marc Blank <mblank@google.com> Rewrite of security policy handling and service code

* Remove PolicyService APIs policiesRequired, policiesUpdated,
isSupported, clearUnsupportedPolicies, and isActiveAdmin
* Add PolicyService API setAccountPolicy, which is the sole
method by which security policies are promulgated
* Add protocolPoliciesEnabled and protocolPoliciesUnsupported
to the Policy class; these are packed, localized strings
indicating policies that the protocol itself have enabled
and/or cannot support (i.e. these are policies that are
unknown to the DPM, e.g. don't load attachments)
* Differentiate in security notifications between three kinds
of policy changes - changes that don't require user
intervention (e.g. reducing requirements), changes that
require user intervention (the legacy notification), and
changes that make the account unsyncable (e.g. the server
adding an unsupportable policy). Handle all possible policy
changes cleanly.
* Make security notifications per account (with multiple
accounts, notifications would get arbitrarily munged)
* Expose ALL enforced policies via the account settings
screen in two categories: policies enforced (including
both policies enforced by the DPM and policies enforced
by the protocol) and policies unsupported (note that these
can only be seen if policies are changed after an account
is created; we do not allow the creation of an account
when any required policies are unsupported). Add a
button that forces a sync attempt, for accounts that
are locked out, but whose policies have changed on
the server (this would otherwise require a reboot).
* Updated unit tests

Bug: 5398682
Bug: 5393724
Bug: 5379682
Change-Id: I4a3df823913a809874ed959d228177f0fc799281
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
513486cfb5d446f098b1c97d16932e51e316d1a7 13-Oct-2011 Ben Komalo <benkomalo@google.com> Fix per account starred mailboxes.

We always switched to combined view when we tapped "Starred" in a
mailbox list. This was confusing since tapping to show the mailbox list
will take you to the mailbox list for the combined view, even if there's
only one account on the device! Other confusing things happened like
showing coloured account chips, even if there's only one account.

This fixes it so that we pass the account ID when building the
selection. Lots of wiring to make it happen, but very little change
overall.

Bug: 5388326
Change-Id: I1fe52f211cceca0c1b26581e200f3c7adcd0734a
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
32bed4bb8e23d7322ab338773d135845f392d3cf 24-Aug-2011 Ben Komalo <benkomalo@google.com> Fix unit tests.

- make attachment download service injectable
- fix assertions for account manager account checks
- update message compose ID's so they're consistent on tablet/phone

Bug: 5198343
Change-Id: I9976f5b9e5590dd61fb0a62937d3f9203fefe236
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
4e4aba9ebc43c6a83190f3a883fa05bb7d5100b3 19-Jul-2011 Marc Blank <mblank@google.com> Clean up account reconciliation

* Move AccountReconciler to the Email app (from EmailCommon)
* Ensure that Controller.deleteAccountSync() performs ALL actions
needed to clean up after an account deletion (delete attachment
files, reset policies, refresh the UI, etc.)
* Add reconcileAccounts() API to AccountService
* Remove accountDeleted() and restoreAccountsIfNeede() from the
AccountService API
* Remove unused callback

Bug: 4883073
Bug: 4767084

Change-Id: I43ffaf009db1a6f306bb0f2a74fb4dd3b2c4b966
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
acd985efb4b29da28953308ba3d5c8f43b760379 14-Jul-2011 Ben Komalo <benkomalo@google.com> update one more test for default account changes

Change-Id: I36344a9c0a29d718ec9dd3d51d9abfbc435252f0
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
52e66110d8934cf0a3dd632101a56d4ef45b549a 14-Jul-2011 Ben Komalo <benkomalo@google.com> Unit test updates for default account changes

Change-Id: Id619de198a84d1da43068a90474ed76ece9a30b5
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
2bdf7ee0f0f4a2b11b5f7c0f8b193080600fefd8 01-Jul-2011 Marc Blank <mblank@google.com> Delete orphaned mailboxes/messages/policies at provider startup

Bug: 4972132

Change-Id: Icc756a9e28b77de052261903089b040d229e7b5d
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
63537746479f4b65517bd217c1a5f76d697367eb 23-Jun-2011 Marc Blank <mblank@google.com> Fix problem with getDefaultAccountId() with no explicit default

* This wasn't working with the new code and the unit test wasn't
testing this case.
* Updated code in EmailProvider and added a test case

Change-Id: I75c23423c4f43e4201d446886d92a5312fa8a084
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
6e418aa41a17136be0dddb816d843428a0a1e722 19-Jun-2011 Marc Blank <mblank@google.com> Improve EmailContent caching...

* Guarantee that up to 16 Account (with HostAuths), and Policy rows
are always cached. Also, 6 commonly used Mailboxes per Account
(Inbox, Outbox, Drafts, Sent, Trash, and Search)
* Precache these rows when EmailProvider starts up
* Ensure that newly added, precachable rows are cached when created
* Clean up some inefficient/wrong caching code
* Fix a commonly called method in NotificationManager in which we
load a single Mailbox row using selection vs withAppendedId
* Confirm that we don't read from the database in typical use and
heavy message loading
* Add a special URI for finding mailbox by type (using the cache)
* Add special-case code for EmailContent.count(Account.CONTENT_URI)
which is used in a number of places (including on the UI thread)
and whose value is easily determined
* Add a special URI to get the default account id
* Confirm that all unit tests work

The goal here is to be able to load all Account, HostAuth, Policy,
and Mailbox objects (by id) without worrying about disk access.
There will still be a single disk read for uncommon Mailbox reads,
but this should be considered acceptable.

Change-Id: Ibc9aa7acc73185e360b0b6f3053b90a985e97210
TODO: Unit tests
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
f5418f1f93b02e7fab9f15eb201800b65510998e 14-Jun-2011 Marc Blank <mblank@google.com> Move Account into its own top-level class

Change-Id: Ide7c991b7d4d418dbe17164421425bf898ba64ee
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
f3ff0ba91076ef1fb087fc30fe65d9504011c2b3 19-May-2011 Marc Blank <mblank@google.com> Create AccountManager acct for pop/imap on upgrade from GB

* Also, unit test for upgrade path

Bug: 4439595
Change-Id: I508a3d8ea70c1a894a412528314e42a39f3ae0e7
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
12b82d9374947c9268217f45befe8a74bd9b60d7 20-May-2011 Ben Komalo <benkomalo@google.com> Move HostAuth to top level class.

No other changes made.

Change-Id: I1c6497c98abc0f99443ea42d8aed6295b263c123
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
4c4e4c3515c3e3300e03f90e02a0c520dc2dff32 13-May-2011 Makoto Onuki <omakoto@google.com> Clean up the method to build message list selection.

- Moved the method to EmailCommon.
- Use *_SELECTION for magic mailboxes
(meaning we now use subqueries for magic mailbox selections, rather than
building the mailbox ID list by ourselves)

Change-Id: I3ebf6af62fd912fea6faea0f75e05fc61c87af3b
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
53ea83ebf91f820692e8fa8e781f5cc982dd94db 14-May-2011 Ben Komalo <benkomalo@google.com> Move Mailbox to top level class.

No other changes made.

Change-Id: I3d8f3c521dc0d902be313b25252b4b6a4a96e7ee
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
83693a6acaffd219f65e04054bc04530e9cc132f 10-May-2011 Todd Kennedy <toddke@google.com> Use observers to manage new message notifications

We were sort of using observers to maintain the new message notifications.
However, other parts of the code would poke into the notification controller
to set things such as a list of newly added message IDs. Now, we rely
exclusively on db observers to manage notifications.

As a side effect of this, we now set the notification text correctly to be
the most recently _added_ message. This may be different than the most recently
sent message [since there may be a non-negligable delta between when the
message was sent and when it was received].

NOTE this still suffers from an outstanding bug where we continue to get
notifications when the Eamil UX is visible. That and monitoring changes to the
account table will be addressed in future CLs.

Change-Id: I4c68273716cc685574a1ca71e5d634f53fe0d882
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
22208771b7b39c5d131372ba6bc45ab23cc22232 23-Apr-2011 Todd Kennedy <toddke@google.com> Add hierarchical folders to IMAP

We now create folder hierarcies for IMAP. This also includes a nifty SQL
statement that will get your existing database into shape.

Change-Id: If07a0632e9b250cf0c33c3e16bfba5816beab94c
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
200c6bd9fa19b78acc2c1664f858521aa9885353 21-Apr-2011 Todd Kennedy <toddke@google.com> Simplify mailbox synchronization logic

The logic is simplified by creating database rows for new mailboxes down
in Imapstore. This means that the difference between local and remote folder
lists are mailboxes that need to be deleted.

Note -- this is still not the final CL. We probably update the database too
frequently and the column values aren't updated to support nested folders.

Change-Id: Ifbe4e0cf74ba81e5b6156b452ab72c56c35235ab
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
76f614720db6a282c3e890969a600585122cdcc5 27-Mar-2011 Marc Blank <mblank@google.com> Highlight utility for HTML and text

* Add utilities for adding highlighting markup to HTML and
highlighting spans to plain text (for Webview and UI,
respectively)
* Rename Snippet.java to TextUtilities.java and move to utility
package

Change-Id: Ic443ab5ce9c0199fa82a68e1592bf259494cadd2
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
fe68c0e7c2672e09076038b36ad24f095633d313 17-Feb-2011 Todd Kennedy <toddke@google.com> Use HostAuth to determine settings changes

There were two TODO's from a prior CL where deprecated HostAuth methods
were removed.

1. Do not use a generated URI to determine if account settings have changed.
Instead, use the HostAuth structure for this purpose.
2. The account key in the HostAuth structure has been deprecated. Remove as
much of it as possible (until the schema of the host auth database changes,
we must still refer to it when adding rows).

In the process, HostAuth tests were broken out into a separate unit test
file.

Change-Id: I4075da09af168f734db7b20a9ef63d4178ac2064
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
040ddf60cfef4aaecf4bfe1f897fce3248d777a4 04-Feb-2011 Todd Kennedy <toddke@google.com> Resolve build warnings; part 5

Remove dependence upon URIs for creating the host auth structure

Change-Id: I92dee36fa329a8976b76bbd4991ed3469c6475f2
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
31d9acbf0623872f9d4a2b3210b5970854b654c7 12-Feb-2011 Marc Blank <mblank@google.com> Email split, part huit: Refactor constants, clean emailcommon

* There are three pieces to this CL (sorry):
1) Move and/or rename some constants into emailcommon
2) Move Utility to emailcommon, moving the few UI
related utilities back into Email (FolderProperties
and UiUtilities)
3) Remove all references to resources from emailcommon
* The three pieces relate in that, between them, they allow
the emailcommon static library to compile cleanly

Bug: 3442973

Change-Id: Ic5e3abaa2a1b36999e0b6653c6c2134ea1bd544f
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
a7bc0319a75184ad706bb35c049af107ac3688e6 10-Feb-2011 Marc Blank <mblank@google.com> Email split, part six: EmailContent

* Moved EmailContent to emailcommon

Change-Id: Ib3db1bfcfe74554c0e5afd3cfce6d72f26e9aeb9
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
2193962ca2b3157e79f731736afa2a0c972e778a 10-Feb-2011 Marc Blank <mblank@google.com> Email split, part quatre: Move along, nothing to see here

* No code was harmed, er, changed in the making of this CL
* All that's happened is that code that is needed by both Email and
Exchange have been moved into emailcommon
* This required import changes to many files, which explains the
length of the CL

Change-Id: I4e12455ba057a4a8054fdbd0b578c73afa411c8a
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
b3740d227ee0eede878d97654d180f781d591da0 25-Jan-2011 Todd Kennedy <toddke@google.com> Merge "Only show loaded messages in widget" into honeycomb
543953ad87a12d251fcec82c57d00383225b4149 24-Jan-2011 Todd Kennedy <toddke@google.com> Only show loaded messages in widget

The various selection strings were missing a test to only show messages that
have been loaded. This is only important for POP3 accounts.

bug 3377041

Change-Id: I3efe366d09dd547878dc0bf57dff58f76de5cca9
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
9128217da1f8ae53f1c44f369934ff075ae5057b 25-Jan-2011 Andy Stadler <stadler@google.com> Merge forward small bug found in password storage

While fixing bug 2981433 in Gingerbread, I discovered one additional
place where passwords were being trimmed. This brings the fix forward
into honeycomb, as well as a new unit test for the fix.

Bug: 2981433
Change-Id: I566f5c0c6693ca7c0069bca9e74f320fca48e600
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
d072f9905d8572f454be1f2ea5d7ba173d2b57d1 13-Jan-2011 Makoto Onuki <omakoto@google.com> Don't show trashed messages in Starred mailbox

Also show the *total* starred message count (excluding trashed starred)
in the mailbox list, not *per-account* starred count.

Bug 3346872
Bug 2149412

Change-Id: I2274f215f994b62280ac6138982b927cec22c677
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
9c0da8b84f2e52b38134719fcbf80c9d3c777970 12-Jan-2011 Makoto Onuki <omakoto@google.com> Don't show starred mailbox, if account has no starred

Bug 3334963

Change-Id: I751e56731b990a6e94b8547a577a84c1a848cbc7
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
d306ba34387f3a7e77a4b8d98c6ac45cc14b95ad 30-Dec-2010 Marc Blank <mblank@google.com> Handle query with an id of -1 more gracefully

* In query of an otherwise valid URI with -1 as an id, simply return
an empty cursor
* Add unit test to verify proper handling of invalid uri's

Bug: 3183245
Bug: 3292080

Change-Id: Ia0c35cbd0f5dd0dc4a8fc794226399644cf1fe13
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
6ebaa90847e6e9c7624c18905971a003b2ee902b 23-Dec-2010 Andy Stadler <stadler@google.com> Reduce/eliminate UI thread access in MailService

* Make most calls to AccountBackupRestore return immediately w/o DB access
* Move most workers in MailService into async runnables
* Remove account restore / null check from ACTION_SEND_PENDING_EMAIL
* Strengthened unit test on Mailbox.findMailboxOfType() because after
removing the account check (above), sendPendingMessages depends on
findMailboxOfType() returning -1 on a missing account.
* Clean up a bunch of warnings (no longer use deprecated Config.LOGD)

Bug: 3133763 (and probably others)
Change-Id: Id39707bca7a8ebf5000f84d542013411ff0f422e
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
aef9515ee70f1f0b6cc4fa601078597b55831331 10-Dec-2010 Makoto Onuki <omakoto@google.com> Controller.Result callbacks should all have accountId

- Added accountId to loadAttachmentCallback/loadMessageForViewCallback

- Cleaned up LegacyListener/MessagingListener.
Removed the constructors which take messageId and attachmentId, which
are used to bridge loadAttachmentProgress, which the callsite doesn't know
these IDs. The inconsistency (only loadAttachmentProgress() uses the member
messageId) doesn't look too good, so extracted this into a separate class,
MessageRetrievalListenerBridge.

Change-Id: I46303e50df2b0e1fe8616e7c9cef632ac14f23aa
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
9d5aaeacd6b222877f25924818317c9153708261 03-Dec-2010 Makoto Onuki <omakoto@google.com> Follow-up to Id18fb940. Tests, fix transaction.

Change-Id: If425db7d729e260102a9db82b98e14ff6f6be143
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
349055aad47184b72cd86de1f37ac1b7557d2e70 17-Nov-2010 Marc Blank <mblank@google.com> Allow ProviderTests to work with ContentCache

Bug: 3204331
Change-Id: I5399345c2b759fb34d3dc7c694eb0eef8d7de493
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
fab77f147f85766d2f75d8aece0aaa4ffb3838e8 28-Oct-2010 Marc Blank <mblank@google.com> EmailProvider content caching

* In this CL, we cache individual rows, based on the CONTENT_PROJECTION
defined for the most common queries (Account, HostAuth, Mailbox, and
Message)
* Queries on individual rows (most often Class.restoreClassById()) will
look to the cache first, rather than querying the database
* Queries on smaller projections will build MatrixCursor's from cached
data
* Write-through caching updates the cache with changed columns
* Experiments with live data indicate that > 95% of queries that are
cacheable (single row, no selection) can be retrieved from the cache,
thereby saving a great deal of disk access.
* Timing experiments show that cache hits are > 40x faster than cache
misses
* Unit tests for the various classes exist, with more coming

TODO
----
* More unit tests

Change-Id: I386a948a2f4cc02b6548d07d9b2fefd1e018a262
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
2ac1eaf8c3f7122da7900f0ea5a1198264631d74 10-Nov-2010 Makoto Onuki <omakoto@google.com> Account selector rework.

- Show email address
- Show inbox unread message count

Initially I thought of using a join to get accounts with their unread
counts with one query, but there were enough subtle issues that I gave up
on the idea.

Instead it uses a MatrixCursor to build a completely new cursor,
based on a regular accounts cursor.

Change-Id: I09e8762f131cc2bd3637e1a3d302088a3b5b2479
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
6f3d167cfa948d20153c2172c34cbede5ec83a1d 09-Nov-2010 Makoto Onuki <omakoto@google.com> Don't show non-incoming message in notification.

Filter out non-incoming messages using a subquery.
(because the message table doen't have the mailbox type.)

I was initially thinking of adding a new content URL for
the message table joined with the mailbox table, but it turned out
to be a bit of pain, so ended up using a subquery.
(one of the problems was that both tables had the "_id" field.)

Bug 3177220

Change-Id: I276efb70db1589835f3ddb8c7da4773e72d8691b
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
ee7205d100eff01a75c292b80f41cd24a2b19b84 14-Oct-2010 Makoto Onuki <omakoto@google.com> Put the dest mailbox name in the "message moved" toast

Also removed obsolete todo

Bug 3075984

Change-Id: I10ce9df29c4913c328d2a962151d4a9f2e6e1408
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
899c5b866192a4c4a12413446d10e5d98dbf94fa 27-Sep-2010 Makoto Onuki <omakoto@google.com> Switch to tablet style notification

- Now we show separate notification for each account
- New notification has sender photo, sender name, and subject
of the latest email
- Added the NotificationController class, which is intended to manage
all notifications besides "new message" eventually.

The framework doesn't seem to be 100% ready, and it's not clear how to
add the 3rd line in the expanded notification at this point. Need to
revisit it later to verify UI details.

Change-Id: I40193ee372cb6b2b7245c1588890f238b2469699
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
0efe738e05a31e0c1ebfba645bd2364a373a3f33 28-Sep-2010 Marc Blank <mblank@google.com> Add Uri for Message queries that include a LIMIT

* Use a query parameter (e.g. ?limit=2); LIMIT works with any
query

Change-Id: Idd106ab4b61aec237ac9676a201e797c4f65f15b
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
d25d87c7ba8bbbbcad771695a7085f227bac8a1b 24-Sep-2010 Makoto Onuki <omakoto@google.com> Fix NPE with use of getFirstRowXxx

Make sure not to cast null into a primitive type.
(i.e. If null isn't expected as a return value, make sure to set a non-null
default value.)

Bug 3032143

Change-Id: I9a344d765c75a66f529ad8d99b00b2b919139f9c
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
261d6c3f0c97a12256519a2c3b131a56e57ab45f 15-Sep-2010 Makoto Onuki <omakoto@google.com> Notify only account cursors when resetting new msg count

- Resetting the new message count is now correctly done on a BG thread.
- Added special content provider URI to reset the count.
(/resetNewMessageCount)
- This URI only supports update, which will notify only account
cursors.
- Fixed a problem that an insert with MAILBOX_ID/MESSAGE_ID/ACCOUNT_ID
triggers two notifications.

- This CL changes how we use notification URIs, but unfortunately
no tests for this part. It turned out MockContentResolver doesn't
support the notification mechanism, which made it very hard
to write tests.

Bug 2911646

Change-Id: I35b30a7e6bf2d57510486c7ed19b9f263d8c9b58
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
5b0c2c7f344e72915ac63ff45cf3d65885373a39 10-Sep-2010 Makoto Onuki <omakoto@google.com> Fix tests broken by I2bf5de4e (Clean-ups for EmailProvider)

My previous CL broke some tests.
- make sure to set 0 to unreadCount when adding a new row
- when updating messageCount in the tests, directly manipulate
the DB. (the provider no longer allows this)

Change-Id: Ib569349707007badf4f23600fbca37110c78fa6d
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
e7b9e4ab94093127002f4cddd3ffcc3deb1c0b41 02-Sep-2010 Marc Blank <mblank@google.com> Add snippets to messages

* Add 'snippet' column in Message table and handle upgrades to the
new schema
* Generate a snippet from either HTML or plain-text message body,
removing tags, extraneous whitespace, and other superfluous text
along the way. Store the snippet in the Message table
* Clean up MessagesAdapter to use the pre-existing list projection
and constants
* Write unit tests for snippet creation
* The UI in this CL is always single-line, ellipsized

TODO: Handle two-line subject if portrait and XL

Change-Id: I84a2cbe10957975942edad6eb1255a726924a78a
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
767f9fe2ebcca7eee20f2a048f33a96ad4bf53da 02-Sep-2010 Makoto Onuki <omakoto@google.com> Implement batch move.

* UI is still temporary
* In this version, we check if the selected messages can be moved *after*
you click "Move", rather than disabling the button beforehand.

Change-Id: Ief2864d2a513001847844963b2b0cb6b714e8667
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
a25aa613f79a94d0dea395234ba383de63d03727 01-Sep-2010 Makoto Onuki <omakoto@google.com> Open MessageComponse when draft in All Starred is selected

Also removed a silly unnecessary code in Mailbox.isRefreshable.

Bug 2968445

Change-Id: I75187e5abf1c3e67c8b9ead38c7f749fc8b6cfb0
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
e357f5879187124c7af5c2ece5d7d3e4f60f07d2 27-Aug-2010 Makoto Onuki <omakoto@google.com> Fully implement "refresh" action bar button

* Now it'll refresh mailbox list (left pane) as well.
(With the minimal interval of 30 seconds)

* Always refresh inbox.
(also with the minimal interval of 10 seconds)

* Also make sure the "auto-refresh" won't refresh
non-refreshable mailboxes. (drafts, etc)

Bug 2929889
Bug 2930018

Change-Id: I09452d40aad6008a721cfbc3f491617224d7048f
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
25144e2b7990c50bb3650faf1aec341837c05348 27-Aug-2010 Makoto Onuki <omakoto@google.com> Fix testAccountIsEasAccount

Bug 2953763

Change-Id: Iad1bf94e676c1fb41335e8bd7f3297af0033b0f5
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
5247ab8cae802272b1e29e81d3b31a1c4e710da5 24-Aug-2010 Makoto Onuki <omakoto@google.com> Make isEasAccount always work.

isEasAccount now uses getProtocol(), so it works even if the hostauth
hasn't been restored yet.

Bug 2929896

Change-Id: Iee902c18ef59680d8a7d4622230489ec7946f38c
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
bca4e6e70b53ca7db0ac14522f0d26a7b465cf24 24-Aug-2010 Marc Blank <mblank@google.com> Add utilities to retrieve Mailbox and Account from a message id

Change-Id: Ice727f82b5c284617b831f19e2667078cd3da5dc
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
6d8bfa67c438ee18921d13d8bfba876aacaa9ff6 10-Aug-2010 Makoto Onuki <omakoto@google.com> Make AccountBackupRestore/"delete account" robust.

Fix for crashes caused by an incomplete account
which typically a crashed unit test leaves behind.

- "Delete account" now works for incomplete accounts
- AccountBackupRestore won't crash.

Change-Id: Ie235aa15cf9b970fd184c60f14406aa7353c6f00
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
833fe73b99e62ad9cf6e80c782717c7de1ff12e4 03-Aug-2010 Makoto Onuki <omakoto@google.com> Aadd special boxes to mailbox list.

Change-Id: I36616f53555346ca7fbb6f3426a0c3196d7bacbc
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
574854b528163f3bf1a7cb974aa80082d1768edf 30-Jul-2010 Makoto Onuki <omakoto@google.com> Add the messageCount column to the mailbox table.

- Use trrigers to keep them up-to-date.
- Batch-update them upon upgrade.

- Motivation:
On the mailbox list, we show the number of messages in trash/drafts.
We currently do this with count(*) on the fly, which is okay
because MailboxList is really shown right now.
However, on the 2 pane, it's always shown and constantly refreshed,
so the use of count(*) can be a huge penalty.

It also make the code significantly simpler.

Change-Id: I26efa238d5183df43420a65925876248ef6c6cb6
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
bcf32320e2600e96c8a9e997a8903bfc3893b35e 27-Jul-2010 Makoto Onuki <omakoto@google.com> Move isSecurityHold/clearAccountHoldFlags to Account

- Added unit tests
- I see the "open a cursor, move to the first row, read a column" pattern over
and over. Added a utility method for this. (Let's try not to bloat the
binary by copying code around!)
- Added helper classes for database related tests
- Removed code dup

Change-Id: I380959215cc1661b252158f0f6e35369b499cdf8
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
8d8f86e899165772a7d91250b98dfc3c0d78b538 25-Jun-2010 Marc Blank <mblank@google.com> Cleanup and speed up isMessagingController

* Use the new Account.getProtocol() method to determine whether an
Account "isMessagingController" (i.e. uses the legacy controller)
* Cache the result of this test, so that it's only done once per
Account
* Add unit test

Change-Id: I6a0ec789a84bdf30b55156e6337a627fb4e81a08
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
c133e6f1858e33fabaa6ffa173c1402bf9a98e31 06-Mar-2010 Makoto Onuki <omakoto@google.com> Fix for Account.isValidId() crash when getting -1.

Bug 2493026
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
652be6fb3d04a4ceba6b765cd3160cdaef9e6107 03-Mar-2010 Makoto Onuki <omakoto@google.com> MessageList: Go to Welcome if account not found.

If the account specified with an Intent doesn't exist, show the Welcome
activity instead, which will navigate the user to the appropriate activity.
(e.g. account list if there're more than one account)

Bug 2479609
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
e37881aac562c066e6e666349749e40b7c116a21 02-Mar-2010 Makoto Onuki <omakoto@google.com> Store UUID instead of _id in desktop shortcuts.

- Because AccountBackupRestore won't preserve _id.
- Now MessageList accepts both Donut(1.6)-style URIs and Eclair(2.0-2.1)-style
URIs.

Bug 2479609
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
1575e7860d2259f1aed201ab23d526cddf787365 15-Feb-2010 Mihai Preda <preda@google.com> MessageCompose: fix delete quoted on reply/forward for EAS.

Also fix display of quoted html text for a draft (Exchange 2007).

Bug 2363249
Bug 2444496
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
694257cb7e7a191b3314cb209b6c38a8a07583ef 12-Feb-2010 Marc Blank <mblank@google.com> Handle calendar sync state changes by observing Calendars; cleanup

* Use a content observer to detect changes in Calendars; we use this to
determine whether or not sync has been turned off. If sync is turned
off, all events will be deleted, so we need to reset the sync key
* Make sure that all code working on Contacts also now works on Calendar
(push, etc.)
* Remove some old crufty logging and out-of-date comments
* Addresses 2433061

Bug: 2433061
Change-Id: I6299168903fcce9bf820b72b5f6bb157d9169653
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
0e1595c177e40428b267a8696dfc05d015ce6a2f 19-Nov-2009 Marc Blank <mblank@google.com> Handle unexpected deletion of EmailProvider database

* Addresses #2226426
* If the user deletes Email data, or if data corruption causes
EmailProvider.db to be deleted, we will be in an inconsistent
state with any existing Exchange accounts, since the AccountManager
will still know about them, contacts (and eventually calendar) items will
continue to exist, etc.
* Run an integrity check when the provider is created, deleting any
orphaned EmailProvider.db or EmailProviderBody.db
* Catch SQLiteException's in the Provider and do an integrity check
if any is caught

Change-Id: I47d523b90a6b8f71ba8e13fba4b04846b3da1b1d
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
ef83299b99288c00b9d661260d19715e73e6889c 14-Oct-2009 Marc Blank <mblank@google.com> Clear out orphaned messages in updates/deletes tables

Case #1:
* Fixes #2184702
* Messages can be in the base Messages table, but also in
Message_Deletes and Message_Updates; the latter two were not
being purged of deleted messages.
* This CL deletes from all three tables when a Mailbox is deleted
* Also run a check for orphaned deletes/updates when the email
provider's db is first opened
* Unit test updated to check for proper deletion
* Unit test for the provider check for orphans

Case #2:
* Fixes #2184708
* Messages in Outbox/Drafts can get modified or deleted, but the
rows added to the updates/delete tables never get removed because
the boxes don't sync
* Added code to SyncManager.ping (which gets notifications of these
changes) to delete these rows

Change-Id: Ib53e441136b0da1e88bc220150d631999058a8f0
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
e4a7cc440f081ef9c4375a2bd2f82680cc11b152 30-Sep-2009 Andrew Stadler <stadler@android.com> Re-enable modernized version of "optional" SSL/TLS

* Add "Accept all certificates" modes to incoming/outgoing secure choices
* Change URI scheme slightly to make "trust" a flag, not part of the
protocol.
* Change Stores to know about new URI scheme
* Slightly rework Transport API to make "trust" an independent flag
* Adapt HostAuth to handle new Uri scheme
* Remove the old ambiguous "optional" code, which was allowing
some unsigned certificates, but was *also* allowing TLS to
optionally start (though not SSL, despite the UI strings.)
* Add a few unit tests to EmailContent
* Add logging and a bunch of comments to TrustManagerFactory, and a bit
of simple cleanup to make it more readable.
* Add missing conversion of SSLException->CertificateValidationException
in TLS so we get the correct certificate errors from TLS too.
* Re-enable TLS for mac.com accounts (which had a certificate problem)

Fixes bug http://b/2119755, http://b/1374780, and probably a raft of
earlier and/or external bugs about certificate problems.

Change-Id: Iaf99a8da3eaadaa4cdeec224737838b5d6813e55
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
c41c47fa07a22f8a7612fb0191f152a36d95b7a5 25-Sep-2009 Andrew Stadler <stadler@android.com> Enable message upload

* Create logic to detect upsyncable messages in Sent
* Note: Drafts is now local only for IMAP - no sync, either way
* Rewrite MessageController.processPendingAppend for Provider world
* Write provider message -> legacy message converter
* Fixed bug in IMAP APPEND (it was not picking the right UID for the
uploaded message.)
* Better handling of server internaldate
* Add constants for new X-Android-Body-Quoted-Part header
* Add EmailContent routines to get each of the 5 parts of the body
* Remove "Load more" from unsynced message lists
* Add toString to MimeHeader for debug support

Bug # 2097471

TODO (next CL): Upload attachments records too

Change-Id: I209182f5adc6b6696919f559e3cbbdd58b3eed3a
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
5fc57eccefeba517fe5e6f093786f37c6c4d50e6 23-Sep-2009 Marc Blank <mblank@google.com> Fix reply/forward for both SMTP and EAS; fixes #2138725

* Add new introText column in the Body database
* Reply/Forward put the appropriate String into this new column
* Rfc822Output uses this when required when streaming the message

Change-Id: I34602fdb3f91692c46fc8bc31ba0e6f680d445a0
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
0d00889f83fc8c1d69039a2c849b630fb4dd28dd 23-Sep-2009 Andrew Stadler <stadler@android.com> Cleanup Provider Message in preparation for upload

* Remove mServerIntId and its special logic
* Add mServerTimeStamp
* Add column dynamically so we don't lose accounts

Bug # 2097471
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
da8836a76cd8a6eaa7e3693eeacc6393870b2066 15-Sep-2009 Andrew Stadler <stadler@android.com> Give warnings if dupe account created:

* Check for existing accounts with matching servername + username
* Show a dialog and block account creation
* Triggers in three cases:
* After input of an auto-setup account (e.g. Gmail or AOL)
* After input of manual setup (incoming) parameters
* After changing incoming parameters of *any* existing account
* Made some notes in EmailContent regarding fields in HostAuth that we
are not actually using.
* Added HostAuth unit tests

Primarily fixes bug # 1964449
Bonus fix for bug # 1594408

Change-Id: I49310faf6654280582e0ab3d3e40f2701bfcd21d
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
6c21942ec45f561d711b3d74ecca8e62afb735c4 10-Sep-2009 Andrew Stadler <stadler@android.com> Implement move-to-trash for IMAP and POP3.

* Define new message-loaded state "FLAG_LOADED_DELETED" (used only for
POP3, which needs to write sentinel messages that are not displayed.)
* Also renamed the other flags to make the naming more consistent.
* Tweak MessageList query generation to inhibit display of deleted
message sentinels, and MessagingController won't try to resync them.
* Clean up implementation of Controller.deleteMessage()
* Add support for move to trash to MessagingController. This operates
in three primary modes:
* POP3 local delete (no server-side interaction)
* POP3 server delete
* IMAP server delete (and copy to IMAP trash mailbox)
* Add missing implementation in provider to delete all of the attachments
for a given message
* Fix progress reporting in activities (the test for error vs. progress
was inverted, which caused progress indicators to keep spinning
after errors.)
* Fix broken account settings UI (POP3 delete policy was not persisting)

Addresses bug 2097409

TODO delete from trash / empty trash

Change-Id: I00188e6dc2093823106e009f35b68c760227c9e6
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
e25698319325d5e9619bc45ae85d861b0f1c5954 08-Sep-2009 Marc Blank <mblank@google.com> Add sourceKey to Body table; add flags for reply/forward in Message

* Set reply/forward flag and sourceKey as appropriate in MessageCompose
* Update provider tests accordingly

Change-Id: I7f49d80a735314a1a38f09fbf1f234257c41af8c
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
936babc145e2e6eb2e222f2ce5e3da8f9e4fb9f2 02-Sep-2009 Andrew Stadler <stadler@android.com> Bulk change of columns, LAST TIME.

* Add reply columns to Body
* Remove a bunch of unused columns from Message
* Update SQL tables, content read/write, etc.
* Small tweaks to app code that was not-really-using the old columns.
* Update existing unit tests for new/changed columns
* Disable TagsTests to solve a tests failure (prexisting, not caused by
this CL)

Change-Id: Ief493796dfe219669755170d76786f91570cbb9b
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
c0c9c33322deecace00a32766e0a1b355aad4b31 20-Aug-2009 Marc Blank <mblank@google.com> 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
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
44144d0301213536b02f2080237b63d8271b2d0b 18-Aug-2009 Mihai Preda <preda@google.com> MessageCompose: initial save attachments and load them back.

- load attachments for EditDraft.
- save attachments when save message.
- unit test for restoreAccountsWithMessageId()
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
4a8c70c09be3914ded18031b4cca5a6d867de0d3 18-Aug-2009 Andrew Stadler <stadler@android.com> 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.
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
9627d014e16235eadf981b9165807dc72a14a383 12-Aug-2009 Mihai Preda <preda@google.com> MessageCompose: update body on save.

- plus unit tests.
- and some attachment refactoring.
- move PROJECTION_ID up to EmailContent.
- add index on messageKey to Attachments and Body tables.
- add missing Columns.ID field in EmailContent.
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
fb7974f5bfb6275fb856b0f7ff386ef10680c83a 03-Aug-2009 Mihai Preda <preda@google.com> Fix SQL for DELETE_ORPHAN_BODIES and DELETE_BODY.

and add unit tests.
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
758a532fce2f672673d38b2daa5f67eb757b118b 30-Jul-2009 Marc Blank <mblank@google.com> 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)
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
41f775bbc731b25854da9f5a80c66a4aa1eb0af9 22-Jul-2009 satok <satok@google.com> Modified to display unread count correctly.
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
531ae9d25f4310e4774e136ed74ed9749f940861 23-Jul-2009 Marc Blank <mblank@google.com> Fix bug #1997284 re: single default account

* Fixed the bug and uncommented the relevant tests in ProviderTests
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
9e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857 23-Jul-2009 Andrew Stadler <stadler@android.com> 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.
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
54c1f2bf9a6574240b7c9af253f83a2b566442ab 22-Jul-2009 Andrew Stadler <stadler@android.com> 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.
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
4119218e2fd64341ac946fb8f2cbdb796a444cb8 17-Jul-2009 Andrew Stadler <stadler@android.com> Add support for get-attachments-by-message-id

* clean up provider URI's in this area
* minor bugfix in EmailContent, and add auto-writeback of messageId into
saved attachments
* clean up existing attachment unit tests
* add new tests
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
976f92908dd2f69f21f62690632ff24b08d9f5d3 16-Jul-2009 Marc Blank <mblank@google.com> Add support for attachments in EmailProvider and (preliminary) EAS

* EmailProvider now saves Attachment records atomically with Message (and Body,
of course) if an ArrayList is stored in mAttachments
* Update EAS code to support attachment discovery
* Update EAS code to support attachment download via service API (preliminary)
* Add test for atomic attachment save
* Add test for unique file creation (external)
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
28448e782b825d1978c0923003a2cf91efe733dc 06-Jul-2009 Andrew Stadler <stadler@android.com> Extract utilities from provider tests for use elsewhere.
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
ddc871d9eddd088c0200a30dbfeb24812a81cf80 30-Jun-2009 Andrew Stadler <stadler@android.com> Fixed a few EmailProvider omissions; added tests

* EmailProvider query wasn't handling queries for deleted messages
* EmailProvider wasn't catching exceptions on some 'drop table' ops
* Added tests of synced messages (delete and update)
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java
7143d969dde180b7a44bdc42ade6ca2878d0760d 25-Jun-2009 Andrew Stadler <stadler@android.com> Add unit tests for Provider and fix bugs that were found

Uses a mock provider to avoid touching production databases.
Includes utilities for creating accounts, mailboxes, and messages.
Tests basic object creation & readback, object deletion, and some
forms of hierarchical deletion. Has many TODO notes for additional
tests to be written.

In EmailContent, found & fixed a few fields that weren't being written to
the database properly.
/packages/apps/Email/tests/src/com/android/email/provider/ProviderTests.java