From 093b6446d0c63b8d725324ea41369b76ace153df Mon Sep 17 00:00:00 2001 From: Dmitri Plotnikov Date: Thu, 14 Oct 2010 14:17:18 -0700 Subject: Fixing the trigger for aggregated presence. Aggregated presence was not updated properly when presence was changed to NULL. Added a test that covers the specific situation. Bug: 3069107 Change-Id: I52396db7c9006e9f18ec6b7c51b22ba09c0ae480 --- .../providers/contacts/ContactsProvider2Test.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'tests') diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java index 5114894..5b40485 100644 --- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java +++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java @@ -1345,6 +1345,34 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { assertStoredValuesWithProjection(contactUri, values); } + public void testStatusUpdateUpdateToNull() { + long rawContactId = createRawContact(); + insertImHandle(rawContactId, Im.PROTOCOL_AIM, null, "aim"); + + long contactId = queryContactId(rawContactId); + Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); + + ContentValues values = new ContentValues(); + Uri statusUri = + insertStatusUpdate(Im.PROTOCOL_AIM, null, "aim", StatusUpdates.AVAILABLE, "Available", + StatusUpdates.CAPABILITY_HAS_CAMERA); + long statusId = ContentUris.parseId(statusUri); + + values.put(Contacts.CONTACT_PRESENCE, StatusUpdates.AVAILABLE); + values.put(Contacts.CONTACT_STATUS, "Available"); + assertStoredValuesWithProjection(contactUri, values); + + values.clear(); + values.putNull(StatusUpdates.PRESENCE); + mResolver.update(StatusUpdates.CONTENT_URI, values, + StatusUpdates.DATA_ID + "=" + statusId, null); + + values.clear(); + values.putNull(Contacts.CONTACT_PRESENCE); + values.put(Contacts.CONTACT_STATUS, "Available"); + assertStoredValuesWithProjection(contactUri, values); + } + public void testStatusUpdateWithTimestamp() { long rawContactId = createRawContact(); insertImHandle(rawContactId, Im.PROTOCOL_AIM, null, "aim"); -- cgit v1.1