• Home
  • History
  • Annotate
  • only in /packages/apps/Contacts/tests/src/com/android/
History log of /packages/apps/Contacts/tests/src/com/android/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
df5048bdcb3d8f744e4b2202704f04a91aca951d 29-Nov-2012 Chiao Cheng <chiaocheng@google.com> Merge "Fixing unit test to not rely on html markup." into jb-mr1.1-dev
e8f84e89418faefe298813be3be9b7e8fad605b1 22-Oct-2012 Chiao Cheng <chiaocheng@google.com> Fixing unit test to not rely on html markup.

These unit tests broke due to a change in the framework Html class and markup.
https://googleplex-android-review.googlesource.com/#/c/236067/

Since the unit tests have nothing to do with html, it is better to
change the unit tests so they do not rely on the html markup.

Bug: 7352945
Change-Id: I3340575c08687fe481e91b3897037960911b1bbb
ontacts/format/PrefixHighligherTest.java
ontacts/format/SpannedTestUtils.java
ontacts/list/ContactListItemViewTest.java
d1412303d964b952ac9fce5daa84b1b0f1c3e6d4 29-Nov-2012 Chiao Cheng <chiaocheng@google.com> Cherry picking BitmapUtilTest fix.

Fixed on master in I85268c040498621a324c459ce237a51b30e7d3a4.

Bug: 7633565
Change-Id: I47fe32cdcc3780d42be99283f7b6e42b4e4ab940
ontacts/util/BitmapUtilTests.java
f4fa3d8f4a8609139f05dd96dde3a6a47eb92eb1 12-Nov-2012 Yorke Lee <yorkelee@google.com> Added ability to paste Arabic/Farsi digits into dialer

Bug: 6656969
Change-Id: I9a2c3a8ea5f5df0456c89d3af8b68f96d539dee9
ontacts/dialpad/UnicodeDialerKeyListenerTest.java
de8a66404acd36544e3559404f6542473224aa4a 14-Sep-2012 Marc Blank <mblank@google.com> Allow both AOSP and Google account types for Exchange

* Contacts app had hard-coded the single account type; why do we
have to hard-code these names?

Bug: 7162923
Change-Id: I7ea201fc961e7abc4e44aa138b8cc002fbb6ed33
ontacts/RawContactModifierTests.java
84212b147edcf358746c249ac84827146389567a 10-Aug-2012 Makoto Onuki <omakoto@google.com> PhoneNumberTestService: show truncated number too.

PhoneNumberUtil.truncateTooLongNumber() will truncate a phone number
if it's too long to be valid.

Change-Id: I7d52ebda3330400d1a8d0bc984f0946b6120a801
ontacts/tests/PhoneNumberTestService.java
095e2fae37db361158e89ac0faa0bdfdd9f30b8b 06-Aug-2012 Makoto Onuki <omakoto@google.com> Clean up unused code used to use for....

SEARCH_SUGGESTION_CLICKED and SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED

Bug 6909811

Change-Id: I656e37d4e913742025da79d3e3fe95d3b094e8dc
ontacts/tests/allintents/AllIntentsActivity.java
e58bbc474eb60c403904b19259439fbf181a790e 23-Jul-2012 Chiao Cheng <chiaocheng@google.com> Dedup consecutive call log entries.

- Aggregate missed calls along with incoming and outgoing calls.
- Added SmallTest annotation to unit test.

Change-Id: Icbcf0a113f49f099b6cb2ab5c3da2ab82aa9db4c
ontacts/calllog/CallLogGroupBuilderTest.java
b700cfdd4b17e4b8da5cc5482f802c59ddc35c23 04-Jul-2012 Chiao Cheng <chiaocheng@google.com> Switch libcore.util.Objects to equivalent guava Objects.

Progress towards unbundling.

Change-Id: I941014481d9cd63963e55b268642f68145cdf66b
ontacts/model/account/ExternalAccountTypeTest.java
ontacts/tests/mocks/MockAccountTypeManager.java
c78606d21aed268a48e177d3ae81d06c97d04638 26-Jun-2012 Makoto Onuki <omakoto@google.com> Fix test

Update the snippet color code.

Change-Id: I2f8912016f236e01a5d1eed6417d247892daf4eb
ontacts/list/ContactListItemViewTest.java
851222a96b5d68602fb361ea3527101e893f67e3 21-Jun-2012 Maurice Chu <mochu@google.com> Added thin object layer around contact data

This refactoring abstracts out the need to directly
refer to Contacts database columns throughout the code. Instead,
all of this information is retained in getter/setter methods
within the Contact, RawContact, and DataItem classes and
sub-classes.

ContactLoader.Result class has been pulled to the top level as
the Contact class.

The Entity class has been removed and replaced with a RawContact
class, with getters/setters to raw contact information.
Renamed EntityDelta to RawContactDelta for better understandability
as well as adding getters/setters for specific fields in the
ValuesDelta nested class within EntityDelta. EntityDeltaList
and EntityModifier have been renamed to RawContactDeltaList and
RawContactModifier with the methods using the RawContact class
directly rather than the Entity class.

Data items for a raw contact are represented by a DataItem object
with specialized getters/setters for subclasses of DataItem.
(e.g., EmailDataItem, PhoneDataItem. etc.). DataItem is a wrapper
around ContentValues. This abstracts away the ContactsContract
column fields into getters/setters.

The above refactoring is accompanied with changes throughout the
codebase to use the new Contact, RawContact, and DataItem classes.

Change-Id: I31c1dccd724e9652f9d0af78ca81feb6c5acd71d
ontacts/ContactLoaderTest.java
ontacts/EntityDeltaListTests.java
ontacts/EntityDeltaTests.java
ontacts/EntityModifierTests.java
ontacts/RawContactDeltaListTests.java
ontacts/RawContactDeltaTests.java
ontacts/RawContactModifierTests.java
ontacts/activities/PeopleActivityTest.java
ontacts/detail/ContactDetailFragmentTests.java
ontacts/editor/ContactEditorUtilsTest.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/model/AccountTypeManagerTest.java
ontacts/model/AccountTypeTest.java
ontacts/model/AccountWithDataSetTest.java
ontacts/model/ContactLoaderTest.java
ontacts/model/ExternalAccountTypeTest.java
ontacts/model/account/AccountTypeTest.java
ontacts/model/account/ExternalAccountTypeTest.java
ontacts/tests/mocks/MockAccountTypeManager.java
ontacts/tests/streamitems/StreamItemPopulatorActivity.java
e0b2f1e2d01d1ac52ba207dc7ce76971d853298e 12-Jun-2012 Chiao Cheng <chiaocheng@google.com> Global import order fix.

Changed import order to be in accordance with style guide:
http://source.android.com/source/code-style.html#order-import-statements

Static imports will be placed at the top since most existing files used that
convention. It is also a style that can be handled by both eclipse and intellij.

Change-Id: Ia7013c7a2d88e5fefb8f4975d121f7fcd3fcc462
ontacts/CallDetailActivityTest.java
ontacts/ContactDetailTest.java
ontacts/ContactLoaderTest.java
ontacts/ContactsLaunchPerformance.java
ontacts/EntityDeltaListTests.java
ontacts/EntityDeltaTests.java
ontacts/EntityModifierTests.java
ontacts/PhoneCallDetailsHelperTest.java
ontacts/activities/PeopleActivityTest.java
ontacts/calllog/CallLogAdapterTest.java
ontacts/calllog/CallLogFragmentTest.java
ontacts/calllog/CallLogListItemHelperTest.java
ontacts/detail/ContactDetailDisplayUtilsTest.java
ontacts/detail/ContactDetailFragmentTests.java
ontacts/detail/StreamItemAdapterTest.java
ontacts/editor/ContactEditorUtilsTest.java
ontacts/format/TestTextWithHighlightingFactory.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/interactions/PhoneNumberInteractionTest.java
ontacts/list/ContactListItemViewTest.java
ontacts/model/AccountTypeManagerTest.java
ontacts/model/AccountTypeTest.java
ontacts/model/AccountWithDataSetTest.java
ontacts/model/ExternalAccountTypeTest.java
ontacts/tests/PhoneNumberTestService.java
ontacts/tests/allintents/AllIntentsActivity.java
ontacts/tests/allintents/ResultActivity.java
ontacts/tests/calllog/FillCallLogTestActivity.java
ontacts/tests/mocks/ContactsMockContext.java
ontacts/tests/mocks/MockAccountTypeManager.java
ontacts/tests/mocks/MockContactPhotoManager.java
ontacts/tests/mocks/MockContentProvider.java
ontacts/tests/mocks/MockSharedPreferences.java
ontacts/tests/quickcontact/QuickContactTestsActivity.java
ontacts/tests/streamitems/StreamItemPopulatorActivity.java
ontacts/tests/widget/PinnedHeaderUseCaseActivity.java
ontacts/util/ExpirableCacheTest.java
ontacts/util/FakeAsyncTaskExecutor.java
ontacts/util/HtmlUtilsTest.java
ontacts/util/IntegrationTestUtils.java
ontacts/util/StreamItemEntryBuilder.java
ontacts/voicemail/VoicemailStatusHelperImplTest.java
ontacts/widget/CompositeListAdapterTest.java
3e435f0e724cb3e88efce15f760e59b9bc08f0d3 12-Jun-2012 Chiao Cheng <chiaocheng@google.com> Change usages of com.google.android to com.google.common.

The people app contains usages of both com.google.android and com.google.common.
Changing code to use the later guava library since it will be needed to unbundle
the app in the future.

Change-Id: I2700126e020166ea1bbbd87c40e77428efde41f3
ontacts/EntityDeltaListTests.java
ontacts/EntityDeltaTests.java
ontacts/EntityModifierTests.java
ontacts/calllog/CallLogGroupBuilderTest.java
ontacts/editor/ContactEditorUtilsTest.java
ontacts/model/AccountTypeManagerTest.java
ontacts/tests/allintents/AllIntentsActivity.java
ontacts/tests/mocks/MockAccountTypeManager.java
ontacts/tests/mocks/MockContentProvider.java
ontacts/tests/mocks/MockSharedPreferences.java
ontacts/tests/streamitems/StreamItemPopulatorActivity.java
ontacts/widget/CompositeListAdapterTest.java
45ee872fe7be69c6b3f0c59167eecd11af467812 22-May-2012 Makoto Onuki <omakoto@google.com> Don't send view notification before showing quick contact

Instead, do this in the second load. This directly affects the quick contact
startup time.

Bug 6529921

Change-Id: Ief7bda9bd32cb4be0c86c4b79efb35da812721dc
ontacts/ContactLoaderTest.java
82a4f4408b74e193b43a12dc8e16c946a93bae4a 08-May-2012 Makoto Onuki <omakoto@google.com> Clarify AccountType.resPackageName/summaryResPackageName

Gave them clearer names and added javadoc.

And added a workaround for the fact that the view notification
service for the google account type is implemented in the sync
adapter, not in the authenticator.

This really needs further clean up.

Change-Id: I567656393fab30293c831fac802884dc84daf861
ontacts/model/AccountTypeTest.java
ontacts/model/ExternalAccountTypeTest.java
ac71b5305d49614f5560519509fa41ce9276a3f7 24-Apr-2012 Makoto Onuki <omakoto@google.com> Support adding phone/email to readonly contacts

If the selected contact has no editable raw_contacts, create one on the
first editable account found, and add the data to it.

We'll reuse the "contact is readonly" mode if there's no editable accounts
on the system. We could improve the message, but if there's no editable
accounts we shouldn't show the contact picker in the first place, so I
didn't change the message. Let's fix the picker instead.

Tested:
(Previously supported casses)
- Add a phone number to an existing editable contact.
- Add a phone number to an existing local-only contact.

(Newly supported cases)
- Add a phone number to an existing read-only contact.
- Try to add a phone number to an existing read-only contact, but no
editable accounts are set up.

Bug 5462347

Change-Id: I55db01610cebb60d3830e8ec4ac6bf1a3dfdad88
ontacts/tests/allintents/AllIntentsActivity.java
2c428c743d2c47139c838a8b8fd3a4996e692674 20-Apr-2012 Makoto Onuki <omakoto@google.com> Improve "fill calllog"

New "use random numbers" option allows you to insert random phone numbers,
not the ones already existing in calllog.

Also made some tiny improvements. e.g. better error message, default value, etc.

Change-Id: I9a1488058cfaca6f7602609ad564f42a3c062c02
ontacts/tests/calllog/FillCallLogTestActivity.java
ae48e81b8927e9fc2e7fe90670480284ee62f375 20-Apr-2012 Makoto Onuki <omakoto@google.com> Fix crash in StreamItemEntry.checkDecoded()

This method is meant to check if decodeHtml() was called prior to
getDecodedText() / getDecodedComments() calls.

The logic was flawed because HtmlUtils.fromHtml will return null
for empty strings, so even when decodeHtml() was called and mComments
wasn't null, mDecodedComments may still be null.

Let's just not try to be smart and introduce a new flag for this purpose.

Also changed the test-only constructor to a static method to make sure
it won't get called from the main apk.

Bug 6367860

Change-Id: I9a774e010666bd5a83ef916e817b50052afd325f
ontacts/util/StreamItemEntryBuilder.java
03b1fe5f05dc16877a0c9bcf563824d04ca12187 18-Apr-2012 Makoto Onuki <omakoto@google.com> Merge "Relax phone number collapser"
ac1bc8c58ba9d03ff5a24d1094f663042b7164d9 13-Apr-2012 Makoto Onuki <omakoto@google.com> Relax phone number collapser

The current collapser basically compares two phone numbers for equality
using their normalzied numbers, but this can cause an issue when you have a
readonly contact from a different country who has a local version of their
phone numer in their profile. Even if you have an international version
of their phone number, it may be overwritten on the contacts by the local
vesion.

So let's relax it.

The new collapser merges two numbers only if the "unformatted"
(i.e. ignoring all formatting characters) version of two phone numbers
are the same.

The following numbers will no longer be merged. (All assume the user
is in the US.)
- +81-45-381-0000 and 011-81-45-381-0000
- 1-555-123-4567 and 555-123-4567
- +1-555-123-4567 and 1-555-123-4567

But the following will.
- 555-123-4567 and 5551234567

This affects:
- Contact card
- Phone number disambiguation on the phone app
- Quick contact

The list view on the phone app won't be affected, as it's done in SQL, group-by.

Bug 5779336

Change-Id: I2d1f2fcf8a8d85207383cb05a86f66c17af8acfe
ontacts/ContactDetailTest.java
ontacts/ContactsUtilsTests.java
205a3b6e8a0c3d1ea4843300c722a612b4a572d0 18-Apr-2012 Makoto Onuki <omakoto@google.com> Fix stream item layout and failing tests

Bug 6220226
- Fixed the stream item layout. Put +1/like in the same line as the timestamp.

Bug 6352201
- Fix failing tests

Change-Id: I771a208ba1037c361625a610d25030eb05b4b0a1
ontacts/detail/ContactDetailDisplayUtilsTest.java
ontacts/detail/StreamItemAdapterTest.java
ontacts/format/SpannedTestUtils.java
ontacts/util/StreamItemEntryBuilder.java
2f77c85543e6c497e63cd0e216b70e58c1d13ec3 31-Mar-2012 Daniel Lehmann <lehmannd@google.com> Various refactorings to prepare proper big picture loading

- Added a function to load a picture with ideal sampleSize
- Renamed xmls/java files for tiles
- ContactTileView is now abstract and has subclasses for each use-case
- Added mechanism to estimate the image-size in a tile before layout
- Changed the cross-fade in ContactPhotoManager to apply the fade to the
current picture instead of the default avatar. Reduces flickering

Bug:6202229

Change-Id: Ic8636d1b3349473163fb2424b5f74476fd435fb5
ontacts/tests/mocks/MockContactPhotoManager.java
ontacts/util/BitmapUtilTests.java
da9cdc10fca76c960b43923d7da3abc627655fef 28-Feb-2012 Makoto Onuki <omakoto@google.com> Updates fragment dejunk

- Reuse stream item views. Simplified the view layout for this.
(In this CL we still inflate views, rather than creating them in code.
Even without doing that performance now seems good enough.)

- Decode HTML into CharSequence in ContactLoader
- Removed ContactTileImageContainer and created
LayoutSuppressingImageView and LayoutSuppressingQuickContactBadge

Bug 5982899

Change-Id: I5cbd816a290a50fca9a964b921d934061915aee1
ontacts/detail/ContactDetailDisplayUtilsTest.java
0070e986c3085de912b41a1b14a60ff7d2e76b5c 15-Feb-2012 Makoto Onuki <omakoto@google.com> Fix tests

- Fix testMigratePhoneFromGoogleToExchange

We forgot to update this test when we changed the default phone type
to MOBILE.

Bug 5928504

- Fix NoSuchMethodError

Now that Preconditions.* aren't used in the main source, these are stripped
down by proguard. Don't use them in the test.

Change-Id: Idfeed7e92e4f95c150bcbc797e71b4e5fe9ef68b
ontacts/CallDetailActivityTest.java
ontacts/EntityModifierTests.java
ontacts/util/FakeAsyncTaskExecutor.java
1ce53ffde8023fc1a8531c63b459d294912bccc7 20-Dec-2011 Katherine Kuan <katherinekuan@google.com> Search email and search phone test intents

Bring back support for ACTION_SEARCH_EMAIL and ACTION_SEARCH_PHONE
in the AllIntentsActivity test. It was removed in
Iad3c19262b22fb2345bbff42707e1a4d186c0a62.

Since the code has changed a lot, we no longer have a search activity to
allow search over just emails or just phone numbers. Hence, just
have the People app handle the intent and redirect to a search
with the provided query.

This works aside from this separate bug of the query not
showing up (bug 5790409).

Bug: 5224058
Change-Id: I2cfedbf74a1d59ee3c56d98aec2090302d420c9a
ontacts/tests/allintents/AllIntentsActivity.java
bf012bc4b5b1975ef6dde89be4982afb7d171dc8 07-Dec-2011 Dave Santoro <dsantoro@google.com> Merge "Fix issues with photo selection on Prime."
14d2083c4c4c52b0d8b600a93c294af32cd6a826 03-Dec-2011 Dave Santoro <dsantoro@google.com> Fix issues with photo selection on Prime.

1. Per Marco's request, we no longer expand the photo in landscape
on phone.
2. Passing the full bitmap through the intent appears to be a no-no,
which was exposed in the "black-screen" behavior when clicking on
a default avatar photo on Prime. To handle that, we now retrieve
the photo from the default avatar resource if no URI is specified,
and we retrieve the bitmap for real photos through the photo
manager cache. To ensure performance, I've added a method to the
cache to force caching a given bitmap/byte[] for a photo URI.

Bug 5703659
Bug 5703700

Change-Id: I316f27c7ded575dd1bb00c0bb2e2c75917df1e19
ontacts/tests/mocks/MockContactPhotoManager.java
953dc0c8c95e0b7c3aabcaacea0b6e88d3174462 02-Dec-2011 Makoto Onuki <omakoto@google.com> Add projection support to QueryService

Change-Id: I5f2bf6f1dc9c1568f7790355e855cd5e5b428ebe
ontacts/tests/QueryService.java
fadd5e1f1845b8d98e247bbd30535928dc5e0f81 02-Dec-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use NEW_TASK flag for launching in-call UI

To make Intent creation consistent, prepare relevant methods in
ContactsUtils and use them everywhere.

Bug: 5691827
Change-Id: I41509bfc7d914ba87ab614450b53fc93ce0eba4b
ontacts/interactions/PhoneNumberInteractionTest.java
654888562d75fe4758cb0500f73aaa11385e6f63 30-Nov-2011 Makoto Onuki <omakoto@google.com> Add phone number format tester to test apk

Usage:
adb shell am startservice -e n '6502530000' \
com.android.contacts.tests/.PhoneNumberTestService

This will output the following on logcat.

I/phonenumber(29086): Input phone number: 6502530000
I/phonenumber(29086): Input country code: null
I/phonenumber(29086): Current country code: US
I/phonenumber(29086): Result for: 6502530000 / US
I/phonenumber(29086): formatNumberToE164(6502530000, US) = +16502530000
I/phonenumber(29086): PhoneNumberUtil.format(parse(6502530000, US), E164) = +16502530000 (valid)
I/phonenumber(29086): PhoneNumberUtil.format(parse(6502530000, US), INTERNATIONAL) = +1 650-253-0000 (valid)
I/phonenumber(29086): PhoneNumberUtil.format(parse(6502530000, US), NATIONAL) = (650) 253-0000 (valid)
I/phonenumber(29086): PhoneNumberUtil.format(parse(6502530000, US), RFC3966) = +1-650-253-0000 (valid)
:
:

Also fixed the copyright header for QueryService.java.

Change-Id: If504a803e0001eeafd5928979caa1510ac989282
ontacts/tests/PhoneNumberTestService.java
ontacts/tests/QueryService.java
8e34744e041e3db61aa3544b03594e5b379c946c 30-Nov-2011 Makoto Onuki <omakoto@google.com> Add service to test apk to execute arbitrary query

Use the am command to launch the service.

e.g.
adb shell am startservice -d content://com.android.contacts/directories \
-e s 'accountName is null' -e o '_id' \
com.android.contacts.tests/.QueryService

Result will be dumped on logcat. Example:
contactsquery: URI: content://com.android.contacts/directories
contactsquery: Selection: accountName is null
contactsquery: Result count: 2
contactsquery: authority|accountName|typeResourceId|packageName|_id|shortcutSupport|accountType|displayName|photoSupport|exportSupport
contactsquery: com.android.contacts|*null*|2130968583|com.android.providers.contacts|0|2|*null*|*null*|3|0
contactsquery: com.android.contacts|*null*|2130968584|com.android.providers.contacts|1|2|*null*|*null*|3|0

Change-Id: I0db643519d192f9ca9666026c61acf553a3b8d75
ontacts/tests/QueryService.java
4e1d78577124aac18735990694d976ee9d115b78 23-Nov-2011 Flavio Lerda <flerda@google.com> Correctly format numbers in RTL languages.

When phone numbers are formatted together with text in an RTL language,
the numbers will themselves formatted RTL by default: if they have any
formatting (e.g., +, -, (, ), or spaces), then these will not be
formatted correctly, as they should be shown LTR as a whole. This works
by itself if the number is the only thing shown in a text field (since
phone numbers are always made of characters that are entirely LTR), but
fails if the number is formatted within some translated text.

This commit forces the phone number to always be shown LTR.

Also, make it more explicit that the strict is meant to be used with a
number, since the description and xliff tag contradicted the name of the
string.

Bug: 5429886
Change-Id: Ifd1835ecfa89725ea596d02d9945712c4f351ddf
ontacts/calllog/CallLogFragmentTest.java
0454960b4b9e43b75bbfd0fb296c25d59111a765 23-Nov-2011 Daisuke Miyakawa <dmiyakawa@google.com> Fix test breakage

- Fix broken tests
- Add one test for SIP call in PhoneNumberInteraction.
- Move some tests to the category "small test"

Bug: 5661071
Change-Id: If27295928e1af46e193a462ca4f6c3c5168f893f
ontacts/activities/PeopleActivityTest.java
ontacts/detail/StreamItemAdapterTest.java
ontacts/format/PrefixHighligherTest.java
ontacts/format/SpannedTestUtils.java
ontacts/format/TestTextWithHighlightingFactory.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/interactions/PhoneNumberInteractionTest.java
c89565e1beec2ef986967a6330f1e7b0231a3c53 19-Nov-2011 Flavio Lerda <flerda@google.com> Store contact info using country iso as well.

Currently we are using just the number to store contact information that
we look-up. However, the look-up result depends also on the country in
which the call was placed or received.

This can lead to issues if the result is not the same depending on the
contact. This is particularly problematic in case of upgrades: the call
log will contain a number of entries without a country iso value since
the field was introduced after the Gingerbread release.

Use the country iso both when storing the contact in the in-memory
cache, as well as when updating the cache stored in the call log itself.

Bug: 5638376
Change-Id: I4c77556395147f05c2524d93cc1c800943395b6c
ontacts/calllog/CallLogAdapterTest.java
ontacts/calllog/CallLogFragmentTest.java
b5a6a925e44225748c915672ff9e2120164af657 04-Nov-2011 Flavio Lerda <flerda@google.com> Fix test for selecting an account.

The AllIntentsActivity cannot use the classes from the application under
test. Therefore, we cannot use the AccountTypeManager and related
classes.

Since for the purpose of testing whether the People app can handle a
specific intent, we do not to replicate the entire set of functionality
in the test app as it is in the SelectAccountDialogFragment in the
People app itself. Instead, use a simplified version, which just queries
the account manager.

Bug: 5571116
Change-Id: I4b07889887139c5f46a973a6f92e7cf5458b17e7
ontacts/tests/allintents/AllIntentsActivity.java
ontacts/tests/allintents/SelectAccountDialogFragment.java
f8ce15cc8a76ff536e1b5b19163589176adde58f 03-Nov-2011 Makoto Onuki <omakoto@google.com> Fix bug 5563362: failed to initialize external account type

The contacts.xml parser has had a bug that it processes each ContactsDataKind
tag twice,for START_TAG and for END_TAG.

When processing for END_TAG, because an end tag doesn't have attributes
it created an empty DataKind, with null mimetype. (This bug existed even
before the EditSchema change, meaning MR0 still has this issue.)

Before MR1 this null mimetype was just not used anywhere, so it was okay.
But in MR1 we have the duplicate mimetype check, and it will complain
if a contacts.xml has more than one ContactsDataKind therefore has multiple
"null" mimetype definitions.

Made sure to only process for START_TAG. Also cleaned up existing code
with a similar check.

Also included the package name in the error message for duplicated mimetypes.

Bug 5563362

Change-Id: Ib68fb0dca03784c4d7976ac8bf68b1dce5305b03
ontacts/model/ExternalAccountTypeTest.java
c641e62225a253373c08cdd9e3144df090162b60 08-Nov-2011 Makoto Onuki <omakoto@google.com> EditSchema: add mandatory check for "name" and "photo".

- The editor works fine without other fields.
- Also added test for missing supports* attributes for the name kind.
(for now, all the support* attributes must be true. Otherwise the
editor may not work properly.)
- Also fixed the default value for the support* attributes, which was
mistakenly set to true.

Bug 5578679

Change-Id: Iec5412feb3aa671b64f74d850ccf67daaa87c88e
ontacts/model/ExternalAccountTypeTest.java
ed90ea54323f212d87b27b04d7d627192afa6665 31-Oct-2011 Daisuke Miyakawa <dmiyakawa@google.com> Stop using DisplayNameFormatter and reduce a query column

setDisplayName()'s 3rd param "highlightingEnabled" never becomes
true in the current implementation and thus using the entire class
seems less meaningful. After removing the formatter class, we can be
sure one of primary and alternative name column won't be needed and
can be conditionally removed.

Per the observation above, this change removes the column for Phone
UI. Note that this does *not* optimize People side yet, since it has
quite different and more complicated configuration there.

Other fixes:
- replace getMarqueeText() with setMarqueeText(), since the former
implicitly requires unconditional "new String()", while the latter
doesn't.
- Use SpannableString instead of SpannableStringBuilder. Our prefix
highlighter is already using SpannableString, and we can expect
less GC by using exactly same classes for constructing spanned
CharSequence.
- Group query constants like I5ad0876ce469fbf86334e3f77b15cd240d9f761b
for cleaning our code and make it more consistent.
-- Legacy adapters aren't modified since they are legacy anyway. We
probably don't want to touch those files as much as possible.

TESTED:
- Phone UI and People UI work with display/sort order changes
- "(No name)" is shown correctly (mUnknownNameText is working)
- Prefix highlighting works correctly (in search screens)
- Pickers work with sort order change (primary/alternative)
- no performance regression at least (no visible performance improve
will occur)

Bug: 5550672
Change-Id: Ie69b74bbabcc7211cf2b107c93980172da2d744e
ontacts/format/DisplayNameFormatterTest.java
ontacts/list/ContactListItemViewTest.java
4885a0250ad6720450c9809814b851b7039f5e17 26-Oct-2011 Flavio Lerda <flerda@google.com> Use a plain String instead of CharArrayBuffer.

The code used to use CharArrayBuffer to store the numbers as they are
being processed. However, AbstractCursor.copyToCharArrayBuffer()
actually calls AbstractCursor.getString() and we actually instantiate a
new String when comparing the phone numbers: we might as well call
Cursor.getString() directly and avoid creating two new String objects
each time we need to compare numbers.

Empirically, this seems to reduce the run time of the addGroups()
method.

Bug: 5290401

Change-Id: I397a9e6a14657ce261f8b8c11e607b13083bdef1
ontacts/calllog/CallLogGroupBuilderTest.java
5c357cdc621aa2b59c4c9b9969540af88fe15277 27-Oct-2011 Flavio Lerda <flerda@google.com> Merge "Correctly match SIP addresses." into ics-mr1
b48d3775aa1166411e3560ea1772c43d83dc0d67 26-Oct-2011 Flavio Lerda <flerda@google.com> Fix tests.

Follow-up on c81b1e298b86fa65d338caddf94fb4f4df8b2f49.

The commit above removed the title entry from the stream items. This
commit also updates the corresponding test.

Bug: 5517874
Change-Id: I916ef8c1a7ad1f4048d32ad18b22b6a0767cb05c
ontacts/detail/StreamItemAdapterTest.java
ffa8963f6d5d0fd672c11dea2c2d16048da36577 21-Oct-2011 Flavio Lerda <flerda@google.com> Correctly match SIP addresses.

When grouping items in the call log, we were using the function to
compare phone numbers. However, this strips all non-numeric characters,
which means that all SIP addresses without a number in them will match.

Instead, SIP addresses are defined to match only if they are identical.

Bug: 5483719
Bug: 5390325
Change-Id: Ic6f1d55ccbd433cc6062ca803fcfd88ae4f68a8a
ontacts/calllog/CallLogGroupBuilderTest.java
1c6f3817e9e889664d143ed5ea5147aca595dd21 18-Oct-2011 Flavio Lerda <flerda@google.com> Remove CallLogActivity.

CallLogActivity was only used by tests. Instead, extend
FragmentTestActivity to handle loading of an arbitrary fragment into it,
so that we can test the CallLogFragment within it.

So far, FragmentTestActivity was only used with a UI-less fragment,
which therefore did not need a placeholder for the fragment.

Bug: 5286366
Change-Id: I939d6fb212621345b8a1ba4ec1a3b1c56909ce50
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogFragmentTest.java
86ccb6ce2ff6078b06add93aab489951ef83bc72 19-Oct-2011 Makoto Onuki <omakoto@google.com> Follow up to EditSchema parser

- Now AccountType.addKind() throws DefinitionException instead of just logging.

- Now the test contacts.xml (= test_basic_contacts.xml) defines "event" and
"relationship" DataKinds too. BUA should be able to copy this file.

- Added another xml, contacts_fallback.xml, to the test apk.
This defines what's equivalent to the fallback type. Unittests load this file
directly and compares the result to the fallback account type.

- Cleaned up existing account definitions in order to make sure
contacts_fallback.xml is really identical to the fallback type. This includes:

** Now structured name, display name, phonetic name, and phone DataKinds
all have 'kind.typeOverallMax = 1'.

** The "assistant" phone type is no longer a custom column. It's only used for
the fallback type and I don't think it's too critical.

- Also, NameKindBuilder no longer re-order phonetic fields, because no
other account types do this. In the previous CL I did it because I thought
that'd be more "correct", but on the second thought it's probably not a good
idea to make too many non-critical changes at this point.

Bug 5381810

Change-Id: Ie6a4eb3b876ab22a3dcdb6a9c278e387f8166125
ontacts/EntityModifierTests.java
ontacts/model/ExternalAccountTypeTest.java
d25f31898f887bedceabd0ccac45fa61c64485af 19-Oct-2011 Makoto Onuki <omakoto@google.com> Merge "EditSchema parser for ExternalAccountType"
dcf751d75ad5d31620a4216d8c53fd59525e8bd8 18-Oct-2011 Makoto Onuki <omakoto@google.com> EditSchema parser for ExternalAccountType

This also includes:
- Removed getHeaderColor/getSideBarColor from AccountType

- Implemented a test authenticator/sync adapter in the test apk.
This defines a test account type "com.android.contacts.tests.authtest.basic".
We could potentially add more account types to the test apk to test different
edit schema variations, but at this point this is impossible, as
ExternalAccountType doesn't have a way to tell which contacts.xml belongs
to which account type. The current contacts.xml defined here builds
the fallback account type equivalent.

The sync adapter is pretty rudimentary; it doesn't clear the isDirty flag
on modified raw contacts or delete raw contacts with isDeleted set. At
this point this doesn't seem to be necessary to test EditSchema.

Note:
For now it's still not meant to be public API. Right now it's only manually
tested with the edit schema defition in the test apk described above.

Bug 5381810

Change-Id: Ifefdb969b4e08775125924b1366d24effc4db2f2
ontacts/EntityModifierTests.java
ontacts/editor/ContactEditorUtilsTest.java
ontacts/model/AccountTypeManagerTest.java
ontacts/model/AccountTypeTest.java
ontacts/model/ExternalAccountTypeTest.java
ontacts/tests/testauth/TestAuthenticationService.java
ontacts/tests/testauth/TestAuthenticator.java
ontacts/tests/testauth/TestSyncAdapter.java
ontacts/tests/testauth/TestSyncService.java
ontacts/tests/testauth/TestauthConstants.java
0646f2712e8b4a5ada51bd586d5f179d38a304c5 17-Oct-2011 Flavio Lerda <flerda@google.com> Use framework API to match voicemail number.

We were tracking the voicemail number within the application. This has
two shortcomings: it would not be updated automatically when its value
changes and the matching against it was only based on it being
identical, without taking into account other possible formatting
differences.

Switch to use PhoneNumberUtils.isVoiceMailNumber() instead, which is
what the Phone app is also using.

Bug: 5435925
Bug: 5416495
Change-Id: Ie56363c578cf5f6102fd6880ffce14f608ddaf0b
ontacts/PhoneCallDetailsHelperTest.java
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogAdapterTest.java
ontacts/calllog/CallLogListItemHelperTest.java
ontacts/calllog/TestPhoneNumberHelper.java
08bcf715d5ea7f07ce18a282d9850ac70552ca9d 09-Oct-2011 Katherine Kuan <katherinekuan@google.com> Only show "add connection" button if relevant

- We don't want to present the user with the "add connection"
button if the user doesn't use the account that provides the
service

- Check if app contributing the account type is disabled or not

- Check if there is an activity to handle the "add connection"
intent

- Check if there are raw contacts in the database with that
account type

- Store this in a cache, and refresh it after a certain
period of time (i.e. 1 second) using an AsyncTask.
This is to prevent computing the list each time the contact
is loaded (which can happen many times especially when looking
at a detail page during a sync).

- Make sure public AccountTypeManager methods
first check ensureAccountsLoaded()

Bug: 5398529
Change-Id: I004f9562a587035a3168aaddb6eb43710fd201e6
ontacts/model/AccountTypeManagerTest.java
ontacts/tests/mocks/MockAccountTypeManager.java
76821d02351701b3829aa5754dd9a86e417f635f 10-Oct-2011 Flavio Lerda <flerda@google.com> Only show recent items in the new section.

This commit limits the set of items in the new section to items that
have been receiving within the last 7 days.

In order to make the unread items more visible even when they are not in
the new section, use highlighting on them, both in the text and the play
icon.

Bug: 5403047
Change-Id: I577c58bfcb9ef2031839092d50f41c357c7decba
ontacts/calllog/CallLogQueryTestUtils.java
05cca02b77521db4a0c9e84f9cd5e0b6e8ccf09c 09-Oct-2011 Flavio Lerda <flerda@google.com> Merge "Share contact look up between call log and call details."
50a27b70581b0191995969c63edd1f6a3db3d1b7 07-Oct-2011 Makoto Onuki <omakoto@google.com> Clean up account definition

Removed:
- DataKind.isList. Use typeOverallMax = 1 instead
- DataKind.textAppearanceResourceId. Always use medium
- EditField.isFullName. Wasn't used.

Bug 5381810

Change-Id: I5ff109c075a5edb80ff97737432c78589570a1ea
ontacts/EntityModifierTests.java
ee05dcdd4b066ad909322c10919fb1812214673b 06-Oct-2011 Katherine Kuan <katherinekuan@google.com> Cleanup of chat capability icon and primary icon in DataKind

- Add content description to chat capability icon for
accessibility

- Remove primary icon from DataKind because we don't display
it anymore in the UI (it's an unused field since we only
display secondary action icons now)

Bug: 5416674
Change-Id: I6587dd9186af68b0e794d3e73cbc3dad9fdac332
ontacts/EntityModifierTests.java
131e6ac666868645b48ae6932575d85751ff57c0 05-Oct-2011 Makoto Onuki <omakoto@google.com> Ensure not to use "local" account when there are accounts

Bug 5409438

Change-Id: I30e72bb686ed0ccbd9c7c42d4331c4ce418efdc4
ontacts/editor/ContactEditorUtilsTest.java
731f861593f3de69e8b3070b46e589cab42341f9 07-Oct-2011 Flavio Lerda <flerda@google.com> Share contact look up between call log and call details.

Currently, it is possible to get a contact be correctly identified in
the call log, but not in the details, because the logic to do the
look-up are completely separate.

For example, SIP contacts are correctly looked up by the call log, but
not by the details. Moreover, we recently fixed a few bugs in the logic
for looking up contacts in the call log, that have not been propagated
to the call details because the code is independent.

This commit moves the whole logic of looking up a contact given a number
(which may be a SIP number) from the CallLogAdapter into its own class.
Then, CallDetailActivity can use that to look up the contact in a way
that is guaranteed to yield the same result.

Bug: 5415134
Change-Id: I73acc39ba5dc65ecce6861f210224304fd91822d
ontacts/calllog/CallLogAdapterTest.java
74628686391735dac1b13409e7f61e9f1514ea20 06-Oct-2011 Flavio Lerda <flerda@google.com> Remove strict mode violation with number formatting.

The call log is currently performing formatting on phone numbers in the
main thread (during bind view).

At the same time, however, we are always doing a background request to
look-up the contacts. Move the formatting call to the background thread.

In order for the right information to be shown as soon as the call log
is opened, we also need to store this information in our cached values
in the database. This means that the number will show unformatted the
very first time, and then updated once the background require is
completed.

Bug: 5316982
Change-Id: I20d1971948afa33c7825f0bd38a9520021f75378
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogAdapterTest.java
ontacts/calllog/CallLogQueryTestUtils.java
55e30c7a0feb8fe533b489c6c053454bfb2eb155 05-Oct-2011 Flavio Lerda <flerda@google.com> Revert "Remove strict mode violation with number formatting."

This reverts commit bbe62216b5163ec53eb990218bdbe608631dd8e7

Broke the build.
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogAdapterTest.java
ontacts/calllog/CallLogQueryTestUtils.java
bbe62216b5163ec53eb990218bdbe608631dd8e7 28-Sep-2011 Flavio Lerda <flerda@google.com> Remove strict mode violation with number formatting.

The call log is currently performing formatting on phone numbers in the
main thread (during bind view).

At the same time, however, we are always doing a background request to
look-up the contacts. Move the formatting call to the background thread.

In order for the right information to be shown as soon as the call log
is opened, we also need to store this information in our cached values
in the database. This means that the number will show unformatted the
very first time, and then updated once the background require is
completed.

Bug: 5316982
Change-Id: If1e4990243e73af6c9519fbf5e76a5d234e99e15
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogAdapterTest.java
ontacts/calllog/CallLogQueryTestUtils.java
fbb876392608a36ec1d23704f29d8b46d5d23991 01-Oct-2011 Daniel Lehmann <lehmannd@google.com> Add missing copyright headers

Bug:5399509
Change-Id: Iba658e35cd0bf71a9320037ddb80257003f780c7
ontacts/ContactDetailTest.java
2e13dae8f2b52441b3eef947e1207fcc67e26975 29-Sep-2011 Daniel Lehmann <lehmannd@google.com> Merge "Allow sync adapter to rename the "View Updates" button"
d7dfdee089842b5c8cf65f9d4251fb428ad79aa2 29-Sep-2011 Daniel Lehmann <lehmannd@google.com> Allow sync adapter to rename the "View Updates" button

Bug:5382678
Change-Id: Id848c018788d31927b27863ea86d45159aa31040
ontacts/model/AccountTypeTest.java
c5b1675be47a9e3b9fe3cc4402e000fdee8a85c3 28-Sep-2011 Makoto Onuki <omakoto@google.com> Merge "Remove extra line in status updates"
3ab9a63014a2d5e097d221b424d6d4809295abd0 27-Sep-2011 Makoto Onuki <omakoto@google.com> Remove extra line in status updates

- Remove trailing newlines in status updates
(i.e. reshared posts have HTML block quote
tags which get turned into 2 new lines)

Couldn't find a trim() utility method in
Spanned, SpannableStringBuilder, TextUtils, or
CharSequence - it only exists in String, but converting
to a String would cause loss of span info. Instead,
we iterate to look for new line characters manually.

- Hide stream item text views if there is no text
(i.e. prevent an extra new line when there is only an
image and attribution)

- Padding fix in contact editor

Bug: 5279541
Change-Id: Ia1b77da74b18371b022d49720ab42a7b234ba331
ontacts/util/HtmlUtilsTest.java
6f74c0f3313cbb08ee8a8fbb79bfefc5b03fe215 27-Sep-2011 Makoto Onuki <omakoto@google.com> Fix account list for group editing (for master)

- Don't use contact writable account list to populate the
account picker when creating new groups, instead check for
isGroupMembershipEditable() on the account type

- Repeat the same for determining whether the "new group"
button should appear in the PeopleActivity or not

Bug: 5360120
Change-Id: Ifd2fd1cf4ea7bf02d4dcba3e9c023bd7041fab83
Original-Id: Ia1ec62eff3fe4fd5b495548218c58f238ff49788
ontacts/tests/mocks/MockAccountTypeManager.java
a2aaa65357cf088ae25a9d58a4dba976ff904451 26-Sep-2011 Makoto Onuki <omakoto@google.com> am 64d95bae: Merge "Utility methods for new contact editor flow" into ics-factoryrom

* commit '64d95bae817be522e576ece311fa17d88a4c627c':
Utility methods for new contact editor flow
ad5910cd92694ad56d4431a0edde7f685de835c6 26-Sep-2011 Makoto Onuki <omakoto@google.com> Merge "Don't use avater as stream photo placeholder"
558669dab4109afebd19eade1f95a396215fb44d 23-Sep-2011 Makoto Onuki <omakoto@google.com> Utility methods for new contact editor flow

- shouldShowAccountChangedNotification() to see if we need to show the dialog.

- saveDefaultAndAllAccounts() should be called when saving a newly created
contact, with the account used to save it. This saves all writable accounts
and the default accounts to the preferences.

- getDefaultAccount() to get the default account.

- createAddWritableAccontIntent() to launch the account setup wizard.
- getCreatedAccount() to interpret the result from the wizard.

- Also implemented Parcelable for AccountWithDataSet, so now it can be
put in a Bundle.

Bug 5355671

Change-Id: Ifb86c931b43fa307b65756cf24cbef4350374c67
ontacts/editor/ContactEditorUtilsTest.java
ontacts/model/AccountWithDataSetTest.java
ontacts/tests/mocks/MockAccountTypeManager.java
3d3a15c465b0c4105148458307a7b50e9b267fd0 22-Sep-2011 Makoto Onuki <omakoto@google.com> Don't use avater as stream photo placeholder

Bug 5230226

Change-Id: I084676f2322c4071b938f3925471f3128cb6f10d
ontacts/tests/mocks/MockContactPhotoManager.java
64593b9772fccbbd0f4154dabc830e6f9b154dec 22-Sep-2011 Daniel Lehmann <lehmannd@google.com> am 96e87fd6: Use existence of editor as indicator whether source is editable.

* commit '96e87fd6e808e9d853263ffeb5104f3253a18639':
Use existence of editor as indicator whether source is editable.
96e87fd6e808e9d853263ffeb5104f3253a18639 21-Sep-2011 Daniel Lehmann <lehmannd@google.com> Use existence of editor as indicator whether source is editable.

Bug:3093621

Change-Id: I3ba344667ce1b0f2da6847d783c0ac90f36ebd8f
ontacts/ContactLoaderTest.java
ontacts/EntityModifierTests.java
ontacts/activities/PeopleActivityTest.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/model/AccountTypeManagerTest.java
ontacts/model/AccountTypeTest.java
01a9fac7bd963d29c607cb17d579b68a71aa8854 16-Sep-2011 Dave Santoro <dsantoro@google.com> Fix phone number comparison in Phone Favorites.

This switches to using ContactsUtils.shouldCollapse for determining
whether we should combine the two numbers.

Bug 5294289

Change-Id: Id1ec369cfe698b52186ff392255d789458622e9d
ontacts/ContactsUtilsTests.java
ecfc26c3f9495f1a4efed69a1582ff2b0deb2c71 13-Sep-2011 Daniel Lehmann <lehmannd@google.com> New avatars

Bug:5074147

Change-Id: I583d22c63a7b617567c523efeed292ae1e2be7e4
ontacts/tests/mocks/MockContactPhotoManager.java
e86b753ca40e1db03f97f82ba218b7c236584acb 08-Sep-2011 Hugo Hudson <hugohudson@google.com> Fixing up the tests.

- Recent change b35ab01 changed the prefix highlight colour but didn't
update the test. This fixes the test.
- ContactUtils.areObjectsEqual() method is no longer in use, so was being
removed by Proguard, causing the test to fail. The method may be useful
in the future, annotated it with @NeededForTesting.
- Some setTextWithHighlightingFactory... methods in both
DisplayNameFormatter and ContactListItemView were not being used any
longer, only by the unit tests that tested them. Proguard was therefore
removing them, causing the tests to fail.

Change-Id: I8e52a6d4dc7eac398777897b38cad4ef44d4fa7d
ontacts/format/DisplayNameFormatterTest.java
ontacts/list/ContactListItemViewTest.java
be7a9d511eed5a549226b2e1bc2ebd6f65018c4c 06-Sep-2011 Katherine Kuan <katherinekuan@google.com> Pixel perfect phone landscape contact card

- Make contact photo larger

- Detect the difference between stream item updates with text only versus
with text + photos --> In order to add padding between images + text without
affecting the other cases

- Make tabs in tab carousel have the right initial alpha value

- Add some constants for the maxLine values in ContactDetailFragment

- Make HtmlUtils not crash with NPE if the streamItem.getText() is null.

Bug: 5254628
Change-Id: I858b4cbfac13fe2105159cf13a4bc6b64442745e
ontacts/detail/ContactDetailDisplayUtilsTest.java
775741dd4a90d6727c2d7a08c38b90376513bcad 07-Sep-2011 Daniel Lehmann <lehmannd@google.com> Merge "Fix the aggregation of exact matches where string equality is not given"
dabe1234137b8edb472421d5afdc7b657f148142 07-Sep-2011 Daniel Lehmann <lehmannd@google.com> Fix the aggregation of exact matches where string equality is not given

Also added some more unit tests to make sure we are calling into the
library

Bug:5250277
Change-Id: I99ae7475ec08b10ed24f5184ca6f38884bc96dbc
ontacts/ContactsUtilsTests.java
c071dc49418588dc01b987d291ee45dbe41c3d82 06-Sep-2011 Flavio Lerda <flerda@google.com> Maintain the current view (voicemail only or all calls) on updates.

When the underlying content provider content changes, keep the same view
(voicemail only or all calls) as the one the user is looking at.

The underlying data may change because we updated some of the cached
columns, which currently causes the view to be updated for what seems to
the user no valid reason.

The only events we want to be sure to communicate to the user are new
voicemail and missed calls, but the notification bar takes care of those
cases, and if the application is currently open, we will refresh the
content anyway when resumed.

Bug: 5247042
Change-Id: I6db0a980aaafed5990f8e84bf4a9a1d0f44efb36
ontacts/calllog/CallLogAdapterTest.java
6af176fa4156446c8522642575fc7c2f98c39e74 05-Sep-2011 Flavio Lerda <flerda@google.com> Remove unheard icon next to voicemail.

Since unheard voicemails are anyway in the top "New" section, there is no
need to have the extra icon.

Moreover, this means we do not have two similar looking icons next to
each other, which make the iconography harder to understand: one meant
"unheard message", the other meant "press to play".

Bug: 5254001
Change-Id: Ie0e40a87435442a0f829c544d83ad24bd6fb7f17
ontacts/calllog/CallLogListItemHelperTest.java
d5678d3c22b7ab82b3840000704ce10162534d5d 28-Aug-2011 Flavio Lerda <flerda@google.com> Use "Add to contacts" as header for unknown numbers.

Instead of repeating the number twice (in the header and in the
underlying call button), use the string "Add to contacts" instead, which
better represents the action performed by the header when clicked.

Bug: 5205326
Change-Id: I568373db2bbbd0ab7d5645a70eb25fbd577dca1e
ontacts/PhoneCallDetailsHelperTest.java
bc2497a8afc5587098b2f6c50b4fc422235ee33c 28-Aug-2011 Flavio Lerda <flerda@google.com> Fix intents in test activity.

The activity class names were relative to the package of the APK, but
they need to be full names instead.

Bug: 5219693
Change-Id: Idcb5cdd559dd581352c405a9ce7ac133b009be4c
ontacts/tests/allintents/AllIntentsActivity.java
c27cd7be5905ac4c7019e409eb3009a264f7853e 26-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Use the call log to cache additional contact information."
8aeccf6618888aa52f1ba4ad0c7e876f75f6776d 26-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Update tests."
b1b1f34968ceacb7880141a16130ce564223f263 26-Aug-2011 Daisuke Miyakawa <dmiyakawa@google.com> Merge "Make the app accept Contacts.CONTENT_URI without id"
f0c4681ee4191e47103f8699dd1bf9cf7fc8b669 24-Aug-2011 Daisuke Miyakawa <dmiyakawa@google.com> Make the app accept Contacts.CONTENT_URI without id

Contacts.CONTENT_URI without id is used when external
apps want the Contacts app to show all contacts screen.
The behavior has existed since GB.

Also modifies ContactsIntentResolver (which was new in HC) so
that it treat the intent as ALL_CONTACTS action.

Adding a simple test case for Contacts.CONTENT_URI without id.

TESTED:
- phone, tablet
- launch the app
- launch the app via quick contact
- launch the app via the other app relying on Contacts.CONTENT_URI
without id
- check this modification won't break the other intents shown
by our all intents test.

Bug: 5184700
Change-Id: Icd98c6001d379db91f438a0b15a499d922f4a22d
ontacts/tests/allintents/AllIntentsActivity.java
e7cfad34a0c60120e3a2bc55800889dc474e71f0 25-Aug-2011 Makoto Onuki <omakoto@google.com> Merge "Two fixes for custom filter activity."
4813c270af2b5d904437757807541f1f5e19bb93 19-Aug-2011 Flavio Lerda <flerda@google.com> Use the call log to cache additional contact information.

The new version of the call log needs a bit more information about the
matching contact (if any) to render its entries.

This change both uses the newly added columns in the call log to lookup
this values and stores the updated values back into the call log.

These values are used for setting up the quick contact badge and
formatting the phone number.

This also fixes a few smaller issues:
- the phone number shown used to change format between the initially set
value to the one obtained from the contact: this value is now cached.
- we were using -1 as the id of a non-existing contact, but 0 is
actually the value used elsewhere for this, so stick to that.
- make sure we use the cached value from the call log for formatting.
- update the call log if there was no previous value.
- introduce a UriUtils with a couple of useful functions for handling
URIs.

Bug: 5101753
Change-Id: I22f2b03b234da91e02dbeebe11a94c2f56295a3d
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogQueryTestUtils.java
f4bc10a7328e37e727c4643c9f69092cd45b5ece 25-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Fix tests that require the screen to be on."
cea3c9146a81959d0317b5dba13ac909a226ce7a 25-Aug-2011 Flavio Lerda <flerda@google.com> Fix tests that require the screen to be on.

Acquire the wake lock as the tests needs the screen to be on.
Previously the test blocked until I pressed the power button on the
device, unless the device was already on or set to keep the screen on
while plugged in.

Change-Id: I61ccbcc1b18bb954128c832b67efddd23dae5f08
ontacts/list/ContactListItemViewTest.java
fdf72f6d7685c2769a5fbdca8ab7bb60cfb5cff5 25-Aug-2011 Flavio Lerda <flerda@google.com> Update tests.

Header and title are not added to an empty StreamItemAdapter.

Change-Id: I45d7a2a13a1df06d719c6de0502e3678b1901db2
ontacts/detail/StreamItemAdapterTest.java
c06f21bd72611b335f4d34586f656225fb02f0fb 24-Aug-2011 Hugo Hudson <hugohudson@google.com> When we leave the voicemail activity, stop playback.

- On pause is propagated through to the VoicemailPlaybackPresenter.
- We use this to stop playback.
- Added a test used when working with this, but suppressed it because
I can't find a simple-enough way of checking that the audio has
stopped.
- Adds the ability to test the CallDetailActivity with a real voicemail.
- Fixes to the FakeAsyncTaskExecutor that Flavio and I have already
discussed - fixes that make the onPreExecute() method work correctly
(i.e. get invoked immediately on the thread that calls submit() on the
executor, rather than on the same thread that calls run... from the
test, which is a poor simulation and also illegal).

Bug: 5206675
Change-Id: I3f96c438dc6bbc1413a40b7bb2306ceb413f14a8
ontacts/CallDetailActivityTest.java
ontacts/util/FakeAsyncTaskExecutor.java
ontacts/util/IntegrationTestUtils.java
3ae114e72617f2faea281d82f7f4ee026d8c5674 25-Aug-2011 Makoto Onuki <omakoto@google.com> Two fixes for custom filter activity.

- Filter out extension accounts with no data.

- Added a couple of convenient methods to AccountTypeManager.

Bug 5160471

Change-Id: Ie6afbfc97927074ec0b57226576e4734bafa5732
ontacts/tests/mocks/MockAccountTypeManager.java
e7d15fb4bacfe85e175aa8012f9af8d41a2cfa15 25-Aug-2011 Makoto Onuki <omakoto@google.com> Disable PeopleActivityTest

This test is pretty outdated.

Bug 5193806

Change-Id: I40a72ed73d577c5e441a93fba32bf3647bbfbc0e
ontacts/activities/PeopleActivityTest.java
2bc0f567b9df8ea4cbfaa84b873e4fb0061fcaab 24-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Use photo id when available."
5ee899e689a8ddcc500655f24b0bcdfdbf401702 23-Aug-2011 Flavio Lerda <flerda@google.com> Use photo id when available.

Photo id is a long that uniquely identifies a photo associated with a
contact. It only handles low-res photos, but that's what's used in the
call log anyway.

This commit uses photo ids instead of thumbnail URIs if the photo id is
available, since that's more efficient for storage purposes. In fact, if
a photo id is available it does not even bother storing the URI.

This will make a significant difference in terms of storage when I will
use the call log table to store cached contact information, including
the photo id and thumbnail URI.

Bug: 5101753
Change-Id: Ia60e3ce33763fe3744208763befbaf4489d60bdd
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogAdapterTest.java
69aa5899ef42c0ca18b52d638d82ca019b168935 23-Aug-2011 Makoto Onuki <omakoto@google.com> Merge "Propagate original exception when throwing load exception"
071aa0d0511cbffac933539eaa484860fae2132d 22-Aug-2011 Flavio Lerda <flerda@google.com> Use Contact URIs instead of contact ids.

Contact ids are not guaranteed to be stable.

Instead use a contact URI (which contains both a lookup key and a
contact id, used only as a hint).

This change is needed for caching, since we do not what to cache the
unstable contact ids.

Bug: 5101753
Change-Id: I34814c8935e706ee898adcedc39c4baeea147d67
ontacts/PhoneCallDetailsHelperTest.java
ontacts/activities/CallLogActivityTests.java
9e7b5da669fcf92a6a627fb720749e5cb627684a 23-Aug-2011 Makoto Onuki <omakoto@google.com> Propagate original exception when throwing load exception

Bug 5198078

Change-Id: I941dc9b96d6c58eb1912d446c3c27ec4c4c2ffef
ontacts/ContactLoaderTest.java
9c747ac625d212a10176082fba6b087035f5d144 17-Aug-2011 Hugo Hudson <hugohudson@google.com> Fix up the unit tests for the CallDetailActivity.

- We've recently moved lots of code to use AsyncTask to avoid strict mode
violations.
- Thanks to the new BackgroundTaskService, these weren't being executed,
and the tests were failing. But simply executing them is not a fix,
we want much finer grained control over what executes when, so we
can assert about different states of the ui.
- This cl introduces the concept of an identifier to go with the submitted
task, so that you can uniquely identify tasks from the test.

Additionally, on further reflection, adding a new interface BackgroundTask
wasn't necessarily a great idea. Nor was calling the thing that submits them a
Service - that name is already overloaded to mean something else in Android.

Therefore this cl makes a number of other style changes to the pattern:

- The BackgroundTaskService just becomes an interface AsyncTaskExecutor, with a
single submit() method, in a very similar fashion to the Executor pattern in
java.util.concurrent.
- We introduce the AsyncTaskExecutors class, which may be used to create
AsyncTaskExecutor objects, and also introduces a seam for injecting fake
executors for testing.
- This cl introduces a FakeAsyncTaskExecutor, which can be used to inspect the
tasks that have been submitted, as well as being used to execute them in a
controlled manner between assertions.
- This is now being used to control the flow of voicemail fetching from
the unit tests, and make sure that the recently implemented logic to
read has content, move to buffering state, then move to preparing,
is all working correctly.
- Later this will also be used to exhaustively test all the other
situations we care about.

Change-Id: Ia75df4996f9a5168db8d9f39560b62ccf4b98b46
ontacts/CallDetailActivityTest.java
ontacts/util/FakeAsyncTaskExecutor.java
ontacts/util/FakeBackgroundTaskService.java
f78a59076ab7700f0f7482d9935763dcab235563 14-Aug-2011 Flavio Lerda <flerda@google.com> Update the call log contact info cache.

Now that we use the call log cache again, we should also update it when
we find more up-to-date information when looking up in the contacts
database.

Bug: 5101753
Change-Id: I408c1d5c8ec3752d5c15e761274eb06fb9242de6
ontacts/calllog/CallLogAdapterTest.java
ontacts/calllog/CallLogQueryTestUtils.java
e39934d51f6ad5ea173551d06beacacb5c3b2555 19-Aug-2011 Daniel Lehmann <lehmannd@google.com> Merge "Use correct style for GTalk-IM; fixes the height of the secondary icon"
cbc819134526286093eb6833385851e4d08fb2c2 19-Aug-2011 Daniel Lehmann <lehmannd@google.com> Use correct style for GTalk-IM; fixes the height of the secondary icon

Bug:5061964
Change-Id: If1e72eb0e85136747225424d204530bae28744bd
ontacts/detail/ContactDetailFragmentTests.java
f748d59e8a31f8c9d054fd11deb9b70250387dab 19-Aug-2011 Makoto Onuki <omakoto@google.com> Launch viewStreamItemPhotoActivity when photo is tapped...

on stream item list, if the account type supports it.

If the account type doesn't support it, tap of photos launches
viewStreamItemActivity as before.

Bug 5185880

Change-Id: I0b43da3e966ee7737937b2dde7a97e4c440d00dc
ontacts/detail/StreamItemAdapterTest.java
6ad227f990265254864a04d3289292ca42330c71 15-Aug-2011 Makoto Onuki <omakoto@google.com> Friend intent: Proper support for dataSet

- Introduce AccountTypeWithDataSet to encapsulate accountType + dataSet
and use it instead of the "account type + '/' + dataset" string,
for better type safety.

Bug 5162267

Change-Id: Id96aea69804bb1151b612838f3fdc24841e5f527
ontacts/model/AccountTypeManagerTest.java
ontacts/model/AccountTypeTest.java
ontacts/model/ExternalAccountTypeTest.java
ontacts/tests/mocks/MockAccountTypeManager.java
bb49fdbc41161765cabf299cedf892749d69c4e2 15-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Make tests more resiliant to changes."
448d94bd298f581c3c736f2d1132f2ed833ff207 15-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Use the content of the call log to predict the contact info."
e33014cd8b5b54812f5954878edd5652a61cd270 15-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Clean-up after extracting nested classes from CallLogFragment."
242040e815adf4a449adf0d23e2fb8ae6ff93222 15-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Extract nested classes from CallLogFragment."
17fdef2a79282980bd9d9f4e0de62bb40f9815e1 14-Aug-2011 Flavio Lerda <flerda@google.com> Fix com.android.contacts.detail.StreamItemAdapterTest

In a recent change, I added a header in the stream items adapter.
This means all the indices must be incremented by one in the tests, to
match the new layout: the adapter now contains always a header, hidden
under the tab carousel (if present), a title, and the stream items.

Bug: 5162546
Change-Id: I4e38b1cf513e316a3a42fb22094b0b4b16f76a69
ontacts/detail/StreamItemAdapterTest.java
c62a100875deee7849bf5c521a429ceb1c5d8077 15-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Fixes ContactLoaderTests."
d78ee90c0d4d93b82ad440396e87ae4f47f53e93 15-Aug-2011 Daniel Lehmann <lehmannd@google.com> Several DB changes as requested by ES

- Switch from resource ids to names to prevent breakage on package upgrade
Bug:5135277
- Add SYNC1...SYNC4 columns to StreamItems and StreamItemPhotos
Bug:5119385
- Remove ACTION, ACTION_URI from Groups, StreamItems and StreamItemPhotos
(this reduces db size and prevents click intercepting)
Bug:5135808
- Add some raw-contact fields to the StreamItem and StreamItemPhotos query
Bug:5134081

Doing those changes in one block to prevent too many db upgrade steps

Change-Id: I4c90742580c86203a1686bb625c026438ed19b8f
ontacts/detail/StreamItemAdapterTest.java
ontacts/tests/streamitems/StreamItemPopulatorActivity.java
ontacts/util/StreamItemEntryBuilder.java
59a887eb0cd4f1f022cbcc7bbb34c2124585e0a5 14-Aug-2011 Flavio Lerda <flerda@google.com> Fixes ContactLoaderTests.

The tests require an AccountTypeManager to work.

Add a way to support this in the ContactsMockContext and inject a mock
in the setUp of this test.

Bug: 5162385
Change-Id: I36c14845396ab6eeba212b5f6b7098785e71d86b
ontacts/ContactLoaderTest.java
ontacts/tests/mocks/ContactsMockContext.java
b9ace177e43ce75db9f3026713db1951bf753ba2 13-Aug-2011 Flavio Lerda <flerda@google.com> Make tests more resiliant to changes.

Instead having a number of tests create the values for the call log
cursor, create them always using a helper class, so that the tests will
always be in sync when the code is changed.

Since I plan to add a few more columns to the call log query, this will
save some time later on.

Bug: 5101753
Change-Id: I366de7502a03011dbff8f7659d907e89c389c382
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogGroupBuilderTest.java
ontacts/calllog/CallLogQueryTestUtils.java
b5f6432139f887e6f65e1206e927f57cfb670cc6 13-Aug-2011 Flavio Lerda <flerda@google.com> Use the content of the call log to predict the contact info.

This change re-instroduces the cache stored in the call log table for
the contact info associated with a call.

This is the first part of the necessary changes. In this change, I also
use the stored information, I do not update it when the contact is
actually looked up in the call log.

Bug: 5101753
Change-Id: Ib906e9af06410c2cc295192cd4623b011fa0ad09
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogGroupBuilderTest.java
de4f16aa0ff53c2756a3f9bf67ad7cb59b4d1aa3 13-Aug-2011 Flavio Lerda <flerda@google.com> Clean-up after extracting nested classes from CallLogFragment.

A few fields were made package accessible: fix those up.

Also, move around a couple of interfaces to the most appropriate
location.

Bug: 5101753
Change-Id: I34af0dc6401874d9c8c71932bce239852d42f703
ontacts/calllog/CallLogGroupBuilderTest.java
568ad27e706d7c75dd7412e34c2236c772704a04 13-Aug-2011 Flavio Lerda <flerda@google.com> Extract nested classes from CallLogFragment.

This should help making the changes to the CallLogFragment easier to
make as there is less code around.

This has been done entired using Eclipse's refactoring with no manual
changes.

In the process, a couple of fields have been expanded from private to
package, because, while their were private, they were being used by
the parent/nested class anyway. I will fix those in a follow-up.

Bug: 5101753
Change-Id: Id46e18cfa86939100342daa020430063959dfcfc
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogGroupBuilderTest.java
09f14917bc75a199ff424db11b1b22b495a0b62e 13-Aug-2011 Daniel Lehmann <lehmannd@google.com> Change a test to not reference sharedUserLabel anymore (blocking string
import)

This is untested because the whole build is broken right now

Change-Id: I767aeaac7a7aec358fa4c1ed989f3600638e4432
ontacts/model/AccountTypeTest.java
47cf7b6609753788e174ea583436daa71c6bef4c 11-Aug-2011 Hugo Hudson <hugohudson@google.com> Merge "Background tasks can decide which executor to run with."
a2625e4b5249132bb102ab9568daba8ebea7fe78 10-Aug-2011 Hugo Hudson <hugohudson@google.com> Background tasks can decide which executor to run with.

- Allow BackgroundTaskService to take an Executor as an optional argument,
most commonly these will be one of the static fields defined on
AsyncTask.
- Make voicemail prepare media on async background thread.
- Mark voicemails as read concurrently with other async tasks.
- Change background task service to accept an Executor as argument.
- Remove the initial progress and initial time from seek bar.

Bug: 5148472
Change-Id: I55815294fe671d3a42af0b2d6d5e29e6eaea271e
ontacts/util/FakeBackgroundTaskService.java
be15e0997ff7559d1c58abfcf45bcb1332dfc5eb 10-Aug-2011 Flavio Lerda <flerda@google.com> Partial fix for tests.

Change Ia0eb5bdd33c5bcebcf6267ce01f7d36c53396c30 added a new field to
the CallLogQuery: add it in the tests as well.

Change I45615616e03a603759888d9e7169a853b3328b14 added a new field to
ContactLoader: add it in the tests as well.

Change Ife8d494c19e2daef7e59d819ded52638dc9f2b6f removed bold first
names: remove from the tests the checks for bold in the names.

This helps getting further, but it does not actually fix all the tests.
The other errors might need a bit more investigation.

In the meanwhile this should not hurt.

Change-Id: Ib116b9a24002f1ee05b9246cbe985302b88a955b
ontacts/ContactLoaderTest.java
ontacts/PhoneCallDetailsHelperTest.java
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogGroupBuilderTest.java
ontacts/format/DisplayNameFormatterTest.java
ontacts/list/ContactListItemViewTest.java
826513476c488fe597d41cdd8530e850c2d0cb64 10-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Use geocoded location from call log content provider."
9b81f1d888772086e49fa39bfa3304f9e072614c 09-Aug-2011 Flavio Lerda <flerda@google.com> Reduce number of views in call log.

Use only one image for the secondary action and configure it at
run-time.

Bug: 5099652
Change-Id: Ibcc9f2f0abbf4d7d409ba5d574d88387836fc0bf
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogListItemHelperTest.java
71fc6ec6598aeb8dcad797c05816bab91762e2b3 09-Aug-2011 Flavio Lerda <flerda@google.com> Use geocoded location from call log content provider.

When showing the geocoded location in the call log, use the value from
the provider instead of querying the geocoder each time: that would be
too slow and cause a strict mode violation.

Bug: 5129581
Change-Id: Ia0eb5bdd33c5bcebcf6267ce01f7d36c53396c30
ontacts/PhoneCallDetailsHelperTest.java
ontacts/calllog/CallLogListItemHelperTest.java
e5532c78dd308c85ae8b09cb6c5641656cd373d4 09-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Layout for Updates with multiple images."
fd43cddee690e84f56163cd1c0899c3200b624e7 05-Aug-2011 Flavio Lerda <flerda@google.com> Layout for Updates with multiple images.

Use a table layout to arrange images in the updates: if the number of
images is even (including no images), the text is placed on its own row.
Otherwise, the text is added together with the last image.

Bug: 5123875
Change-Id: I372a15a3d384fbea79a1cd9f225db3f05996f5d4
ontacts/detail/ContactDetailDisplayUtilsTest.java
1e144ed66089c2932dbaebb02157eef4a87d0a88 08-Aug-2011 Daniel Lehmann <lehmannd@google.com> Merge "Remove plain_contact_photo, as QuickContactBadge can take over now"
485f5eb5529c69c4864516c2e2762ab581c7e4ca 08-Aug-2011 Hugo Hudson <hugohudson@google.com> Merge "Prepare playback immediately, new BackgroundTaskService."
51ada3680de8700bc273a7e652886823f4c1981f 05-Aug-2011 Hugo Hudson <hugohudson@google.com> Prepare playback immediately, new BackgroundTaskService.

- Immediately we start the CallDetailActivity with a voicemail, do the
preparing of the media so we can see the duration.
- Use the duration text field to show "buffering..." until media source
is prepared.
- Do the preparing in the background, this fixes a strict mode
violation.
- If there's an error preparing, show an error message in that field.
- Add tests for both of the above cases.

BackgroundTaskService:
- Introduces new BackgroundTaskService, lightweight method for
submitting AsyncTask objects.
- Introduces BackgroundTask interface and simple AbstractBackgroundTask
abstract implementation.
- Adds BackgroundTaskService to ContactsApplication allowing Activity
objects to get hold of a regular background task service.
- Adds a MockBackgroundTaskService for use with injecting for test, so
that we can prevent or control processing of background tasks.

Other:
- Every time we resume the Activity, we were causing a new voicemail
fragment to be created. There was no bug tracking this, I just
noticed it because of occasionally flaky tests. Added a fix and test
to catch it again next time.
- Fixes missing tear down method in PeopleActivityTest.

Bug: 5115133
Bug: 5059965
Bug: 5114261
Bug: 5113695
Change-Id: Ia2469229fa756da8b3977231fbf23a9d3fb379ce
ontacts/CallDetailActivityTest.java
ontacts/activities/PeopleActivityTest.java
ontacts/util/FakeBackgroundTaskService.java
f1acd26614a883d045775d3c68e4ffdeaeb3685f 08-Aug-2011 Debashish Chatterjee <debashishc@google.com> Merge "Fix suppressed CallDetailsActivityTest tests."
9fb5678fc42f4b8db9628f9fb7cd60702f55b104 08-Aug-2011 Daniel Lehmann <lehmannd@google.com> Remove plain_contact_photo, as QuickContactBadge can take over now

Bug:5099652

Change-Id: I5490fd17c37697c3593a9e7e7fd3b562ac09d701
ontacts/activities/CallLogActivityTests.java
a53b13e44c1f5948de03443b0b40175aa65040bd 05-Aug-2011 Daisuke Miyakawa <dmiyakawa@google.com> Merge "Stop showing default thumbnail in photo manager"
f5be9baf49891a2c81b2ca9bef80d86f7e20d8cd 05-Aug-2011 Daisuke Miyakawa <dmiyakawa@google.com> Stop showing default thumbnail in photo manager

Bug: 5126085
Change-Id: Ie90814fc353a70524049aa892e228d72c9dafb01
ontacts/tests/mocks/MockContactPhotoManager.java
c8c551e0b9ba873ab65f3e214ab73706ade09ad0 05-Aug-2011 Debashish Chatterjee <debashishc@google.com> Fix suppressed CallDetailsActivityTest tests.

A recent change that marked voicemails as read when call details page is
opened broke callDetailsActivityTest because it used arbitrary fake
voicemail uri which never matched a valid content provider.

The offending tests were suppressed subsequently.

This change modifies the fake_uri to be built out of voicemail content
uri, but does not point to any real entry.

testVoicemailPlaybackRateDisplayedOnUi still fails due to an unrelated
change. This is still suppressed. Other tests have been unsupprressed.

Change-Id: Ie25a44f3cfc7263d9b127aa33f467a57eae07af7
ontacts/CallDetailActivityTest.java
a21993720988a5fc0b48594d1ff0ce6f932780b7 04-Aug-2011 Flavio Lerda <flerda@google.com> Small clean-up of stream items utility class.

We do not need a way to add a set of stream items to a container: we now
use a ListView.

Do not set the listener in the helper method: we can just do that in the
adapter itself.

Bug: 5119353
Change-Id: Id647ddc358f82b5fee8628b06645412e48712229
ontacts/detail/ContactDetailDisplayUtilsTest.java
ontacts/detail/StreamItemAdapterTest.java
ontacts/util/StreamItemEntryBuilder.java
d61318863887b4672817690151f287c018797c33 05-Aug-2011 Flavio Lerda <flerda@google.com> Suppress a few tests.

These tests started failing after we introduced an AsyncTask that marks
the voicemail as read. Until that is fixed some other way, this
suppresses the tests which are causing trouble.

Bug: 5123174
Change-Id: I89c2a8c4c9a191b8d33feb8da6a45f41ade79ba0
ontacts/CallDetailActivityTest.java
fe17026100674b204f3b4fc6cb5a61f51ac99ec6 03-Aug-2011 Flavio Lerda <flerda@google.com> Use a single text view for count and date of calls.

This further reduces the number of views needed to render the call log.

At the same time, fix a few minor issues that are needed for pixel
perfect UI:
- Do not show the text when the item is new.
- Instead, for new items, highlight the date in the color associated
with the item (blue for voicemail, red for missed calls).
- Do not put a separating slash between the count and the date.

Bug: 5099652
Change-Id: I18b71463e7398f00f0fe8fecbeb334b67d618312
ontacts/PhoneCallDetailsHelperTest.java
ontacts/calllog/CallLogListItemHelperTest.java
b88abaaf3e733a9daf681277b7e5e8e58c015462 03-Aug-2011 Flavio Lerda <flerda@google.com> Use simple TextView for call details header.

Instead of the using the more complex call_log_phone_call_details
layout, use just a text view, since all we want to show is the name (or
number) of the person who called.

Bug: 5099652
Change-Id: I408b5ffaeea09c0efe2631bd317d1ea640be294f
ontacts/PhoneCallDetailsHelperTest.java
e7ece73a5dc696782a6f1be5ebff7e67fb1c3177 03-Aug-2011 Flavio Lerda <flerda@google.com> Merge "Fixes tests."
78f20ab1daa5f8330875c3e7ba1d391abb9c0c57 03-Aug-2011 Flavio Lerda <flerda@google.com> Fixes tests.

For the case of more than 3 calls, we show the total count.

Bug: 5112288
Change-Id: I9ebb518b35f600a783023ba764319b33237b4cd4
ontacts/PhoneCallDetailsHelperTest.java
0f53ef6e6442a1ef21b843b21d8c2575c2f5015c 03-Aug-2011 Daniel Lehmann <lehmannd@google.com> Merge "Replace FrameLayout by LinearLayout, remove a RelativeLayout."
dd094985ab2b8b3dd5702c38ee4d560e8c4066c9 03-Aug-2011 Daniel Lehmann <lehmannd@google.com> Replace FrameLayout by LinearLayout, remove a RelativeLayout.

Also adds a thread name to the call log lookup thread

Bug:5099652

Change-Id: Ib57f7dc8776838ff0b1d216cb97d4f856f74946b
ontacts/activities/CallLogActivityTests.java
63641368c47fd0ccec263c4ad90661d778416fa5 02-Aug-2011 Hugo Hudson <hugohudson@google.com> Merge "Add the ActionBar trash and share icons."
6ecb732e22b271878d5f9215b7c821a1d97d888f 02-Aug-2011 Daniel Lehmann <lehmannd@google.com> Replace the list of call symbols by a single custom view to paint them.

Saves about 7-21 views per screen and should be more efficient to recycle

Bug:5099652
Change-Id: I10a1b1d188c5c58329de4ba063d41f8c116c3497
ontacts/PhoneCallDetailsHelperTest.java
ontacts/calllog/CallLogListItemHelperTest.java
c2f09c3cfd01c9bad5cbf76f7a9f9f363a511b5d 30-Jul-2011 Hugo Hudson <hugohudson@google.com> Add the ActionBar trash and share icons.

- Adds the share drawable against dark background from ux repos.
- Removes the trash button from the main voicemail ui.
- Adds both trash and share to the ActionBar top right corner of call
details, but only if we are looking at a voicemail.
- Adds placeholder methods for when these buttons get clicked.
- Changes other options menu elements to use the android:onClick
property with a well-named method, rather than using switch by id.

Other changes:
- Tells proguard not to remove android:onClick style methods where those
methods are public void and take a MenuItem or View single argument
(exactly the type specified in xml files).
- Remove android:showAsAction property on the call detail options,
because I don't think we want them to appear on the ActionBar at all,
and if we did these are the wrong properties to use.
- Remove the variable storing the 'has remove from call log', we can
just calculate that in onPrepareOptionsMenu.
- Calls through to super.onCreateOptionsMenu and
super.onPrepareOptionsMenu rather than just returning true, as
requested in the javadoc.

Bug: 5070929
Change-Id: I237bdcbb7b0a5135e940a0f44a64e4a39f741fa6
ontacts/CallDetailActivityTest.java
965da8446f4bf73217611b43059bd92f311db089 28-Jul-2011 Flavio Lerda <flerda@google.com> Add actions to update items.

This commit let you click on an update item if it has an associated
action and actionUri.

In order to make this visible to the user, it adds a background that
will be highlighted when the item is selected. It also marks the item as
focusable for accessibility.

In order to make the selection expand to the entire row, play around
with the padding a little bit: basically, the update list itself is
now as wide as the screen, and the individual items have padding as
appropriate.

Bug: 5095755
Change-Id: Ib1b2d179152beae125dded1b393b3dfc8b22abc9
ontacts/detail/ContactDetailDisplayUtilsTest.java
d08a422d44c3faebd731f18d2aa4901b61cc8bb9 28-Jul-2011 Flavio Lerda <flerda@google.com> Add attribution labels and icons to test app.

Bug: 5095755
Change-Id: I520b3fc632056da7cdc2bd9eccc540f3e9ab8874
ontacts/tests/streamitems/StreamItemPopulatorActivity.java
5a77a5563706fe1b143d976d1b47abaeb873e138 27-Jul-2011 Flavio Lerda <flerda@google.com> Add comments to items in Updates tab.

Bug: 5095383
Change-Id: I87311bc37446fe83bf47aa554774a9a056f3a251
ontacts/detail/ContactDetailDisplayUtilsTest.java
0556250b620ee26a490d5685b080bf4bce951e9d 28-Jul-2011 Flavio Lerda <flerda@google.com> Fixes tests.

A new column was added to the queries in ContactDeletionInteration and
PhoneNumberInteraction in I88f311c64eae78c88e9999bff6f7de8538e62157.

This change adds the matching columns to the values returned by the
content provider in the tests.

Change-Id: I4a56c4819afeb2b80a2d95d877d994bf7ae3b32d
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/interactions/PhoneNumberInteractionTest.java
619c9e880fc3ff93bc3ead8442dfee8738cebed9 28-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Add more details to test streams."
2b3f3c54d3beb017b2f59f19e9ce0ecc3e039dbc 27-Jul-2011 Dave Santoro <dsantoro@google.com> App changes for account types with data sets.

This is primarily a replacement of the Android Account object in most
parts of the app with a new AccountWithDataSet object that extends
Account (by adding an additional attribute, the data set).

This also includes a major refactoring of the AccountTypeManager,
both to allow it to handle data sets and to allow for
non-sync-adapter packages to be referenced by the sync adapters for
an account and registered as sources of contact data. Attributes of
the sync adapter that would typically come from the authenticator
can be parsed out of the Contacts XML for these packages.

Bug 5077096

Change-Id: I88f311c64eae78c88e9999bff6f7de8538e62157
ontacts/ContactLoaderTest.java
ontacts/activities/PeopleActivityTest.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/interactions/PhoneNumberInteractionTest.java
ontacts/model/AccountTypeManagerTest.java
ontacts/tests/allintents/AllIntentsActivity.java
ontacts/tests/allintents/SelectAccountDialogFragment.java
ontacts/tests/mocks/MockAccountTypeManager.java
ontacts/tests/streamitems/StreamItemPopulatorActivity.java
a38e6959530c3c441d72053546eaf5b1459247ba 27-Jul-2011 Flavio Lerda <flerda@google.com> Add more details to test streams.

Stream items will now randomly have comments and/or actions.

The text of the stream will include [c] if it has comments and [a] if it
includes actions.

Moreover, photo can also have actions: whether a photo has actions or
not is determined by which photo is added.

Change-Id: I589a3670b377f4fd922bb25276a1a3feef56bb09
ontacts/tests/streamitems/StreamItemPopulatorActivity.java
3e9bf744808132c950e871ffd30d153765ddee4e 27-Jul-2011 Flavio Lerda <flerda@google.com> Fixes tests: add missing columns.

The tests were broken by Ic52eaacdc5d9b5aab55fde37181c6ad6d7154b74, when
the columns were added to src/com/android/contacts/ContactLoader.java

Add the same columns to the test.

Change-Id: Id36191450022847bba68d8c2ee5fe525c5d067a6
ontacts/ContactLoaderTest.java
39256cd2c09b6d2db55c8482b86525d4528b47da 26-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Use a "dash" for a phone number that we cannot geocode."
30d3c9881386470eed6adb72ebb3cfebfe7400ee 25-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Make LIST_XXX intents open corresponding tab"
be45e0f3d9ba9b0f842174d857a99edeadc0136e 25-Jul-2011 Flavio Lerda <flerda@google.com> Use a "dash" for a phone number that we cannot geocode.

Bug: 5073215
Change-Id: I19f79a658cb19abd95e0b6b35f9602c1810faaad
ontacts/PhoneCallDetailsHelperTest.java
dccafea7af338e1e8ec94170b0e28d22a4c1bfa0 25-Jul-2011 Flavio Lerda <flerda@google.com> Fixes play button for voicemails in call log.

Bug: 5072527
Change-Id: I5a3e61811483f6658668c5ee704dbe07d0107bec
ontacts/activities/CallLogActivityTests.java
ea14605e56c98fcaa93f2f1e4186ce9db5e2f159 25-Jul-2011 Makoto Onuki <omakoto@google.com> Make LIST_XXX intents open corresponding tab

Also, make Contacts Intents send the correct intent for LIST_DEFAULT.

Bug 5071627
Bug 5073681

Change-Id: Id28f85c0adef085417472c2211c29bcd5193aa58
ontacts/tests/allintents/AllIntentsActivity.java
012641e5f2b5d7d768824bdbf6f90a87c52b1ceb 25-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Disable quick contact badge for unknown contacts."
d1cac908706366a50bd3ffd71f90334bf812792f 25-Jul-2011 Hugo Hudson <hugohudson@google.com> Voicemail ui indicates both time left and playback speed.

- Playback time indicator has changed from current position in
voicemail to time remaining.
- This same text view is also used to briefly display current playback
rate when playback rate buttons are pressed.
- Unit tests to show that this logic works.
- This cl introduces a new class whose job is to handle the transition
between the different text states.
- Fixes a crash when we might release the player before the last
update gets the duration from the released player.
- New test method to fetch a text view's content on the ui thread.

Bug: 5044075
Change-Id: Ie3cf6e58c1a0139edb78cf3564a8aec94512156f
ontacts/CallDetailActivityTest.java
ontacts/util/IntegrationTestUtils.java
4d44e6233858a8d3ad9019ac69ec8102ce3fcb3e 25-Jul-2011 Flavio Lerda <flerda@google.com> Disable quick contact badge for unknown contacts.

Bug: 5010334
Change-Id: I864ccf2e0f606bf3d2a9dafa886284d3bc792d21
ontacts/activities/CallLogActivityTests.java
c73d43f34d08fdcb58205f40981ad56958c2b811 25-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Updates to visual design."
405695664582b4989cffcf054bf1aceb83dec437 22-Jul-2011 Flavio Lerda <flerda@google.com> Updates to visual design.

- Use sizes from spec.
- Show only contact name in call details header.
- Add spacing between contact icons.
- Updates a few assets.
- Add contentDescription to a number of elements.
- Use @dimen instead of ?attr for dimensions.

Bug: 4989127
Bug: 4989128
Bug: 5039572
Bug: 5038409
Change-Id: I3a59af44c77f739185feef39afd57193b5e0176a
ontacts/PhoneCallDetailsHelperTest.java
ontacts/calllog/CallLogListItemHelperTest.java
c234d2573ee41f7056c9886ccbcbfa453071fed5 24-Jul-2011 Makoto Onuki <omakoto@google.com> Merge ""Invite" part 2"
69b4a886bdc8e36b7529122b5a97d9e4fd1ddf11 22-Jul-2011 Makoto Onuki <omakoto@google.com> "Invite" part 2

- ContactLoader now loads invitable account types, which are account types
that supports the invite feature and don't contribute to the loaded
contact.
- Add AccountType.DisplayLabelComparator

Bug 5061956

Change-Id: Icadffac9e5e3b739e70f59d709cfdd67909c9a41
ontacts/model/AccountTypeTest.java
402d5c9ccd5d07aca67618de76ddf24d1a9a0e46 22-Jul-2011 Katherine Kuan <katherinekuan@google.com> Merge "Fix "Add new" strings in contact editor"
94d7bab07a69efbe5a383affec95d1d9ba9dc203 22-Jul-2011 Flavio Lerda <flerda@google.com> Move delete and edit number to overflow menu.

Bug: 5035685
Bug: 5036100
Change-Id: I503d0bcf978b34aa559d517ff8d693b597121703
ontacts/CallDetailActivityTest.java
6fb5cda6f0ade18840f2a28ac2ccc323d909e5b5 22-Jul-2011 Hugo Hudson <hugohudson@google.com> Merge "Remove "Remove from call log" from menu for voicemails."
398e3805b4278310250e5fd1007e2e73b9453d0f 22-Jul-2011 Katherine Kuan <katherinekuan@google.com> Fix "Add new" strings in contact editor

- Instead of using type-specific strings like "Add new
phone number" just use "Add new" since we have labels
for kind sections now.

Change-Id: I0e386ae29330193fec18b62f3949c46e095a872c
ontacts/EntityModifierTests.java
157dde190ff8f158dac60495c3b3b4ab2847e764 22-Jul-2011 Hugo Hudson <hugohudson@google.com> Remove "Remove from call log" from menu for voicemails.

- When looking at a voicemail we shouldn't remove from call log, because
we can just hit the trash button.

Bug: 5054103
Change-Id: I97c5870f12a7d495d2c49bb94f0795a1b3e12f9e
ontacts/CallDetailActivityTest.java
ontacts/util/IntegrationTestUtils.java
a0f598523bece50f24395a648f5cabd88efcaa5e 21-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Add fields to AccountType for the new "invite" feature"
9aa9e846dec6c2958be6ce120e138e484fdba330 21-Jul-2011 Makoto Onuki <omakoto@google.com> Add fields to AccountType for the new "invite" feature

- Add two attributes, inviteContactActivity and inviteContactActionLabel,
to the contacts.xml file, in addition to the existing ones such as
editContactActivity.

e.g.
<ContactsAccountType
xmlns:android="http://schemas.android.com/apk/res/android"
inviteContactActivity="com....editor.InviteContactActivity"
inviteContactActionLabel="@string/invite_action_label">

- Add two methods to AccountType to obtain the new attributes.
(getInviteContactActionLabel() will return a localized string)

- Add AccountTypeManager.getInvitableAccountTypes() which returns
AccountType's which define the invite activity and have one or more account.

Change-Id: I545b47a7e4957765684314870739085ea0355a98
ontacts/model/AccountTypeManagerTest.java
ontacts/model/AccountTypeTest.java
ontacts/model/ExternalAccountTypeTest.java
ontacts/tests/mocks/MockAccountTypeManager.java
149fb7fd82554d5b02c335a3f9b8c60be4d083ec 21-Jul-2011 Hugo Hudson <hugohudson@google.com> Fix intermittently failing unit test.

- This test fails if you haven't switched the phone screen on, which
can be very confusing if you don't know about it.
- This cl introduces acquiring and releasing the screen wake lock to
the integration test utils, and uses it to prevent this test failure.

Change-Id: I378b6effd56e912213eb0af81f8add5c3bba39f2
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/util/IntegrationTestUtils.java
6afac70502f15c12b60960bfbebbc97c7dd8236c 21-Jul-2011 Hugo Hudson <hugohudson@google.com> Merge "Fix crash when altering rate for voicemails without content."
757aa55194ba962c71feabe99d47b3021c3f294b 20-Jul-2011 Hugo Hudson <hugohudson@google.com> Fix crash when altering rate for voicemails without content.

- Repro for crash was to click on voicemail from call log without
content, try to play it (which would silently fail), then try to
use the rate increase/decrease buttons.
- The error being reported to the ui was disabling all the ui elements
but not the rate buttons.
- This fix makes the ui disable the rate buttons too, as well as showing
a Toast, and logging the exception to logcat.
- This cl also adds the unit tests that prove that the bug is fixed.
- In the process, I discovered another bug where missing extras from
the intent used to start the CallDetailsActivity could cause a crash,
so this adds a test and a fix for that case too.
- Also introduces IntegrationTestUtils class, with some useful methods
for doing things like clicking on different parts of the ui.

Bug: 5047879
Change-Id: I46d18723fe783a7a820446e1e13e19b5af82fa5c
ontacts/CallDetailActivityTest.java
ontacts/util/IntegrationTestUtils.java
d31ffa6b0358f3de0292e97e960852f1dc6a5774 21-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Remove the call button area if we cannot call."
4d8b1ad49cc1ab1a65c03969cab28cc84525ab43 21-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Updates grouping behavior for the call log."
6fb088eca53d723edb4ea0803751eff484c9ae8b 20-Jul-2011 Flavio Lerda <flerda@google.com> Updates grouping behavior for the call log.

We are now using the following policy:

Voicemail and missed calls are grouped with following missed calls (not
voicemail) from the same number.

Incoming and outgoing calls are grouped with following incoming or
outgoing calls from the same number.

Bug: 4968671
Change-Id: I304baca0c02e10e9cbee1c9b01a573e28738fa2a
ontacts/calllog/CallLogGroupBuilderTest.java
33b28a1fc0e8ca5c2c285655d0ed8bd0dc275600 21-Jul-2011 Flavio Lerda <flerda@google.com> Remove the call button area if we cannot call.

If this is not a voicemail, then the whole call button area is empty and
there is no need to keep that around. Instead, extend the text area to
the right of the screen.

If there is a voicemail, keep the empty call button area for visual
consistency.

Bug: 5056506
Change-Id: Iaad9228ad6dcc67ebcd8a893ca0383fa595376e4
ontacts/calllog/CallLogListItemHelperTest.java
0b0a96a01617e0d311431d5f7137b5685ccf73aa 20-Jul-2011 Dave Santoro <dsantoro@google.com> Test application for inserting stream items.

This will randomly generate 1-5 status messages for a selected
contact. Each status message has a 30% chance of also having
1-5 random photos associated with it.

This change was split off of the stream items UI change, since
the two do not depend on one another.

Change-Id: Icefec5b186867c5ee0dacecd74efda2ac0bcfb1f
ontacts/tests/streamitems/StreamItemPopulatorActivity.java
e9343575a231c77d50dd762cf87c47610ffbc5f6 20-Jul-2011 Debashish Chatterjee <debashishc@google.com> Fixed VoicemailStatusHelperlTestImpl test.

The current implementation of VoicemailStatusHelperImplTest assumed a
clean voicemail_status table. This may not be true if the database
previously had non-test entries populated.

This change restricts the scope of db query to only the test packages.

Change-Id: Ica61ed53fc43e5fa427afcd3427c6054fcc742da
ontacts/voicemail/VoicemailStatusHelperImplTest.java
c147e8826c0bb87b43d270e490117292d41b08ef 20-Jul-2011 Debashish Chatterjee <debashishc@google.com> Merge "Changes in CallDetailActivity to show voicemail status message."
0cb8224a32bd956f6052e6eecc96720711bf6bfc 19-Jul-2011 Debashish Chatterjee <debashishc@google.com> Changes in CallDetailActivity to show voicemail status message.

- call details page now show a voicemail status message if the call in
question is a voicemail and does not have audio available.
- moved VoicemailStatusHelper and related classes into
contacts.voicemail package as it is used by CallDetailActivity as well
as calllog.CallLogFragment

Bug: 5040099
Change-Id: I9ad0c1fb60526ef55d7f38dbd2157b14af9d5b55
ontacts/calllog/VoicemailStatusHelperImplTest.java
ontacts/voicemail/VoicemailStatusHelperImplTest.java
3ddbafed601cc99aa46daab34d5afb017c87fd61 20-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Delay computing of PhoneNumber as much as possible."
9c466374c2cb5371197334bde701dc8f452ebf03 19-Jul-2011 Flavio Lerda <flerda@google.com> Delay computing of PhoneNumber as much as possible.

Computing PhoneNumber is an expensive operation. We want to make that
asynchronous and it is currently only used together with the offline
geocoder, which also needs to be asynchronous.

Therefore, delay the call to generate a PhoneNumer until it is actually
needed, i.e., at the same time as computing the geocode. This means we
only need to make one call asynchronous instead of many.

Change-Id: Iebebf098be713281b2976c72506e480466fb65d4
ontacts/PhoneCallDetailsHelperTest.java
ontacts/calllog/CallLogListItemHelperTest.java
7533282d831b5adb59d2e579ba9901535288bd89 19-Jul-2011 Flavio Lerda <flerda@google.com> Add tests for CallLogGroupBuilder.

These tests are not extensive as I am going to change the actual
grouping logic in follow-up, so I kept these limited to really simple
cases that will not change in the follow-up.

Change-Id: I830f47c297abb783247696a4f65f569b74282e43
ontacts/calllog/CallLogGroupBuilderTest.java
949bdc5eeb1e07569097f72d7ca603d4505a9786 19-Jul-2011 Debashish Chatterjee <debashishc@google.com> Merge "Include a separate message for call details page in voicemail StatusMessage."
6e4052c8685192d94a793afeccf8d0f0212584d0 18-Jul-2011 Debashish Chatterjee <debashishc@google.com> Include a separate message for call details page in voicemail StatusMessage.

With this change now a StatusMessage also carries the info about where
it must be shown.

Bug: 5040099

Change-Id: Ib0d430b5eda1a7031ce90d84916b0159ac7cfd38
ontacts/calllog/VoicemailStatusHelperImplTest.java
a113689156ac38177fb8fdf82e5327c3f916d331 18-Jul-2011 Flavio Lerda <flerda@google.com> Add playback button in call log.

This commit adds a separate playback button to the call log, according
to the latest mocks.

Change-Id: I5d732d7a3775b4c723fb6a70015ed187e40c5c46
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogListItemHelperTest.java
cb805e853dce5fc4d434f2b1916b154d80ab1744 18-Jul-2011 Flavio Lerda <flerda@google.com> Use geocoded description in the call log.

If a number is not associated with a contact, try to get the location
for that phone number and show that instead.

This is shown below the phone number, since the phone number is still
the most useful information for the user.

Bug: 4968253
Change-Id: If9c29c2e20f96f10e24fcf97ccac85eada237b71
ontacts/PhoneCallDetailsHelperTest.java
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogListItemHelperTest.java
fafaefea41e9f8eb5a4cd80395cb860136215792 18-Jul-2011 Hugo Hudson <hugohudson@google.com> Fix the unit tests.

- The view's tag was recently changed from storing the number as
a string to storing a NumberAndType instance.
- This cl updates the test to correspond.

Change-Id: Ibc108ee6cf5afb21899036fb36cebae1f595e8f9
ontacts/activities/CallLogActivityTests.java
8432b27a6b18457e2d30a0d20f1492930797fd21 18-Jul-2011 Debashish Chatterjee <debashishc@google.com> Merge "Made voicemail status query from calllogfragment asynchronous."
ccbccde9cf094470118201091d8cc116cfcff725 18-Jul-2011 Debashish Chatterjee <debashishc@google.com> Made voicemail status query from calllogfragment asynchronous.

callLogQueryHandler is now used to fetch voicemail_status cursor and
pass that to VoicemailStatusHelper to compute the messages for display.
VoicemailStatusHelper no longer make direct call to the content
provider, so is now safe to be used from the ui thread.

Also, modified status message layout to have visibility=gone as a
default value.

Change-Id: I2dce71080d974c318adcbd134e91df85ac6ce611
ontacts/calllog/VoicemailStatusHelperImplTest.java
dd1aea0ca475c12266cc87950c2fbb9a57308ae5 18-Jul-2011 Flavio Lerda <flerda@google.com> Add column to the cursor used in tests.

A new column was added to the projection used by the call log.

This commit adds the matching column in the MatrixCursor used by tests.

Change-Id: I5f0cc359204d6e533a907c3ea3545159417f8da0
ontacts/activities/CallLogActivityTests.java
33e5c470010f81abd22d33fc7208c1955b27da5a 17-Jul-2011 Daniel Lehmann <lehmannd@google.com> Merge "Use highres pictures in call-log (if available)"
362654ae0fe3dd9b26306204904d59c737edad53 17-Jul-2011 Daniel Lehmann <lehmannd@google.com> Use highres pictures in call-log (if available)

Change-Id: I71df0f38ab27b5ff1cb223a0b609b3e384e75224
ontacts/activities/CallLogActivityTests.java
ab4ba0cd1c0b883a5bd2892b375c11ab2d9e496a 17-Jul-2011 Flavio Lerda <flerda@google.com> Remove unused layout file.

We changed the call log to no longer have expanding groups.
As a consequence, the button to expand them is no longer needed.

Change-Id: I31019c1b58a6bbbe80189a36968adbcc40330aca
ontacts/activities/CallLogActivityTests.java
9e0038930f0f504bd0054775ba2ed99699cba417 15-Jul-2011 Debashish Chatterjee <debashishc@google.com> First cut voicemail source status message ui.

The UI right now is very basic.

Also renamed Message to StatusMessage to avoid conflict with
android.os.Message used in the call fragment code.

TODO:
- make the UI look nicer.
- show more than one messages
- make db call asynchronously

Change-Id: I10c1be8a37990104b5fe428c61964e7a78b7fd46
ontacts/calllog/VoicemailStatusHelperImplTest.java
369d5d7522a4dbf705930922f35c66b14d3e315b 14-Jul-2011 Debashish Chatterjee <debashishc@google.com> Implementation of business logic for voicemail status.

The new class VoicemailStatusHelper implements all the business logic to
determine what status messages needs to be shown to the user based on
the current status of various voicemail sources. It also orders the
messages in the order of priority.

A follow up cl would use this class to show the message and action to
the user.

Change-Id: I1d0321598356d7451715f027d00ceb3c09418669
ontacts/calllog/VoicemailStatusHelperImplTest.java
76921903290ba9229e0238395c35569cbadecb20 13-Jul-2011 Flavio Lerda <flerda@google.com> Split new and older items in the call log.

This commit changes the way call log items are displayed.

Instead of using a single cursor showing all items, it creates two
cursors, one for new items (missed calls and voicemail with the NEW
field set to 1) and older items (missed calls and voicemail with the NEW
field set to 0 and incoming and outgoing calls).

To make this as much as possible transparent to the UI code, it actually
creates a merged cursor from the two cursor above, so that the UI does
not need to know about the fact that these correspond to two different
queries.

To allocate space for the headers (which are present only if the
underlying cursor is not empty), they are also added to the merged
cursor, using MatrixCursors.

Since the UI needs to know whether to show a header, a new call log
item, or an older call log item, add a synthetic column called "section"
which represents which section a given row belongs to.

In the process, encapsulate the details of the queries being made to the
call log. Probably a follow-up can be done to further hide the details
of how the query works.

Change-Id: I0be6ac5b4ca5b0ccd74a648a5d8687e05ad77a82
ontacts/PhoneCallDetailsHelperTest.java
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogListItemHelperTest.java
3da09f5dc68bb991bfba841ae16be93e386017d6 13-Jul-2011 Flavio Lerda <flerda@google.com> Merge "Switches to new icons for call log items."
693d1f80945b32d43b8333d63ba9c819158a3991 13-Jul-2011 Flavio Lerda <flerda@google.com> Switches to new icons for call log items.

Remove the old icons since they are no longer needed.

Change-Id: I787da3ff769484772bb2a49d3d289cf140abfa51
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogListItemHelperTest.java
a4aa90ce861ea56f403aa244905c9a4e326f2a10 13-Jul-2011 Flavio Lerda <flerda@google.com> Add new intents for testing.

This commit adds a few new intents to the list of all intents. They are
meant to capture some of the entrypoint which may be in used by other
applications.

Change-Id: I3e529d7fd5cdeca65a943823bc2774ce0752f058
ontacts/tests/allintents/AllIntentsActivity.java
178eeebac88b352c131bd0315a99da16162c986e 11-Jul-2011 Flavio Lerda <flerda@google.com> Open groups of calls in the CallDetailActivity.

This change allow showing the details of a group of calls in the
CallDetailActivity.

First of all, it adds a way to pass to the activity a list of calls,
namely by using an extra containing a list of ids of rows in the call
log. It preserves the existing mean to open the call details using a URI
for backward compatibility.

In turns, the activity will get the details of each call, assuming they
all come from the same number and therefore the same person, and show a
single contact header at the top, while placing the detail of each of
the calls in the list at the bottom of the activity.

With that done, we no longer allow opening up groups of calls in the
call log: they are no longer necessary, as the details of the calls
within a group are now accessible in the details page.

In the process, extract a utility class that encapsulates operations on
phone number, like whether calls can be placed to a phone number, and
how to display the number to the user. There might be a few more places
where this helper can be used, but I will look at those in a follow-up.

A few optimizations still need to be pursued, for instance the lookup of
the details of the phone calls in a group can be optimized.

Another candidate for a follow-up is using a common ContactInfo class
between the call log and the call details, maybe with shared functions
to extra the information from a cursor.

A further improvement would be to have a shared cache of the contact
info and call log details, so that looking up the information when
opening the call details can be done more efficiently (it is currently a
strict mode violation) since the call details will generally require
information which had already been looked up by the call log beforehand.

Change-Id: I408650d7485afe4c132dd9cc376e6ba0e3388c1e
ontacts/PhoneCallDetailsHelperTest.java
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogListItemHelperTest.java
9a208cc08567a3d86c7968d7a4f13f5714b9b657 12-Jul-2011 Flavio Lerda <flerda@google.com> Details for multiple calls.

Add the details of the call at the bottom of the call details in a list.

The code allows having multiple details listed at the bottom, but
currently we only have one. A follow-up will add details for multiple
calls.

Change-Id: I0a91cc372f658bada603e22b9438a6db771dc124
ontacts/PhoneCallDetailsHelperTest.java
ontacts/calllog/CallLogListItemHelperTest.java
b207e21e228fe92c545c0e9e229245e50c77cbb1 12-Jul-2011 Flavio Lerda <flerda@google.com> Fixes ContactLoaderTest.

A first was removed from the request but not from the data returned by
the mock content provider.

This issue was introduced in 4ff31284ff6bd263621771bbfa6b24e0da5af031.

Bug: 5018367
Change-Id: Ib96d0f7f94598af72ff4117dd7e9350bcdc91401
ontacts/ContactLoaderTest.java
4ff31284ff6bd263621771bbfa6b24e0da5af031 11-Jul-2011 Daniel Lehmann <lehmannd@google.com> Remove restricted white-listing

Bug:4974334

Change-Id: I05736d49a72ca26902de52f967ee8028178e2366
ontacts/ContactLoaderTest.java
223a843a7290517eccf340817cdae424658dd0da 11-Jul-2011 Flavio Lerda <flerda@google.com> Allow for multiple call icons in the call log.

This commit adds support for having multiple call icons on a single
entry, to handle group entries.

When the group is represented as text, we currently use only the first
call type, but, in a follow-up, I will use an additional counter.

Change-Id: Iaa9d1c84eb926c1500bf0a439d45ce59314bd198
ontacts/PhoneCallDetailsHelperTest.java
ontacts/calllog/CallLogListItemHelperTest.java
46464a19616ef00e8f63872e592bddedd1175ef3 08-Jul-2011 Flavio Lerda <flerda@google.com> No longer update nor use the cached contact info.

This commit stops using and updating the cache contact info that is
stored in the call log. Since we need more and more details about the
contact, it does not make sense to keep on adding those in two places.

Change-Id: Ia9435a2fb0bc3dba0df710319709cca9b9bc97df
ontacts/activities/CallLogActivityTests.java
371d5f97d0b87ea0c9d8e8e178c04df34336a29e 09-Jul-2011 Flavio Lerda <flerda@google.com> Update the formatting of call log entries.

Use the three line style that is also used in the details view, in fact,
reuse the helper class and layout from that class.

Fix a few cases that were correctly handled by the call log list but not
by the details view.

Change-Id: I32e6516a571d6e3d95b5f0e414a4fc711cb6a51b
ontacts/PhoneCallDetailsHelperTest.java
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogListItemHelperTest.java
4586febe3637303ab6f1b24fc5a23750aa3a6259 09-Jul-2011 Flavio Lerda <flerda@google.com> Show text or icons for call log items.

The current code uses the small icons to show the type of call. The
design we want to implement allows for both icons and text to be
present, depending on the context.

This change adds a boolean flag to determine which one to use.

Change-Id: Ia3ec8bba44f46a4b4857654ffc0256e1af909741
ontacts/PhoneCallDetailsHelperTest.java
9de38681c1d037100a978a5820c09cb74c0d6fee 08-Jul-2011 Flavio Lerda <flerda@google.com> Extract a PhoneCallDetails class.

This reduces the number of parameters passed around and makes it easier
to add additional fields to it (e.g., I need to handle entries
corresponding to multiple calls).

Change-Id: I724cfa78949cc0e4ff7c9a287b4f59f676d92fb1
ontacts/PhoneCallDetailsHelperTest.java
fdf5d84cc1260b116c14c94bec27f949edb06ef6 08-Jul-2011 Flavio Lerda <flerda@google.com> Fetch contact details as soon as possible.

If we currently do not have contact details available, do not wait one
second since the first redraw to start the thread that fetches the
contact details. Instead, start the thread right away, do reduce the
latency of displaying the contact details.

If, however, we simply want to refresh the content of the existing
cache, keep the delay as before: in that case, there is no particular
hurry.

Change-Id: Iecef7a47f972641bed53d47b7b22dd115410583a
ontacts/activities/CallLogActivityTests.java
7d7473a1efca1fa02b52d54e5b71003c948ba49b 06-Jul-2011 Flavio Lerda <flerda@google.com> Replace text with icon for call type.

The design is to have an icon to indicate the call type instead of a
piece of text. Since we plan to have multiple icons for groups, use a
LinearLayout to store the actual icons.

Change-Id: I0055eca8eff8a9bc038aa6f152f486c18a6592c5
ontacts/PhoneCallDetailsHelperTest.java
696e8132c3cc9dd8ef2060a83c9d15f35c2b316b 05-Jul-2011 Flavio Lerda <flerda@google.com> Handles special numbers in call details page.

Some numbers (unknown, private, payphones, and voicemails) should be
shown using text instead of the row number strings.

Change-Id: I297d44bd762548f08c975adc1ba56fc4a9edd146
ontacts/PhoneCallDetailsHelperTest.java
94623f6288bb572520a9b576769ea88c86f73714 05-Jul-2011 Flavio Lerda <flerda@google.com> Fix for flaky tests: do not use background thread.

Tests are sometimes failing because a background thread is used to fetch
contact details.

This commit provides a way for tests to specify that such processing is
not needed.

Change-Id: Idd367e4add83349bcd2c7ed9306d0aa178b85230
ontacts/activities/CallLogActivityTests.java
e00060ff05c602e036cf0c3809ed866270c93c3f 04-Jul-2011 Flavio Lerda <flerda@google.com> Visual updates to the call log.

- New style icons for the different call types.
- Icons for call and playback of voicemail.
- Style definitions for call log.
- Add placeholder assets.

Change-Id: Ia2ec57dc078d1dec9680aea4917aea0490dda1a8
ontacts/calllog/CallLogListItemHelperTest.java
fd33cc3ab956222dffa6b669a13a614747a5cdff 26-Jun-2011 Katherine Kuan <katherinekuan@google.com> Add flag to AccountType for ability to edit group membership

- Needed for the group editor feature (upcoming CL)
- Only Google and Exchange group membership lists can be edited,
all other groups from other sources are not editable (for ICS at
least)

Change-Id: I8f2ab08a6ff0cebcce0b182e4793dfbc645a5412
ontacts/EntityModifierTests.java
160daa80e79f26e32b121ff1f2eba688c2380821 09-Jun-2011 Flavio Lerda <flerda@google.com> Use a cache for the contact info in the call log.

This commit introduces an ExpirableCache, a cache whose elements can be
marked as expired.

Instead of clearing the cache when the activity is resume, marked the
items in the cache as expired. Items that are found in the cache but are
expired will trigger a re-fetch of the contact details.

Change-Id: Ib06534c33d3427047afc4d95fc254a644a92d836
ontacts/util/ExpirableCacheTest.java
37a2684d1e47f6d78d757c437a187548f242ee13 27-Jun-2011 Flavio Lerda <flerda@google.com> Fixes tests on userdebug builds.

A number of tests are currently failing on userdebug builds because they
refer to methods that are used only in tests and proguard striped these
methods when building the application APK.

This change adds the VisibleForTesting annotation to all such methods.

Bug: 4901489
Bug: 4902483
Change-Id: Ic7c51ef5b77f4f2d2af39cdafbf8e2e37260644b
ontacts/format/PrefixHighligherTest.java
b2e626ad4fedc0fd726f66b9942d1b2f30d9cfef 21-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Implement phone search in DialtactsActivity

Includes tiny layout fixes for ContactSelectionActivity,
which also uses the same phone search fragment.

TODO: let the other Adapters like DefaultContactPickerFragment,
EmailAddressPickerFragment support grouping feature.

Change-Id: I8d7718192522a0005b9b76931560fe297cad882f
ontacts/interactions/PhoneNumberInteractionTest.java
b1f0e5e8a4de69bd80276742900441e930fa4c86 22-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Show dialog if multiple candidates exist

In GB we show a list of phone number to call in Favorites
screen, while we don't now.

Also refrain PhoneNumberInteraction from showing a dialog
by itself but let a nested class do instead. showDialog() is now
obsolete and we should use DialogFragment instead.

Bug: 4743008
Change-Id: I202963c2f03424f07ee386bd9713fde4091a0ae2
ontacts/interactions/PhoneNumberInteractionTest.java
ontacts/tests/mocks/ContactsMockContext.java
d2031e0c809580219faa55a27c237c7bdf8505a5 06-Jun-2011 Flavio Lerda <flerda@google.com> Refactor code for filling call log views.

Move the code that decides how to fill the call log views into a
separate helper class. This makes things easier to reuse and test.

Change-Id: I5e03e6764f395ca7e9f7ed5451c476ac1bfe6a95
ontacts/activities/CallLogActivityTests.java
ontacts/calllog/CallLogListItemHelperTest.java
ontacts/util/LocaleTestUtils.java
27d764890eeb6fb777617a781068eb0fef7558db 13-Jun-2011 Flavio Lerda <flerda@google.com> Add a test activity to add entries to the call log.

This activity can be used to add entries to the call log.

It uses existing entries to generate new data. It only changes the
actual date of the call.

Change-Id: I3dc935982a5994ffa07ee22390b1d45af12a2aac
ontacts/tests/calllog/FillCallLogTestActivity.java
5e684a424e7036ba3d379221d1889b4dd7265021 10-Jun-2011 Dave Santoro <dsantoro@google.com> Update references to ContactBrowserActivity.

The activity was moved to PeopleActivity - references in comments
and test were not all updated.

Change-Id: Ie01e514323a05c4316d4f42c9af75f7759434352
ontacts/tests/allintents/AllIntentsActivity.java
e856a6bc58384503472ea9b1a60ca16325565da8 07-Jun-2011 Flavio Lerda <flerda@google.com> Merge "Prevents NPE when trying to find index of word."
682654cb8d77a1d885ff321aa20755f98bf395d9 07-Jun-2011 Flavio Lerda <flerda@google.com> Merge "Introduces a TestLoaderManager to test loaders."
950a56825eee4b3f8c775e483a0bca1c0278d136 07-Jun-2011 Flavio Lerda <flerda@google.com> Prevents NPE when trying to find index of word.

Add check for null prefix or text and simply return the prefix was not
found if either is null.

Change-Id: I81263028a4fcdbf74e6ad0922a170b9a3b83ebae
ontacts/format/FormatUtilsTests.java
34ce5e98f78b46b858d8afd450d1153c1d985426 06-Jun-2011 Flavio Lerda <flerda@google.com> Introduces a TestLoaderManager to test loaders.

Currently, the ContactDeletionInterationTest are flaky because waiting
for one of the loader to complete will fail if the loader was completed
before we start waiting.

Since this happens asynchronously and we do not information of which
loaders have completed, there is not an easy way to know whether the
loader already completed or never started.

This change introduces a TestLoaderManager which is an implementation of
LoaderManager which delegates to another object, but keeps track of
which loaders have completed. This allows to correctly wait for Loaders
to complete, even if they might have completed before the call to
waitForLoaders takes place.

Change-Id: I5e3795e10fc9b3424b983cdef4ac32feed7dbf74
ontacts/activities/PeopleActivityTest.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/tests/mocks/ContactsMockContext.java
1acc0769aadb341950d3b08fb5bfc0fe3aaaf637 06-Jun-2011 Flavio Lerda <flerda@google.com> Use PeopleActivity for running tests.

The ContactListItemViewTests need an activity to run in. I had initially
chosen DialtactsActivity, but that does not work on the tablet.

Since what is really matters is that this is an activity defining the
proper style, PeopleActivity works just fine.

Change-Id: I198a284d5a41904cccfea3a5e67ab49a37975e90
ontacts/list/ContactListItemViewTest.java
05bc27a38dcb4d459e588c2b447b1e271f00bf6c 06-Jun-2011 Katherine Kuan <katherinekuan@google.com> Merge "New People activity"
d346edefcff32b59c3827e50057279b72de99d98 03-Jun-2011 Flavio Lerda <flerda@google.com> Add tests for CallLogAdapter's bindView.

Change-Id: I712e01f533d03025e72bf372c7756e861c98ddca
ontacts/activities/CallLogActivityTests.java
c9a9cdb5741e5e3190063f7744db7e332f63ec72 03-Jun-2011 Flavio Lerda <flerda@google.com> Fixes highlighting of prefix.

Highlighting of a prefix (from a search) in contacts name was not done
correctly when the name was also set to be in bold. This commit changes
the logic to separate the two aspects and combines them in a way that
makes things easier to use.

Change-Id: Ibdf12d8478b7ab44ca0be82353c43ed9118d29cd
ontacts/format/DisplayNameFormatterTest.java
ontacts/format/FormatUtilsTests.java
ontacts/format/PrefixHighligherTest.java
ontacts/list/ContactListItemViewTest.java
9856fcee477d04f51bdbcbfdf632876c6b8a1173 01-Jun-2011 Katherine Kuan <katherinekuan@google.com> New People activity

- This is part 1 of bringing up the new People app
- Rename ContactBrowserActivity and related XMLs to PeopleActivity
- Change Contacts to People app launcher icon
- Create new task affinity for phone app activities
- Get rid of ContactsFrontDoor activity because it doesn't need
to distinguish between Dialtacts and ContactBrowserActivity anymore

Change-Id: I8c5e1ed540b294c1bda85409ca1499f88d4459ee
ontacts/activities/ContactBrowserActivityTest.java
ontacts/activities/PeopleActivityTest.java
aade99aa5553fdb6ebdcca8a6275b1eba69a4958 03-Jun-2011 Flavio Lerda <flerda@google.com> Mark test as large.

Since it uses ActivityInstrumentationTestCase2, this is a large test as
it requires to start the entire activity.

Change-Id: I6ea38b9b8e41f2289e44416e6371c44ac6b8ead6
ontacts/list/ContactListItemViewTest.java
3d7311f76f3f41a5794b01536498c634b3ff2a69 01-Jun-2011 Flavio Lerda <flerda@google.com> Extract a couple of utility classes for formatting.

The PrefixHighlighter class handles highlighting of a prefix in a text
view.

The DisplayNameFormatter handles both the bold of the first name and the
highlight needed when searching (using the PrefixHighlighter above).

Change-Id: Ibd1d3ecd6a88ce40de6dbc591af21c1e7260511e
ontacts/format/DisplayNameFormatterTest.java
ontacts/format/FormatUtilsTests.java
ontacts/format/PrefixHighligherTest.java
ontacts/format/SpannedTestUtils.java
ontacts/format/TestTextWithHighlightingFactory.java
ontacts/list/ContactListItemViewTest.java
9ac11cef9b48a5e23db9eaf0fbeb64fd8ace4e87 01-Jun-2011 Flavio Lerda <flerda@google.com> Move the group icon to the right hand side.

Change-Id: Ic9096b01ccda99372f96b5156260c71b6dfb1cda
ontacts/activities/CallLogActivityTests.java
f4e3252f5cc7efaf60deaf5049e652a327672ae8 16-May-2011 Dave Santoro <dsantoro@google.com> Fix ContactLoaderTest.

Also added test size tags to this test and CallLogActivityTests.

Change-Id: I6162235a459566dc72835d91a929f354e0977e13
ontacts/ContactLoaderTest.java
ontacts/activities/CallLogActivityTests.java
da5bf1cf60beef3de5e651a569fa544293683926 03-May-2011 Dave Santoro <dsantoro@google.com> Modifications to bold contacts' first names.

For lists and headers, this is calculated by using a similar technique as we
use in the list view for highlighting text when the sort order and display
order do not match - we look for the overlap point between the display name
and the alternate display name, and bold the leading or trailing part, based
on the display order.

For the edit view, we convert the display name into a structured name (via an
API extracted from the structured name editor code that calls into the provider
to handle splitting), and then bold the span corresponding to the contact's
given name.

This also fixes an issue with the alternate display order in which we weren't
honoring that preference on the contact details view.

Change-Id: I6af048725541996cb303810a56a1ad79fc276e11
ontacts/format/FormatUtilsTests.java
ontacts/util/NameConverterTests.java
d37a891cb44cd17083c06d7be693c469403d16df 27-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> Enable account switcher in contact creation

- remove account selection step before contact creation
- (phone) put account info on the right side of photos
instead of having "header" for it
-- renamed header_* ids for account stuffs as they may not be
part of header any more.
- add migration functionality to EntityModifier
- add test for it
- no optimal layout

Bug: 4184675
Change-Id: I0e777f9aa37a7c9145bd430f897f8068b0bede56
ontacts/EntityModifierTests.java
439f1db6e3ca280f61d9fa44f0c0b9117e3e6b18 10-May-2011 Daniel Lehmann <lehmannd@google.com> Merge "Put the call log into a fragment and host it in a simple container activity"
bcd1227fe05b6d522bc478ef1b457ebe08bbdad1 07-May-2011 Daniel Lehmann <lehmannd@google.com> Put the call log into a fragment and host it in a simple container activity

Also did some minor refactorings:
- Combined projections and their indices in nested classes
- Put Menu/Options menu ids into container nested classes

Change-Id: If22b7f7b894ab7167420ca2ba055e2001c5becbe
ontacts/activities/CallLogActivityTests.java
a2d4a9652fb4db9ee222abc7a637366c6c50427c 07-May-2011 Katherine Kuan <katherinekuan@google.com> Fix font sizing and spacing in editor

- Remove name labels
- Remove extra divideres

Bug:4382255
Change-Id: I59c5b91e699b7386690e6df58e58b247d3086c99
ontacts/EntityModifierTests.java
809769756d9126d577ef58b423efce56fc5c1ef7 06-May-2011 Daniel Lehmann <lehmannd@google.com> Merge "Several renames for consistency. Should help with fragmentizing afterwards"
09fba0a6d82a7f88ce3c8cbb74eddd4bb96eb7e4 06-May-2011 Daniel Lehmann <lehmannd@google.com> Several renames for consistency. Should help with fragmentizing afterwards

TwelveKeyDialer ==> DialpadActivity
RecentCallsListActivity ==> CallLogActivity (be consistent with tab name)

Renamed xml files to have a clearer connection to the object that they
represent

Change-Id: Ie4f123dc03a445596e5ecc216adfef61275dbea3
ontacts/DialerLaunchPerformance.java
ontacts/RecentCallsListActivityTests.java
ontacts/activities/CallLogActivityTests.java
938097786d31e97a9354238f69d9de85cedf6551 04-May-2011 Katherine Kuan <katherinekuan@google.com> View types for adapter in ContactDetailFragment

- Use view types in adapter so that the separators are not
clickable
- Make header widget part of ListView so it scrolls off screen
- Use one list of entries instead of an arraylist of arraylists
with quadratic search time
- Get rid of inconsistencies in using section/kind interchangeably
- Fix some padding values

Bug: 4384190
Change-Id: Ib074a0f91005b6bf2d2321385b309e336ec82905
ontacts/detail/ContactDetailFragmentTests.java
57b4c0d00fd7eac4658c4b40f9643fe1227e70a7 05-May-2011 Daniel Lehmann <lehmannd@google.com> Fix a broken test for single-pane UIs

Bug:4382546
Change-Id: I1497aed3ee7fdf08e7bfc35053dd457e3b094113
ontacts/activities/ContactBrowserActivityTest.java
2591436971bad3050c85929c8e0c5a8d48111f88 30-Apr-2011 Katherine Kuan <katherinekuan@google.com> Fix "add field" logic

- Only update "add field" footer when field goes empty --> non-empty
and vice versa, fix the case for 4 line addresses in Exchange contacts
- Add property in DataKind class for "add field" string
- Remove hash map of mime types --> string resource IDs in
KindSectionView
- Remove "add internet call" string

Bug: 4363151
Bug: 4371568
Change-Id: Id2fec743a7c3e68d8404591cc61de20487245b0a
ontacts/EntityModifierTests.java
405671a7b42d97ebf7ae7c0eeb4721f881139673 29-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> Move DataKind outside AccountTypes

Bug: 4184675
Change-Id: Ibb20cb8b38d0272963fc5330c738bd17c61a5542
ontacts/EntityModifierTests.java
c86ace78ca5c2e10dcb001a916386c8a9865e230 24-Mar-2011 Daniel Lehmann <lehmannd@google.com> Provide a picker for third parties

Also fix a bug where custom labels wouldn't be shown for addresses

Bug:3378785
Change-Id: Iaafdc44fdcd67b878b80218976d8b94b529e8aeb
ontacts/tests/allintents/AllIntentsActivity.java
0a39387107a29a8fe42f760e7e660cbda33d53f3 09-Mar-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use i18n phone number lib when comparing two phone numbers

PhoneNumberUtils#compare() returns false positive result.

Bug: 2586019
Change-Id: Ia4ebd9adb36eca15f879dd3ec45870fa0c555f55
ontacts/interactions/PhoneNumberInteractionTest.java
25d91b36a70474ed05c72a7b06a2dc44a0505476 10-Mar-2011 Daniel Lehmann <lehmannd@google.com> Disable the photo preloader, to not confuse the asserts

Fixes a broken test

Bug:4081093
Change-Id: If384129ca8ab72a0a270c86bc9e573391ea5d61d
ontacts/activities/ContactBrowserActivityTest.java
ontacts/tests/mocks/MockContactPhotoManager.java
6c9b4b97752e415528279464b28560d389256783 10-Mar-2011 Daniel Lehmann <lehmannd@google.com> Fix a broken test by supplying the DataKind for structured name

Additionally cleaned up the EntityModifierTests a bit

Bug:4081093

Change-Id: I72006e9b5752633785b7c0cc833e1fff263b7b31
ontacts/EntityModifierTests.java
c9eda37df2ff1ba2f845ae330bae364cb35fa50a 23-Feb-2011 Dmitri Plotnikov <dplotnikov@google.com> Close contact editor after deleting contact

Bug: 3396132
Change-Id: I1818446b8ecb6ef71d7c763d3e7ea3dc4c820b02
ontacts/interactions/ContactDeletionInteractionTest.java
fa49a66979567894c85fe2489d1375216d67597e 13-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Preventing multiple instances of contact browser from launching

There is a lot of complexity (and simplifications) in
this CL because as it turns out having fragment transactions
was causing focus to be acquired by the search field,
which was causing all kinds of problems. So now we only
have one permanent list fragment (which should go into the XML
file) and we just change modes on it.


Bug: 3345023

Change-Id: I096be24b7598350a074eb1dadc954c7619f26669
ontacts/tests/allintents/AllIntentsActivity.java
c9731edb3173a38dcaa142da6bab7f1d9e1a5fae 12-Jan-2011 Gilles Debunne <debunne@google.com> Merge "New quickContact holo theme." into honeycomb
09f6596546bec940ef17f9f295f87808d630ccfc 08-Jan-2011 Gilles Debunne <debunne@google.com> New quickContact holo theme.

The background around photos has been removed.

Made test application use the styled quickContacts instead.

Change-Id: Ic25e32d34f325d32976a3c5f80bb15afbc8ddf08
ontacts/tests/quickcontact/QuickContactTestsActivity.java
1dc28bef7d5353310359c3711b6cdac390d8a2e0 11-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Restoring full functionality of no-account contacts

Bug: 3339401
Change-Id: I2c185ee6e1189b89fce875f59b55ccd68edf6313
ontacts/activities/ContactBrowserActivityTest.java
ontacts/interactions/ContactDeletionInteractionTest.java
ab75f82f6a95b221157f2ce3125d76d62f869ebb 10-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Beefing up ContactBrowserActivityTest

Change-Id: Iea217cafe024ca1a94f3d0f327093a72773aef93
ontacts/activities/ContactBrowserActivityTest.java
ontacts/tests/mocks/ContactsMockContext.java
ontacts/tests/mocks/MockContentProvider.java
072d91171c749f43b64900118e6f4dcbdd7b1097 10-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Adding mock shared preferences

Change-Id: I1af7cb97703191ce016a936fd843e1ac73be1022
ontacts/activities/ContactBrowserActivityTest.java
ontacts/tests/mocks/MockSharedPreferences.java
ontacts/widget/TestLoaderManager.java
931cb6128412d10f9bb1916601356766195d2859 09-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Fixing PhoneNumberInteractionTest

Bug: 3330180
Change-Id: I8431d08405bd5ad71b94679cec803ebe5315df2e
ontacts/interactions/PhoneNumberInteractionTest.java
1173ae29217fc83f254404f8a5fa10419ee83c93 09-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Fixing ContactBrowserActivityTest

Change-Id: Ie492eae15c7163d0f8a3577e73ae14b786709a35
ontacts/EntityModifierTests.java
ontacts/activities/ContactBrowserActivityTest.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/tests/mocks/MockAccountTypeManager.java
ontacts/tests/mocks/MockContentProvider.java
6f667b55687bf9193323802e8f3234f0ab254388 09-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Turning AccountTypeManager into a "system" service.

It's really not a system service proper. It just
uses the same API and the same dependency injection
mechanism as for system services.

Change-Id: I56e24e0f16642a5ab25e809ee12906d965845379
ontacts/EntityModifierTests.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/tests/mocks/MockAccountTypeManager.java
a07fa5f37031e4c5cd2933de02d2db41ec153e2b 09-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Renaming AccountTypes to AccountTypeManager.

The intent is to turn it into a "system service" of sorts.

Change-Id: I047d70a2e59978c05916965ef0c0d9f18abc55e6
ontacts/EntityModifierTests.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/tests/mocks/MockAccountTypeManager.java
ontacts/tests/mocks/MockAccountTypes.java
43fd1e84de5e28639062c20d35ba7bfec8a07001 09-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Fixing ContactDeletionInteractionTest

Bug: 3330176
Change-Id: I6726e74440cd7cb8c16d169a97da5042f77c9463
ontacts/activities/ContactBrowserActivityTest.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/tests/mocks/ContactsMockContext.java
32bac64a51c274da61c61e1fade129b6d90e6095 07-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Adding new test: ContactBrowserActivityTest

Change-Id: Ib30796b5ab4a3a30704385e7b4e0eb47451a15df
ontacts/activities/ContactBrowserActivityTest.java
ontacts/tests/mocks/ContactsMockContext.java
62d1ab3f0f945c43a697c173f0a5869871876a27 07-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Adding convenience methods to MockContentProvider

Change-Id: Ifbf5387c0472dfc1a9ce32bf9f4c0104457a9bcb
ontacts/tests/mocks/ContactsMockPackageManager.java
ontacts/tests/mocks/MockContentProvider.java
29996f299a7022b3592bdd68ef37fab283b7cadd 07-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Removing an obsolete test. Fixing a broken test (ContactLoaderTest)

Change-Id: Ifd655315cff18956b13516edcaa42d5542ec6c26
ontacts/ContactLoaderTest.java
ontacts/DefaultContactBrowseListFragmentTest.java
ontacts/EntityModifierTests.java
ontacts/tests/mocks/ContactsMockContext.java
ontacts/tests/mocks/ContactsMockPackageManager.java
8a96b1f3e980b5dff4e771fc112b6cf96fb4162c 07-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Fixing broken test: RecentCallsListActivityTest

Bug: 3066248
Change-Id: I019e25c3c56731241da16ea6b249e812f827c490
ontacts/RecentCallsListActivityTests.java
dfe20250b9f3d2cf134ba2a8a97399322ad48010 05-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Adding proper chat capability icons to contact detail

Change-Id: I4d9e01e08a8d70bb6e1591f92436a5ab7c194be6
ontacts/ContactsUtilsTests.java
ontacts/detail/ContactDetailFragmentTests.java
b77be6d2ad06edfd8751f55043e4aa9fd9f36015 04-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Removing inflation levels from AccountType.

Also, fixing asynchronous update and concurrency issues.

Bug: 3140873

Change-Id: Ie9d342d23ee4a8d23405ef4145c54d7673b2cbe9
ontacts/EntityDeltaListTests.java
ontacts/EntityModifierTests.java
ontacts/tests/mocks/MockAccountTypes.java
69f9e6f0cd9b5401da55f251e9bd98e69643d7df 04-Jan-2011 Dmitri Plotnikov <dplotnikov@google.com> Renaming fields and variables from "source" to "accountType"

Change-Id: Ie41036e35a45fc7d9a8c934a3cbe68399c567ad6
ontacts/interactions/ContactDeletionInteractionTest.java
4ef95cc3329b4ad9fa450e4090efaad9935d493f 16-Dec-2010 Dianne Hackborn <hackbod@google.com> Prepare for some changes to LoaderManager/Loader.

Sorry it is a bit ugly, it is to allow this change to be
checked in prior to the first stage of the framework change
without breaking the build.

Change-Id: Ic781324da69a06ef30a0b34cd4e16d561c9c7df2
ontacts/widget/TestLoaderManager.java
af1b1020b9701dc838ea6ac741179be8f844b706 13-Dec-2010 Dianne Hackborn <hackbod@google.com> Fix to match framework.

Change-Id: I291d1a7516994b628e8517920b6c68427338a9ce
ontacts/widget/TestLoaderManager.java
18ffaa2561cc7dd2e3ef81737e6537931c0a9a11 03-Dec-2010 Dmitri Plotnikov <dplotnikov@google.com> Renaming a couple of packages

Change-Id: I2c0f86b51baa622df629206f8b79ef1d0df09119
ontacts/ContactLoaderTest.java
66bca8f360c9e21b6a47006f21db7b46b6b46340 25-Nov-2010 Dmitri Plotnikov <dplotnikov@google.com> Turning ContactDeletionInteraction into a Fragment

Change-Id: I6edb576d0158b7082d3e2bc4d1902d34fc62cc7a
ontacts/interactions/ContactDeletionInteractionTest.java
69e82441e5fc4306a66d4f803240a544acade044 19-Nov-2010 Daniel Lehmann <lehmannd@google.com> New visuals and test for QuickContact

Bug:3172860
Bug:2591163

Change-Id: I5af7bf99481c38c6b0ad62b8f1c70b04ce930d1e
ontacts/tests/quickcontact/QuickContactTestsActivity.java
939755c5d5b6e99de62e36b39a7dbd053d220501 16-Nov-2010 Daisuke Miyakawa <dmiyakawa@google.com> Merge "Rewrite vCard importer/exporter."
7c819a1a434e02c54f6d216aa3b1a0d08cc93f50 09-Nov-2010 Daisuke Miyakawa <dmiyakawa@google.com> Rewrite vCard importer/exporter.

- stop using ServiceConnection inside ImportProcessor/ExportProcessor.
Just using methods in VCardService would be much less complicated.
- make VCardService responsible for concurrent import/export requests.
Previously ImportProcessor/ExportProcessor were responsible for them,
which made the code unnecessary complex.
- use Java concurrent library instead of manually managing requests.
- remove immature test. We need to rewrite it in the future.
- add logs.

Bug: 3064531
Bug: 3188526
Change-Id: I2565d91fb7557d786df42da4b8755cd5311434b9
ontacts/vcard/ImportProcessorTest.java
ontacts/vcard/MockVCardEntryCommitter.java
10e8fdb8ba913480d353325001db19591fc05492 15-Nov-2010 Daniel Lehmann <lehmannd@google.com> Merge "Remove MultiplePhonePickerAdapter"
dc2c68dab96769abd45a914d663e8caf866b5b0b 15-Nov-2010 Daniel Lehmann <lehmannd@google.com> Remove MultiplePhonePickerAdapter

Bug:3193559
Change-Id: Iec7ea645915a4032ec22fb2a51325a6ad0f067b2
ontacts/tests/allintents/AllIntentsActivity.java
4597c92d655d45447780b32c7572acef110b6ed1 15-Nov-2010 Dmitri Plotnikov <dplotnikov@google.com> Renaming BaseAccountType to AccountType

Change-Id: Iff47bac0e1a118f4a5319526304df16cb89bd0cd
ontacts/EntityDeltaListTests.java
ontacts/EntityModifierTests.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/tests/mocks/MockAccountTypes.java
ontacts/tests/mocks/MockSources.java
dd811207eca9db61b223837a9f44bfc81143cc50 06-Nov-2010 Dianne Hackborn <hackbod@google.com> Follow API change.

Change-Id: I4652ebd2636f9de799d665a5939c3d376a418aaf
ontacts/widget/TestLoaderManager.java
a126cddda7a8df442a1c4d63b4412d50c83725a6 04-Nov-2010 Daniel Lehmann <lehmannd@google.com> Add a test for launching the call-log

Change-Id: Id660a0a574c34e406dc2d8e2351a7423dccd1575
ontacts/tests/allintents/AllIntentsActivity.java
7b8f74678640b571196557d64dd712dc4a109c49 03-Nov-2010 Dmitri Plotnikov <dplotnikov@google.com> Removing ContactSearchActivity and SearchResultsActivity

Bug: 3124910
Change-Id: Iad3c19262b22fb2345bbff42707e1a4d186c0a62
ontacts/tests/allintents/AllIntentsActivity.java
86092529f272b7ed2cee24fae397291696b29b80 28-Oct-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing INSERT_OR_EDIT intent for contacts

Change-Id: I62e8c3628bed7443232d0e23ed50d34a55788f70
ontacts/tests/allintents/AllIntentsActivity.java
e9b196e446cc34f690a043c5f5d9e5a7b8b92b3f 26-Oct-2010 Daniel Lehmann <lehmannd@google.com> Dialog for showing phone numbers on devices that can not be used as phones

Bug:3116684

Change-Id: I000df5fa6d83812a60fa5eb4c7e621cca2adb4fe
ontacts/tests/allintents/AllIntentsActivity.java
c9e95f46486bfe2110b890709efb5399a4c6eb49 24-Oct-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing AllIntentsActivity

It had a problem finding ContactsRequest class at runtime

Change-Id: I762c99290c0fb424a814da9261e0d6a474c3539c
ontacts/tests/allintents/AllIntentsActivity.java
2013058703aa110a1d7aac87ef408c96a3919472 22-Oct-2010 Daniel Lehmann <lehmannd@google.com> Show account selector in PopupMenu to be less intrusive

Also show an account icon in the dialog-based account-selector

Bug:3117457
Change-Id: I625a25d9aeb751aec0b8e9865be76ed2ecd916d1
ontacts/tests/allintents/AllIntentsActivity.java
ontacts/tests/allintents/SelectAccountDialogFragment.java
79bea93fe361aac5b4928ef090b5021bcba99428 21-Oct-2010 Dmitri Plotnikov <dplotnikov@google.com> Adding a test for the INSERT intent with multi-valued extras

Change-Id: I429a9d9f157d3ffe8ca1110b912e29d4ac27f115
ontacts/tests/allintents/AllIntentsActivity.java
35769b804fbfd5a1fc0b2c36cd0a786d662c4334 19-Oct-2010 Daniel Lehmann <lehmannd@google.com> Renamed Sources to AccountTypes

Change-Id: I088c7d9cd66fd4d38e93bc97a6644247f72037ef
ontacts/EntityDeltaListTests.java
ontacts/EntityModifierTests.java
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/tests/mocks/MockSources.java
009676f9f2a5d8d47756be37abd9a14f2e564979 08-Oct-2010 Dmitri Plotnikov <dplotnikov@google.com> Support for Contacts with Phone Numbers Intent

In the new navigation model "contacts with phone numbers"
will be a filter that can be set via the intent,
but not explicitly in the contacts app except by using
a custom filter.

Change-Id: I4ae94812c5cab6c7e3834beff494c1e840019c03
ontacts/tests/allintents/AllIntentsActivity.java
d02a720299a1ed408f7dfbe3a46de9c43306f85d 07-Oct-2010 Dmitri Plotnikov <dplotnikov@google.com> Moving GroupingListAdapter to frameworks/ex

Change-Id: Ic82f1603b82a63a3ce383b509dad8f043af7bfe4
ontacts/GroupingListAdapterTests.java
1ec497d4c4c07faeb26ac44524be7941b639d92a 23-Aug-2010 Dmitri Plotnikov <dplotnikov@google.com> Switching to the new location of CompositeCursorAdapter

This class was moved to the android-common static library

Change-Id: I11dfb5461f71499fadc5923a3e85f9794049a184
ontacts/widget/CompositeCursorAdapterTest.java
8fd7bb6815399b3eaa7e1fb5f12a3983d2ff1006 14-Aug-2010 Daniel Lehmann <lehmannd@google.com> Show commands for XMPP video chat for Google Talk

Change-Id: I8ff105ff42ffa89b81500f386db3279ffde5fe80
ontacts/ContactLoaderTest.java
ontacts/ContactsUtilsTests.java
4d444244c4228b8d2610b754d3e40788187efaef 30-Jul-2010 Dmitri Plotnikov <dplotnikov@google.com> Switching ContactLoader to the all-encompassing query

Change-Id: Ibcf8ac0db5a10966c4742727f32af54ca1773079
ontacts/ContactLoaderTest.java
ontacts/tests/mocks/MockContentProvider.java
b15529ab554577586e9357b44047265c856845cb 27-Jul-2010 Jeff Hamilton <jham@android.com> Merge "Convert to LoaderTestCase."
ef3f8f045ed4150caa64749742227acd0e6b85d8 27-Jul-2010 Daniel Lehmann <lehmannd@google.com> Replaced Google by Android Open Source project

Change-Id: I41bf58262c5524d19119aa767e6961a46c679611
ontacts/widget/TestLoaderManager.java
1e8b2278ff591d46a3a3b435254ed3f76c4b7f99 26-Jul-2010 Jeff Hamilton <jham@android.com> Convert to LoaderTestCase.

Change-Id: I90f3ec7bf2dc8c1587f4ece7b51fcb452e33f3b4
ontacts/ContactLoaderTest.java
3b7d5949bfa524534e5d1aa29b8eaff8733ae00c 23-Jul-2010 Daniel Lehmann <lehmannd@google.com> Make it possible for View and Edit to be in a Dialog

Change-Id: I55e0f3d9369e638651034131812a590984ff2282
ontacts/tests/allintents/AllIntentsActivity.java
eb4a5d0aeb8c7f1bf1c5aba675951006bc3e209c 17-Jul-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing a broken test

Change-Id: Icced148d376a1e6cd8e810be72b208fa25021b4a
ontacts/DefaultContactBrowseListFragmentTest.java
ontacts/widget/LoaderManagingFragmentTestDelegate.java
ontacts/widget/TestLoaderManager.java
4f138ed4f8930227625117821a1c3dc9b6915653 15-Jul-2010 Dmitri Plotnikov <dplotnikov@google.com> Switching to LoaderManager

Change-Id: Ib077c819edfe4f84e53282885c6c304b82c5af9a
ontacts/DefaultContactBrowseListFragmentTest.java
ontacts/widget/LoaderManagingFragmentTestDelegate.java
ca98444277723c60be83062cf5a25ec7ca1fdb34 14-Jul-2010 Daniel Lehmann <lehmannd@google.com> Instant save in the Editor; renamed EntitySet to EntityDeltaList

Change-Id: Ib4b57e76db346bec38dcf294d895f13d4b2fc6d3
ontacts/EntityDeltaListTests.java
ontacts/EntityModifierTests.java
ontacts/EntitySetTests.java
b979b4294c14f2bc562a5279910bafb7ac1a92b4 02-Jul-2010 Dmitri Plotnikov <dplotnikov@google.com> Splitting pickers into their own activity

Change-Id: I1998b446b0aaaedc086ad99416fb6118d840623c
ontacts/tests/allintents/AllIntentsActivity.java
27834b2ae8bb5a65dfc20c212844d98d1c252cae 01-Jul-2010 Dmitri Plotnikov <dplotnikov@google.com> Moving ContactsListActivity to a different package

Change-Id: Ia8b850ed0be700458e741461ab9ea48508bbbf0b
ontacts/tests/allintents/AllIntentsActivity.java
a9dd2ca1b8077538f452632f571235b72b05fc7f 01-Jul-2010 Dmitri Plotnikov <dplotnikov@google.com> Merge "Making call/sms interaction preserve dialog state"
b4e8886bcb25cde3b03eedcc815c0166329af3a4 01-Jul-2010 Dmitri Plotnikov <dplotnikov@google.com> Making call/sms interaction preserve dialog state

And also cleaning up the implementation

Change-Id: I6d9ca845477282d4ef9db7417e99cffc9e608c86
ontacts/interactions/PhoneNumberInteractionTest.java
f302130a911d812f950c53b4a65bbfe0b2c2159c 25-Jun-2010 Daisuke Miyakawa <dmiyakawa@google.com> Add a unit test for handleOneRequestSimple().

Bug: 2733143

Change-Id: I40af33e7d5b4df8100a494de18dc0002368d79c2
ontacts/vcard/ImportProcessorTest.java
ontacts/vcard/MockVCardEntryCommitter.java
9692f2664e678b0a264c586c70cc4a9c0ffabc21 30-Jun-2010 Dmitri Plotnikov <dplotnikov@google.com> Breaking out contact deletion into a separate object.

Introducing a new type of object, Interaction,
which is neither Activity nor Fragment, but just
support for some particular function, e.g. deletion
of a contact.

Also, moving the query to the background thread.

Change-Id: I52d2607592fe3ca012284d8216003947dba5f188
ontacts/interactions/ContactDeletionInteractionTest.java
ontacts/tests/mocks/MockSources.java
1a222007768e555f38fa8875ffc73c8a83a266af 29-Jun-2010 Dmitri Plotnikov <dplotnikov@google.com> Removing obsolete constants

Change-Id: Ie957f3bcc34cabeda712d74e593bfa4240bdc732
ontacts/tests/allintents/AllIntentsActivity.java
0b976fc26e8eb09919cd24a4e13370d0ddb5ff38 29-Jun-2010 Dmitri Plotnikov <dplotnikov@google.com> Making a LoaderManagingFragment testable

Change-Id: Ie7da83a96dd4be34637efcc3c885e2889fede2ff
ontacts/ContactListModeTest.java
ontacts/DefaultContactBrowseListFragmentTest.java
ontacts/widget/LoaderManagingFragmentTestDelegate.java
a5cc2266abd475641894f4927654ccef3ebc924b 23-Jun-2010 Daisuke Miyakawa <dmiyakawa@google.com> Tiny fix. Remove @Override

Change-Id: I8a1de2c8e32b2da4e37eda6ebfa05e48d1143ad8
ontacts/vcard/ImportProcessorTest.java
7b3b27eff8f9433e495232640d28247f096f3c8f 23-Jun-2010 Daisuke Miyakawa <dmiyakawa@google.com> Add a smoke test for ImportProcessor.

Bug: 2733143
Change-Id: Iec63217c1b7be04ab0438bb76be96e70dc26e5d6
ontacts/vcard/ImportProcessorTest.java
cdef2b60aa87b1178033fdc964a3402386c03d7c 07-Jun-2010 Daniel Lehmann <lehmannd@google.com> Modal field editors

Bug:2680726
Change-Id: I167b02c50653abfa22ed72023993c9dd31f752a9
ontacts/ContactDetailLoaderTest.java
ontacts/ContactDetailTest.java
ontacts/ContactLoaderTest.java
ontacts/tests/mocks/MockContentProvider.java
e124722daa8a4b31308d53e3f0457c3b66a20ae5 03-Jun-2010 Dmitri Plotnikov <dplotnikov@google.com> Reworking contacts list adapters for the new CompositeCursorAdapter API

Also redesigning PinnedHeaderListAdapter

Change-Id: Ia4a2e7bb449fc82e1c3ac9b7a3f0c54a8e4d9d38
ontacts/tests/widget/PinnedHeaderUseCaseActivity.java
e358437074b1a6f5755ffb49909a121a2ef65615 02-Jun-2010 Dmitri Plotnikov <dplotnikov@google.com> Introducing CompositeCursorAdapter

Change-Id: Id3b33c0c4fe0cd21ff33c7439e23c95e1d970a34
ontacts/widget/CompositeCursorAdapterTest.java
3c46291ef057eaf7b7f8ca5971e59bebe734a660 15-May-2010 Jeff Hamilton <jham@android.com> Use the framework version of Loader and friends now that they exist.

Change-Id: I1c99aec7c60545a1b41b241e95447565c8bd4df4
ontacts/ContactDetailLoaderTest.java
884e393af339ba1357dd1aea4c8e821396c214b9 14-May-2010 Dmitri Plotnikov <dplotnikov@google.com> Cleaning up the implementation of Intents.SEARCH_SUGGESTION_CLICKED

Change-Id: Ib29aec1eb31bee61c594e3fd9d745ff073358bd7
ontacts/tests/allintents/AllIntentsActivity.java
18f104fa8c167a510b2cca3c15a43833c9a54c7c 08-May-2010 Daniel Lehmann <lehmannd@google.com> Refactor Contact-Editor and Contact-Viewer.

Bug:2579760

Change-Id: Id61cc6fbc2b4def72df012cca3ac3c0185b583bb
ontacts/ContactDetailLoaderTest.java
ontacts/ContactDetailTest.java
4b4681dbdedf60c5828ed7a6990097528df635f2 07-May-2010 Dmitri Plotnikov <dplotnikov@google.com> Bringing back contacts display preferences.

Cleaning up some life-cycle management issues.

Change-Id: Ifd29b898e46eb5bb713d65327d80cbf7aa562933
ontacts/ContactListModeTest.java
5daf4df867a17532584719e979b0ca7788f55b4a 06-May-2010 Jeff Hamilton <jham@android.com> Merge "Generic test code for getting synchronous loader results."
28d003e55f557d9377af1df3ba9f60bcda8ad073 30-Apr-2010 Jeff Hamilton <jham@android.com> Generic test code for getting synchronous loader results.

Change-Id: Ic77ebce6d62bffcc6a72dacfbf5f91e687b3dd52
ontacts/ContactDetailLoaderTest.java
65c90e23a0c141d390fc2177a1b461646f4f8a3a 05-May-2010 Daniel Lehmann <lehmannd@google.com> Add different Uri formats for Contact-Editor Tests

Change-Id: Ia0419893863427041f988e16a216794a831f4107
ontacts/tests/allintents/AllIntentsActivity.java
caf498bd71e2ab4b6771cfa17453dd827041f238 23-Apr-2010 Dmitri Plotnikov <dplotnikov@google.com> ContactListActivity is no longer a ListActivity

Change-Id: Iffc1abb88829598e060cc004795b111583a8abab
ontacts/ContactListModeTest.java
54d716f3ac9969d3126b878250d41f6fef472a47 22-Apr-2010 Dmitri Plotnikov <dplotnikov@google.com> Introducing CompositeListAdapter and SingleItemAdapter

Change-Id: I37fba4dad2e4a6fdbc07c6cb4956b1e7d0cbc101
ontacts/widget/CompositeListAdapterTest.java
223cc1ae94dc2facd359769eb16a70339bfdd863 22-Apr-2010 Daniel Lehmann <lehmannd@google.com> Merge "Refactor to coupler/presenter pattern. Moved framework classes to correct packages"
e8ae9acbde772c94fd7d50b3f65bd3b1278c338b 21-Apr-2010 Dmitri Plotnikov <dplotnikov@google.com> Breaking out the Multi-Picker into a separate activity.

Continuing the "nuke" part of the nuke-and-rebuild
process for ContactsListActivity. At this stage the code
will look worse than before, but hopefully will remain
fully functional.

Bear with us - we are in the middle of a major refactoring.

Change-Id: Idad9fa2e589dce0bcd3f62b9c7d5bf22fea6c5e1
ontacts/tests/allintents/AllIntentsActivity.java
c2687c3c38d8fb5f34ad6d8fb5c33e16f335183c 20-Apr-2010 Daniel Lehmann <lehmannd@google.com> Refactor to coupler/presenter pattern. Moved framework classes to correct packages

Bug:2579760
Change-Id: Ia0c475e55830aa2d8b13cdb2685fc0981b6f6ade
ontacts/ContactDetailLoaderTest.java
31ec0b51ac4d508f8727608b98d0bf916f2b20b9 19-Apr-2010 Dmitri Plotnikov <dplotnikov@google.com> AllIntents - a test application for contact list.

Bug: 2601157

Change-Id: Iff4b45f89d4d09405b0ca991b941722370ae3424
ontacts/tests/allintents/AllIntentsActivity.java
ontacts/tests/allintents/ResultActivity.java
d3e0cdb35e398249cfbe9ccf6dde589ca7face88 19-Apr-2010 Daniel Lehmann <lehmannd@google.com> Integrate ContactHeaderWidget loading into ContactLoader to save queries. Remove old Activity.

Bug:2579760
Change-Id: Ie1e6c9249c1f9550da2f6e2d3951a9b78d7e11db
ontacts/ContactDetailLoaderTest.java
ontacts/ContactDetailTest.java
ontacts/tests/mocks/MockContentProvider.java
74a2dc5dd353aa724f3b4bcfc4694f15c4d0ff73 16-Apr-2010 Daniel Lehmann <lehmannd@google.com> Speedup query by using a more narrow View. Change the Loader tests to use a Mock-ContentProvider to not change any real data

Change-Id: Ia87a53038249c8739cf66fc3a77686a1132441c3
ontacts/ContactDetailLoaderTest.java
ontacts/ContactDetailTest.java
ontacts/tests/mocks/ContactsMockContext.java
ontacts/tests/mocks/MockContentProvider.java
27f1bc8b5687dbfd6542026293d68950d4555eca 14-Apr-2010 Dmitri Plotnikov <dplotnikov@google.com> Beginnings of a unit test for ContactsListActivity.

Change-Id: I4cfc83d79b13f7ffad31120534ee0287d59254aa
ontacts/ContactListModeTest.java
ontacts/tests/mocks/ContactsMockContext.java
ontacts/tests/mocks/MockContentProvider.java
1316b13d41e0ca252236df5692a69020a471cd4e 14-Apr-2010 Daniel Lehmann <lehmannd@google.com> Write tests for ContactLoader. Re-added support for legacy style (donut) ContactUris

Change-Id: If20497bff840055c923a91b9cfcd61d22454d49e
ontacts/ContactDetailLoaderTest.java
f7ba455c7a3869a57f1a4808a5d4e91dec27de96 02-Apr-2010 Guang Zhu <guangzhu@google.com> Merge "revive contacts launch performance tests & also add the test for dialer UI" into froyo
3b61694370e6a4e657178fae266a6f486b1ed6b0 01-Apr-2010 Guang Zhu <guangzhu@google.com> revive contacts launch performance tests & also add the test for dialer UI

this is part of a larger effort to collect app launch performance for the platform.

Change-Id: Id8f881f81a32acdcfc930e214d2910f79508c4cb
ontacts/ContactsLaunchPerformance.java
ontacts/DialerLaunchPerformance.java
3aba36cc373e82ca3a3331bb77bd1278d0afde06 01-Apr-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing tests that did not get updated earlier

The change https://android-git.corp.google.com/g/#change,45372
broke the tests. I have verified that it's the tests
and not the tested code that is broken.

Bug: 2524876
Change-Id: Iaa3d1012bef301d09562793b0adac8888be2c783
ontacts/EntityDeltaTests.java
ontacts/EntityModifierTests.java
ontacts/EntitySetTests.java
d8b0a05f88099a734b75ed6b4628660feb00445f 26-Mar-2010 Daniel Lehmann <lehmannd@google.com> Don't merge numbers if they only differ after a semicolon
Bug:2432347

Change-Id: Ie62f36a29ae76287265f5ec19fc5507c0d368adf
ontacts/ContactsUtilsTests.java
c7c1905d60786936527e4baa0c131d435d8bbdb5 17-Mar-2010 Dmitri Plotnikov <dplotnikov@google.com> Fixing a broken test

Change-Id: I09e403a252ca98c7f03718b19c1ca40ad1a13e7a
ontacts/EntitySetTests.java
a741d6135d58f2ab75b8c39cca4d914378240a37 02-Feb-2010 Dmitri Plotnikov <dplotnikov@google.com> Adding support for "collapsibility" to the call log

Please note the optimizations for handling long call logs.

There is a change from the previous patch set: we now
break out from a group a bounced call if it is the latest
call in the group.

Bug: 2325659

Change-Id: I92e7dc25c2240f15f174391bf7b955c2596dbe30
ontacts/GroupingListAdapterTests.java
ontacts/RecentCallsListActivityTests.java
16c364a557d619a0396ed35249478dcf2c1ffba5 12-Nov-2009 Jeff Sharkey <jsharkey@android.com> Parse organization and notes from intent extras.

Fixes http://b/2256272
ontacts/EntityModifierTests.java
c710b0e7a7932288763d7e3d08a882ac188303a8 14-Oct-2009 Makoto Onuki <omakoto@google.com> Dedupe same entries in the fasttrack action list.

Fixes b/2159633.
ontacts/ContactsUtilsTests.java
166ab1cb67d923429d05372f1ed3a81aae9bed94 09-Oct-2009 Jeff Sharkey <jsharkey@android.com> am e31dac84: Trim edit fields that don\'t contain printable values.

Merge commit 'e31dac84479a4c7b356edfc062a447cdfb5efc69' into eclair-mr2

* commit 'e31dac84479a4c7b356edfc062a447cdfb5efc69':
Trim edit fields that don't contain printable values.
e31dac84479a4c7b356edfc062a447cdfb5efc69 08-Oct-2009 Jeff Sharkey <jsharkey@android.com> Trim edit fields that don't contain printable values.

When persisting edit changes, trim data rows that have no
printable characters. Also wrote unit tests for new method
and building of IM intents to check Uri escaping.

Fixes http://b/2173811
ontacts/ContactsUtilsTests.java
ontacts/EntityModifierTests.java
ontacts/EntitySetTests.java
44f9de96eda6cb7677e494c54dbcd17b63352e03 08-Oct-2009 Makoto Onuki <omakoto@google.com> Don't crash even when voiceMailNumber is null, which is a valid condition.

Fixes bug internal issue 2162197
ontacts/RecentCallsListActivityTests.java
7173705177c421e0b2a3bc4579b2f8910a38a668 07-Oct-2009 Jeff Sharkey <jsharkey@android.com> Ignore transient rows during re-parenting.

When editing, we create template rows such as StructuredName
and Photo, which may be trimmed before persisting if they
remain empty. When a background change occurs and we need
to re-parent the users changes, we didn't handle this
special case, and treated these trimmed rows as inserts,
which triggered the reported missing MIME-type exception.

This change watches for "transient" rows that didn't exist
previously, but were inserted and then deleted during the
process of editing. When encountered, they are ignored
during re-parenting, instead of turning into inserts.

Added a unit test to verify correct behavior, and also wrote
values-level verification for the existing unit tests.

Fixes http://b/2167925
ontacts/EntityModifierTests.java
ontacts/EntitySetTests.java
5297c6af41f3fd2f08cff5b84105af4efd1ab79f 01-Oct-2009 Jeff Hamilton <jham@android.com> New edit UI, now without tabs.

Make ExternalSource derive from FallbackSource
and add photo and name to the list of sources
since they're not optional.

Change-Id: I043db076a001a711e56dd6e5e6ee32c4c0c9477a
ontacts/EntityModifierTests.java
6bfd18de4c928f929bbe02c4af8447108660dcdf 25-Sep-2009 Nicolas Catania <niko@google.com> Added annotation for the newly created test's size.

Made it a medium test (3 secs to run + in mem sql provider + activity)
ontacts/RecentCallsListActivityTests.java
d63a9602ee06cdd276ef40309cc047c9c4b57a53 25-Sep-2009 Nicolas Catania <niko@google.com> Disable the call icon in the logs for private and unknown numbers.

We cannot callback private numbers (ie number with a caller id blocked)
so we need to disable the call icon.
Same for Unknown ones (e.g private number on GSM shows as unknown).

Added a test to make sure call icon is not visible on the right entries.

Bug:2144575
ontacts/RecentCallsListActivityTests.java
88d00c2450a0a16bf1dd35e9f3c9ba843a97ec62 23-Sep-2009 Jeff Sharkey <jsharkey@android.com> Hook up logic for re-parenting of user edits, unit tests.

When persisting edits, we assert that RawContacts.VERSION
has remained consistent. When this check fails, it usually
means that a server change has changed the underlying data,
and instead of dropping user edits, we "re-parent" their
changes after re-reading the base data.

This change finishes up the re-parenting logic to run over
an entire EntitySet, and also has a nice pile of unit tests
to verify behavior. Fixes http://b/2115136
ontacts/EntityDeltaTests.java
ontacts/EntityModifierTests.java
ontacts/EntitySetTests.java
ab066931efd4b6408b5f57026b421eb4a7934a39 21-Sep-2009 Jeff Sharkey <jsharkey@android.com> Split sources, partial inflation, third-party support.

This change splits HardCodedSources into separate classes
so they could borrow helpers from fallback. This also
finishes up FallbackSource so it handles all new types
supported by ContactsContract. The view inflaters now
handle showing all types, even if not supported as a choice
during edit. This approach also allows us to partially
inflate sources, speeding up view and FastTrack. Fixes
http://b/2116999 and http://b/2126675 and makes progress
towards fixing http://b/2134623

This change also fixes on-phone contacts, meaning we
always have fallback sources, fixing http://b/2119637 and
http://b/2123401

Repurpose code from StyleManager for Sources inflation of
third-party data sources, fixing http://b/2126691

Fix FastTrack chicklet bug so we uncheck when switching
between tabs. Since all types are in framework, we borrow
those strings here, and also clean up our descriptions for
translation.
ontacts/EntityModifierTests.java
ontacts/StyleManagerTests.java
7f86847eddbec5dff4d87ac9243d839593582e42 16-Sep-2009 Jeff Sharkey <jsharkey@android.com> Prevent unstateful edits, empty trimming, INSERT edge cases.

Monkeys found some edge cases that could perform actions
when editor was in an invalid state. Added validity checks
in about a dozen places to prevent. Fixes http://b/2121368
and http://b/2115921

Hook up trimming of extra empty fields that users have
left blank, including dropping of entire RawContact if no
valid fields remain. Also wrote a pile of unit tests to
verify behavior. Fixes http://b/2112915

Don't CCO when inserting bundles that use CharSequence
instead of Strings. Don't NPE when inserting bundles and
we encounter a DataKind that the chosen ContactsSource isn't
able to handle. Fixes http://b/2105737 and http://b/2118580

Insert bundles for INSERT_AND_EDIT cases where user chose
to edit an existing contact. Fixes http://b/2098856 and
http://b/1645578

Adopted new framework back key API from hackbod.
ontacts/EntityModifierTests.java
6f8d46b5fb96c2bead1317aae93a73fc89b093ab 11-Sep-2009 Jeff Sharkey <jsharkey@android.com> Insert, update, delete photos. Trim empty fields.

Allow photo changes when the ContactsSource allows Photo
entries. This change also trims out any inserted or updated
fields that are now "empty" according to their respective
DataKind fields. Wrote unit tests for field trimming to
ensure wiping works. Fixes http://b/2050549
ontacts/EntityModifierTests.java
49d17b3e7692ae9442c342db236fa93d4a837c28 07-Sep-2009 Jeff Sharkey <jsharkey@android.com> Lookup uris, delete, aggregation rules, untyped, sharing.

ContactsListView: combined together various import/export
menus under single dialog, hiding SIM import when no ICC
present. Switched almost all cases to use soft "lookup"
uris, especially for pick and operation cases. Brought
back delete in long-press menu, and pick modes needed for
SHOW_OR_CREATE. These partially fix http://b/2096050 and
http://b/2096870 and http://b/2102632

ViewContactActivity: changed menus to inflate from XML,
added "Share" option to replace barcode. Confirmed that it
sends vCard through Gmail, other apps can match MIME-type
to begin appearing in picker. Changed EAS rules back to
untyped for Email and IM, which now allows use to use IM
type as protocol picker. Fixes http://b/2072731 and
http://b/2092744 and http://b/2088935

EditContactActivity: restructured editing to front-load all
version assertions, and perform as single batch to prepare
for reparenting. Correctly generate AggregationExceptions
using new API from dplotnikov, especially in cases where we
create multiple RawContacts from scratch. Unit tests to
verify exceptions built correctly for edge cases. Also
showing toast when saving failed. These changes were mostly
untracked, but fixes http://b/2099211

Various untracked NPE related to untyped HardCodedSources
and cleanup of "tel" "smsto" and SMS MIME-type constants.
ontacts/EntityDeltaTests.java
ontacts/EntitySetTests.java
985585b0557d277ee2ae3e8093cd577d0d1d59b1 03-Sep-2009 Jeff Sharkey <jsharkey@android.com> Correctly change aggregation mode in all cases, unit tests.

Fixed broken unit tests, and in the process corrected an
issue where we changed aggregation mode in some cases where
is wasn't needed. (When updating but no values change.)
ontacts/EntityDeltaTests.java
aad8848282f51d73ad308e9ad3ebcef592fa153f 30-Aug-2009 Jeff Sharkey <jsharkey@android.com> Expandable structured support, organize editors, much more.

Wrote expandable editor support, so that StructuredName and
StructuredPostal could be displayed compactly on smaller
screens, but still expanded to edit all possible fields.

Reorganized editors to directly inflate classes instead of
using ViewHolder pattern. This helps us prepare for focus
saving logic coming soon, and also required that each data
row have getViewId() to be uniquely identified.

When editing EAS contacts, don't use separate types for
"Email 1", "Email 2", etc, and instead use a single overall
limit on type-less values. (This is dependant on
http://b/2065904 being resolved.)

Defined fallback "on-phone" account separately to prevent
confusion with Google account, also limited the possible
data types that could be entered.

Suspend aggregation while persisting RawContacts updates
to prevent possible re-aggregation and user confusion when
returning to View activity. Also correctly generate
AggregationExceptions when inserting new RawContacts under
an existing aggregate. Fixes http://b/2087517

When inserting Google contacts, add GroupMembership for
"My Contacts" to help visibility, fixing http://b/2070479

Don't reprompt for account when rotating during INSERT,
fixing http://b/2084585 and hide editor until finished
with async loading. Ensure that specific rows exist so
we always have StructuredName to edit, and have waiting
Phone and Email fields for INSERT.

Used better method of creating generic ArrayList/HashMap.
ontacts/EntityModifierTests.java
d4c41d5c553745fb1126e01334319f05f0808eb3 11-Aug-2009 Jeff Sharkey <jsharkey@android.com> Unique strings for labels and actions, SMS as alternate.

To prepare for strings in various languages, make unique
strings for each combination of "action" and EditType, for
example, "Call home" and "Email work" as unique strings.

Also added iconAltRes and actionAltRes to handle alternate
actions on data rows, such as SMS for phone numbers. These
changes allow Fast-Track to show correct labels.
ontacts/EntityModifierTests.java
14f61ab769f6e178a540a7579e446a010fb836da 06-Aug-2009 Jeff Sharkey <jsharkey@android.com> Switch edit UI to tabs, TYPE_ASSERT for version, cleanup.

Integrated with the tabs and header widget built by
emillar, kept separate from BaseContactCardActivity since
I'm handling EDIT/INSERT intents differently. Added hooks
to pick primary photo/name from header.

Cleaned up the colorful testing UI, added padding to match
mocks, and initial pass at collapsed secondary area. Added
back menu items and confirmation toast.

Changed to new TYPE_ASSERT ContentProviderOperation for
asserting RawContacts.VERSION number during updates.
ontacts/EntityDeltaTests.java
d046a039e41deab0635c3327cd40c3896e39acad 03-Aug-2009 Jeff Sharkey <jsharkey@android.com> Delta parceling, valid types bugfix, INSERT parsing.

Made EntityDelta and ValuesDelta directly Parcelable to
pass across configuration changes. Moved the re-parenting
code to separate EntityDelta.mergeAfter() method. Fixed
getValidTypes() bug that didn't handle typeOverallMax
in "unlimited" cases. Wrote INSERT parsing code to merge
incoming extras bundle into a new or existing EntityDelta,
also handles any source constraints.

Initial hook-up of edit UI to persist changed data, only
shows first Entity because not connected to tabs yet.
ontacts/EntityModifierTests.java
8d9767d79f9fe2a09ee6e981b1fede7e9863d62a 02-Aug-2009 Jeff Sharkey <jsharkey@android.com> Refactor "Augmented" to "Delta" to make meaning clearer.
ontacts/AugmentedEntityTests.java
ontacts/EntityDeltaTests.java
ontacts/EntityModifierTests.java
07c2e41b5ce7abeb9dd14e5d700a8fb928723330 30-Jul-2009 Jeff Sharkey <jsharkey@android.com> Bulk of constraint enforcement code, "best" suggestions.

Wrote getValidTypes() which builds a list of EditTypes that
can be inserted given a AugmentedEntity state, which is our
mechanism for enforcing ContactsSource constraints. This
also drives canInsert(), which provides the enabled state
for our "add" buttons.

This change also reintroduces "suggested" types, used to
pick the default EditType for newly added entries. It picks
the first primary type that doesn't already appear, or
otherwise picks the last primary type. (This gives us a
nice "add" transition down the list of possible types.)

Finally, this change connects all of this logic into the
UI, picking available labels and enabling "add" according
to any constraints. Also wrote unit tests to verify the
above code is producing the expected results. These tests
exercise the backbone of our constraint-enforcement logic.
ontacts/AugmentedEntityTests.java
ontacts/EntityModifierTests.java
e731d426eda3692402f3cecdc29421fcf7f1fb54 29-Jul-2009 Jeff Sharkey <jsharkey@android.com> Fixed VERSION check, persist changed values, IM changes.

Moved the buildDiff() VERSION assertion to the first
operation, since otherwise the value has already changed
when we reach it.

Added the few lines needed to start persisting any edited
data. Still need to write the back-off and retry when we
encounter a VERSION failure.

Cleaned up our hard-coded data types, added support for
StructuredPostal and IM editors. Standardized the EditText
flags for IME between the sources. Based on a pending
framework change, moved to using two fields for IM to mirror
how we handle TYPE values.
ontacts/AugmentedEntityTests.java
309e89f36aeca6d6a81e13ea95b7e4af6e491073 28-Jul-2009 Jeff Sharkey <jsharkey@android.com> Add AugmentedEntity.buildDiff() code, with unit tests.

Another step along the way to editing contacts, this change
implements building the ContentProviderOperations needed
to "diff" an existing Entity to match an edited state.

Most work is done by AugmentedValues.buildDiff(), which
builds the insert, update, or delete operation needed to
match its internal "after" state. AugmentedEntity builds
up the list of all operations from its direct values and
any children.

When changes are made, an "enforcement" action is added to
verify that the RawContacts.VERSION matches the "before"
Entity. If this test fails, someone else (probably a sync)
has touched the Contact, and our entire operation is rolled
back, allowing us to re-read the base Entity and retry.

This approach also handles inserting an entirely new
RawContact, which removes the need for separate create() and
save() methods in our edit UI.

Finally, two batches of unit tests have been added. The
first batch verifies the Parcel'ing of AugmentedEntity
objects, which is used across configuration changes, and
when applying changes over a re-read Entity. The second
batch verifies the expected ContentProviderOperations that
various buildDiff() calls should produce.
ontacts/AugmentedEntityTests.java
ontacts/ContactsLaunchPerformance.java
4c0864dff21e4d193b7c26b73f10ba096e5f5009 15-Jul-2009 Evan Millar <emillar@google.com> Remove a local copy of a context object from StyleManager.

StyleManager was caching a context object received from the
instantiating object. This is bad, as it can lead to memory leaks. Now
all calls onto StyleManager that will need a context require the context
to be passed into the method.
ontacts/StyleManagerTests.java
e49dfacf0b7b1c327b82bf1bef3c1d4c8c56c845 01-Jul-2009 Evan Millar <emillar@google.com> Adds the StyleManager class.

StyleManager provides APIs for the Contacts app to retrieve icons from
third party sync adapter packages to display in the Contacts UI.
StyleManager also keeps a Cache of the requested icons in memory.
ontacts/StyleManagerTests.java
7aa0e4cb91c869108238733ca107d18ccb888df7 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ontacts/ContactsLaunchPerformance.java
cefa28cded1cd8d1af1a27ee934aedc65394b8dd 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ontacts/ContactsLaunchPerformance.java
5dc3b4f80f38c0d48601f66c2c0e551474a7f8ad 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ontacts/ContactsLaunchPerformance.java