This allows us to:
1. Rank contacts and only add the top N names to the keyboard LM.
2. Avoid adding duplicate names.
Note: The affinity calcualuation is limited by the fact that some apps
currently do not update the TIMES_CONTACTED counter. To better handle
this case, the new measure also takes into account whether or not a
name is in the visible contacts group.
Bug: 20053274
Change-Id: I2741cb8958667d4a294aba8c437a45cec4b42dc7
Break contacts binary dictionary into two parts
- one that talks to contacts content provider and maintains
local state. Includes a manager class and a content observer
- other one that just manages the dict code.
Change-Id: Ie8f89ac9ce174c803ff3168ee0bee5cbe7721d5b