History log of /packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a87f9f49c7f773d9ad0926de5017463d72938dab 09-Jun-2015 Zheng Fu <zhengfu@google.com> Roll out new aggregator to limited dogfooders.

Bug:19908937
Change-Id: I77e09aac3c60c60882f508a637225a4dc478a2ce
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
d0d961e19f19704f7967dadf5be61fe6273a1d32 01-Jun-2015 Zheng Fu <zhengfu@google.com> Performance tuning for contact aggregator2

1. Skip already aggregated raw contacts during aggregation algorithm upgrade.
2. Remove case conversion during email comparion for better performance.
3. Fix bugs in the ContactAggregatorHelper to fix the flaky unit test.

Bug:21466686
Bug:19908937
Change-Id: I6f59894a4fdc605fe1b92ac82e2ac9e90561a158
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
3a83f4c60fbe7eb2ee31186d0675dcfbac3ee6b5 27-May-2015 Makoto Onuki <omakoto@google.com> Fix invalidateAggregationExceptionCache().

Also clean up aggregator in preparation in preparation for b/19482664

Two tests in ContactAggregator2Test are failing, but it's irrelevant to this
change. (Bug filed for this.)

Change-Id: Id630812335fdaa2ab4955c240700b82fed84d1a8
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
6012b85f0eef8ebcfcb73b72216d17893804d4ea 02-Apr-2015 Zheng Fu <zhengfu@google.com> Add some new method implementations for new contact aggregator.

Also add a ContactAggregatorHelper class to hold some helper methods
to better falicitate unit testing

Bug:19908937
Change-Id: I2e2bcef2228e7a171e9c3259c27c3fa28bde646c
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
3cf9ac64046bfd65d419476c900d3d98d3eccfeb 05-Mar-2015 Brian Attwell <brianattwell@google.com> Prioritize regular names over phonetic names. P2/2

When choosing display names, prioritize StructuredNames that
have more than phonetic components.

I make no attempt to handle the case where a StructuredName
with only phonetic components is marked super primary. If
clients do this, the behavior is still undefined.

Bug: 19587274
Change-Id: I503c0fff6da30b9f1d6b6cbeaedfc4d9314f8a00
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
f256a7cf7f78d5ff2573358eb2eadd6f3a2ec9db 28-Jan-2015 Brian Attwell <brianattwell@google.com> Remove NAME_VERIFIED. Part3

Support use of IS_SUPER_PRIMARY instead of NAME_VERIFIED.
The contact aggregator now pays attention to
IS_SUPER_PRIMARY.

Remove all references to NAME_VERIFIED from CP2.

Bug: 18777272
Change-Id: I1579a3122b2d45b80de7106a2b9616e323855045
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
8ddd7038fb59c1b346ee8baa8fcef57cc3eebf0c 28-Jan-2015 Brian Attwell <brianattwell@google.com> Additional change to IS_SUPER_PRIMARY

UPDATE
-----------------
This is being committed a second time, with
two small changes from ag/619454:
1. This CL can be directly cherry-picked to MR1 because
of the simpler unit test
2. Don't run a pointless update() call

Original CL Comment
------------------

Noticed clearSuperPrimarySetting() sometimes clears all
mimetypes's is_super_primary flag values sometimes, even
mimetypes that aren't contained in both raw contacts.

This doesn't appear to have been the intended behavior.
Looks like a simple bug. Wrote a unit test and fixed
the bug. Added a new method to DataUtil used inside the
unit test. This method wasn't strictly necessary. But
it is very useful in later CLs.

(Part #2 or "Remove NAME_VERIFIED" series of CLs)

Bug: 5080996
Bug: 18777272
Change-Id: I7944aae2ad4acb4df6560c5cd086242b7582fbf5
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
2ffd05bbcf37129f2126b563e5185f429a9a9042 29-Jan-2015 Brian Attwell <brianattwell@google.com> Revert "Additional change to IS_SUPER_PRIMARY"

This reverts commit c44ee526c56d2f5e680cef24897cff3a922d6a2f.

Change-Id: I2d81fb028eb0672db9cc291ac187c2629435969d
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
c44ee526c56d2f5e680cef24897cff3a922d6a2f 28-Jan-2015 Brian Attwell <brianattwell@google.com> Additional change to IS_SUPER_PRIMARY

Noticed clearSuperPrimarySetting() sometimes clears all
mimetypes's is_super_primary flag values sometimes, even
mimetypes that aren't contained in both raw contacts.

This doesn't appear to have been the intended behavior.
Looks like a simple bug. Wrote a unit test and fixed
the bug. Added a new method to DataUtil used inside the
unit test. This method wasn't strictly necessary. But
it is very useful in later CLs.

(Part #2 or "Remove NAME_VERIFIED" series of CLs)

Bug: 5080996
Bug: 18777272
Change-Id: I354ffe51ea64cc532387d7ba79fbb6d2389d662e
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
75b452b88ad2841415a48e95706f538428ec200a 27-Jan-2015 Brian Attwell <brianattwell@google.com> Change IS_SUPER_PRIMARY reset logic

CHANGES
1) change is_super_primary reset as discussed in
go/proposed-change-to-resetting-super-primary-on-join
2) fix a bug in case #1 of testAggregation_clearSuperPrimary and
extended the case a bit. Previously, both data rows had
is_super_primary=false at setup instead of both true

REASON
This is mostly for the benefit of Lychee and future contact editor
changes.

This CL was also needed to make removing use of NAME_VERIFIED
from GoogleContacts possible. At the very least, IS_SUPER_PRIMARY's
behavior is now more consistent with NAME_VERIFIED.

Bug: 5080996
Bug: 18777272
Change-Id: Ic3c17fcb1757f5966a7c6a52cf489083d5b8e51a
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
a6ef5e923773c8872779c907237d3ecb6545ed7b 22-Jan-2015 Brian Attwell <brianattwell@google.com> AggregationSuggestions.Builder Part 3/3

Remove unit tests for AggregationSuggestions types
that have been deleted. These types were never
implemented in the first place.

Bug: 18777272
Change-Id: I5c4066d1e933cc4ab18df06809687ee2b7eac91c
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
085a7471448168069dac091eeb8a1c5e76138ffb 08-Dec-2014 Zheng Fu <zhengfu@google.com> Skip aggregation if candidate contact contains too many raw contacts

This is likely an error or a shared corporate data element
Bug:18641722

Change-Id: Icab78bcf621363a5b887095c043e2e1e3a2e1ca4
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
098215569d35a130c883933ec76773e85356387e 21-Oct-2014 Zheng Fu <zhengfu@google.com> Modify the contact split logic to avoid over-split issue.

Details

If the best matching contact doesn't contain any raw contacts from the same
account as the given raw contact, join them together if no identity mismatch
between them on the same namespace, otherwise, keep them separate.

If the best matching contact contains raw contacts from the same account as
the given raw contact, join them together if they share at least one email
address, phone number, or identity; otherwise, re-aggregate raw contact and all
the raw contacts of best matching contact.

When re-aggregation is needed, re-aggregate all the raw contacts (given raw
contacts plus all the raw contacts of the best matching contact) based on the
pair-wise connectivity. Two raw contacts are considered connected if they share
at least one email address, phone number or identity.

Bug:18304324
Change-Id: Ic5a27a23c2f64f534f7a7eaf5f3fb474e877c207
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
df1e589415a68f4427219459ced28638d382132b 13-Nov-2014 Zheng Fu <zhengfu@google.com> Make the email comparison case-insensitive for contact aggregation.

Bug:18304324
Change-Id: If9e11022e392323b770c7560eba69617769ca080
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
84e66f5469168132e0ef8efc5e6f08f21608b383 05-Sep-2014 Zheng Fu <zhengfu@google.com> DO NOT MERGE Remove default settings during contacts aggregation.

Set is_super_primary to 0 for all the shared mime-types's data
between aggregated contacts.

Bug:5080996
Change-Id: Ie65259c11d719b343f234e5fccf883491e7992a7
(cherry picked from commit 96ddeddc52c85710a10cd8266c054ff1b1c5a52b)
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
8a8ddc3d1ceee9872ace06326ebe999ba171f70b 25-Jul-2014 Makoto Onuki <omakoto@google.com> Do not build NAME_LOOKUP from phonetic names

This prevents aggregation by phonetic name

Note: if a contact only has a phonetic name (i.e. without any non-phonetic name components), then
its display name is set from the phonetic name. This CL does *not* prevent phonetic-name-based
display names getting into NAME_LOOKUP, meaning if two contacts have no names but the same phonetic
name, then they *will* still be aggregated. But this shouldn't be an issue since what was an issue
was "aggregating two contacts with *different* names with the same phonetic name".

Bug 10957673

Change-Id: I6484128b1f7e4bbe1b08c57969a8a1ef147d5c7d
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
8ed367fdc0b086d54c489f68d555e2f0a4035f63 12-Mar-2013 Chiao Cheng <chiaocheng@google.com> Adding contacts delta api.

Updates and inserts can be detected through the use of a new timestamp
field in the contacts table.

Deletes can be detected by querying the new deleted_contacts table.

Bug: 8182147
Change-Id: I5c1e596f4e1aa58528afc29396f79cb4051e229c
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
38210445730ee04c351c7cc1b3800cfe23e34325 27-Jun-2012 Makoto Onuki <omakoto@google.com> Reorganize import in contacts provider

Change-Id: If3afb134ea36bd93859efcd114885526e1592b91
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
64ee95a3e48d6f83e338764650c53a915b778cdf 13-Jun-2012 Makoto Onuki <omakoto@google.com> am a499a2ad: Merge "Fix aggregation exception problem"

* commit 'a499a2adb856223de65d298cd93d70c85afe3d4d':
Fix aggregation exception problem
80628945e7e41bb9363c2fbbd2938890b9217792 30-Apr-2012 Makoto Onuki <omakoto@google.com> Don't show the invisible in frequent

Bug 6000492

Change-Id: I5959cad0e3c04476a1b133508c60cdb8037b16f7
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
89f033e186043aeacaf16f73df44f2e0e6a106fa 26-Apr-2012 Makoto Onuki <omakoto@google.com> Don't suggest invisible for aggregation

Bug 6400450

Change-Id: I4b5ed4a331f6740c3954b232633076e60e1de140
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
0992b9d4969ed0eee6e879db94292b635229e2b7 11-Apr-2012 Makoto Onuki <omakoto@google.com> New aggregation logic

Now a raw contact can be merged into a contact containing raw contacts from
the same account if there's at least one raw contact in those raw contacts
that shares at least one email address, phone number, or identity.

Now the aggregation logic version is 3.

Also:
- Make sure changes to the identity triggers aggregation.

- Stop re-using some HashMaps/HashSets, as they don't shirink the internal
table when clear()ed. During the aggregation update we may put a bunch of
stuff into those, and we want to make sure that we don't keep unnecessarily
bit internal tables after the upgrade. This should be okay with the modern
dalvik GC.

Change-Id: I855085d334679363cf9bffb918ca2ceb0cfe77f5
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
583b1364980fd46a5012825886af3160752ff19c 29-Mar-2012 Makoto Onuki <omakoto@google.com> Make unit tests not crash

Workaround for "Cursor window allocation of 2048 kb failed" during
ContactAggregatorTest.

This should be some kind of OOM because if I run only ContactAggregatorTest
it passes without a crash.

Couldn't figure out the root cause. Instead of spending too much time on it,
decided to mark move all large tests except for ContactsProvider2Test to
medium.

Also did some cleanup for SynchronousContactsProvider2 and
SynchronousProfileProvider.

Bug 6249848

Change-Id: I51d80db1e4025ff20642bc3abf8074f882da47d8
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java
49ed71913609193a00059df944f6259e9397b0bd 05-Mar-2012 Makoto Onuki <omakoto@google.com> Move aggregator to its own package

... so that methods used only by ProfileAggregator don't have to be public.

And fix some method visibilities that don't make sense.

Needed to change the bogus ID in PhotoStoreTest; otherwise moving the
aggregator test will make this test fail for some unclear reason.

Bug 6118852

Change-Id: Ic0c022cbf50128f40c70559c1a7cf8e2a6c06fc8
/packages/providers/ContactsProvider/tests/src/com/android/providers/contacts/aggregation/ContactAggregatorTest.java