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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|
aa18c233fdec3359c5231d4a5f61188446bf5d6f |
|
16-Apr-2015 |
Zheng Fu <zhengfu@google.com> |
use new setting flag to switch between current and new aggregator. In order for the switch, add AbstractContactAggregator for ContactAggregator and ContactAggregator2. Bug:20055573 Change-Id: I6f27d4df8017938b226f5c6371b15ba41fd18acd
/packages/providers/ContactsProvider/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|
4a47775ab4008165328ddab97f5151ddd94d9ab8 |
|
30-Jul-2014 |
Yorke Lee <yorkelee@google.com> |
Fix broken aggregation behavior for pinned contacts and tests Update the value of some pre-defined constants in tests Make sure that aggregation correctly sets pinned positions for aggregated contacts - the lowest pinned position of all constituent raw contacts, and 0 if none of them are pinned. Bug: 16628573 Change-Id: I3e072baf7ff933a6eef861ed394f3fc817aee48b
/packages/providers/ContactsProvider/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|
45b023e89d87b66e44c1b79c6e1444ec9db70a82 |
|
06-Aug-2013 |
Yorke Lee <yorkelee@google.com> |
Handle DEMOTE and UNDEMOTE in CP2 * If a contact is UNDEMOTED, if it was previously DEMOTED, it will become UNPINNED. Otherwise, it will remain unchanged. * When two raw contacts are aggregated, the parent contact should inherit the lower pinned position of the two, not including negative integers. Change-Id: I74f41dfa327b8e5a79688b1e99eafbef7d9d58a0
/packages/providers/ContactsProvider/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|
81fea08280784b319b936a3506788d595c6ce2ad |
|
18-Jul-2013 |
Yorke Lee <yorkelee@google.com> |
Add pinning support in ContactsProvider Change-Id: I3c835c2fd0faf99f8fb176752cfcb12e011095a2
/packages/providers/ContactsProvider/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|
38210445730ee04c351c7cc1b3800cfe23e34325 |
|
27-Jun-2012 |
Makoto Onuki <omakoto@google.com> |
Reorganize import in contacts provider Change-Id: If3afb134ea36bd93859efcd114885526e1592b91
/packages/providers/ContactsProvider/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|
64ee95a3e48d6f83e338764650c53a915b778cdf |
|
13-Jun-2012 |
Makoto Onuki <omakoto@google.com> |
am a499a2ad: Merge "Fix aggregation exception problem" * commit 'a499a2adb856223de65d298cd93d70c85afe3d4d': Fix aggregation exception problem
|
89f033e186043aeacaf16f73df44f2e0e6a106fa |
|
26-Apr-2012 |
Makoto Onuki <omakoto@google.com> |
Don't suggest invisible for aggregation Bug 6400450 Change-Id: I4b5ed4a331f6740c3954b232633076e60e1de140
/packages/providers/ContactsProvider/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|
9d9994ea8f6b02d2c1afb48a9d776c4c26d6c989 |
|
23-Apr-2012 |
Makoto Onuki <omakoto@google.com> |
Merge "New aggregation logic"
|
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/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|
c23a30e0510cf56d1dafddc79d1ab99ae9297a3f |
|
12-Apr-2012 |
Makoto Onuki <omakoto@google.com> |
Fix most of photo tests Adjusting existing unit tests for higher res photos turned out to be tricky, because the size of the test images were selected for 256x256. (e.g. cropping tests) Also we don't want the display photo size to change depending on the running device. So let's just keep using 256x256 for all unit tests. Added new asserts to EvenMoreAssert to compare image raw data, which prints actual/expected dimensions when it fails. Even with this CL, ContactsProvider2Test.testInputStreamForPhoto() still fails with the following assert message. The image size seems to be correct, so I'm not sure why. This may be because we've changed the compression rate, but I didn't dig into it. "Different data lengths: expected=1088 actual=1578, expected dimentions=[96 x 96] actual dimentions=[96 x 96]" Anyway, with this CL at least PhotoStoreTest will no longer crash, so let's merge it now and take care of the failing test later. Change-Id: I935f76acee3c2de99030c62e14f43de07074fb8a
/packages/providers/ContactsProvider/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|
81567f4a0f7c9c338506bd82f4d33e83c2ccf159 |
|
23-Mar-2012 |
Makoto Onuki <omakoto@google.com> |
Add new package aggregation.util Move aggregator related classes into it. Change-Id: I712fe07ad2bab1e532e3822e3e2797a199329865
/packages/providers/ContactsProvider/src/com/android/providers/contacts/aggregation/ContactAggregator.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/src/com/android/providers/contacts/aggregation/ContactAggregator.java
|