New contact aggregator (part 1)
Summary of the changes are:
1. In RawContactMatcher, add rawContactId and accountId to MatchScore
inner class, so that match score is on raw contacts level instead]
of accumulate to contact level
2. Add a wrapper RawContactMatchingCandidates to MatchScore to
facilitate the aggregation.
3. In ContactAggregator2, add findRawContactMatchingCandidates()
method to find the set of matching raw contacts for a given
raw_contact_id. This method will use the logic of
updateMatchScoresForSuggestionsBasedOnDataMatches() so that
it will give a set of raw contacts candidate with matching score
above threshold.
4. The second stage "Pair-wise comparison and find the
connected component of all the raw contacts in
RawContactMatchingCandidates" is done in new method
reAggregateRawContacts();
5. Some new methods still throw unSupportedOperationExceptions, and
they will be implemented in part2.
6. Tests will be implemented in follow-up cls.
Bug:19908937
Change-Id: I53483a29c24401e2f38a727168e7431cef86370a
3 files changed