diff options
author | 2015-04-13 17:49:17 -0700 | |
---|---|---|
committer | 2015-04-16 11:33:54 -0700 | |
commit | 44a175732dc4b872515f978b986ef7b357fe2f00 (patch) | |
tree | be4c2e92514d7f5ac8306149ba469607ffb0f0e7 /java/src/com/android/inputmethod/latin/ContactsDictionaryConstants.java | |
parent | 40f0f61bb365b5073f1d9fdb56a393c5df5ef4b0 (diff) | |
download | latinime-44a175732dc4b872515f978b986ef7b357fe2f00.tar.gz latinime-44a175732dc4b872515f978b986ef7b357fe2f00.tar.xz latinime-44a175732dc4b872515f978b986ef7b357fe2f00.zip |
Add affinity model for contact names.
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
Diffstat (limited to 'java/src/com/android/inputmethod/latin/ContactsDictionaryConstants.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/ContactsDictionaryConstants.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/latin/ContactsDictionaryConstants.java b/java/src/com/android/inputmethod/latin/ContactsDictionaryConstants.java index 8d8faca58..022940910 100644 --- a/java/src/com/android/inputmethod/latin/ContactsDictionaryConstants.java +++ b/java/src/com/android/inputmethod/latin/ContactsDictionaryConstants.java @@ -26,7 +26,8 @@ public class ContactsDictionaryConstants { /** * Projections for {@link Contacts.CONTENT_URI} */ - public static final String[] PROJECTION = { BaseColumns._ID, Contacts.DISPLAY_NAME }; + public static final String[] PROJECTION = { BaseColumns._ID, Contacts.DISPLAY_NAME, + Contacts.TIMES_CONTACTED, Contacts.LAST_TIME_CONTACTED, Contacts.IN_VISIBLE_GROUP }; public static final String[] PROJECTION_ID_ONLY = { BaseColumns._ID }; /** @@ -36,13 +37,16 @@ public class ContactsDictionaryConstants { public static final int FREQUENCY_FOR_CONTACTS_BIGRAM = 90; /** - * The maximum number of contacts that this dictionary supports. + * Do not attempt to query contacts if there are more than this many entries. */ - public static final int MAX_CONTACT_COUNT = 10000; + public static final int MAX_CONTACTS_PROVIDER_QUERY_LIMIT = 10000; /** * Index of the column for 'name' in content providers: * Contacts & ContactsContract.Profile. */ public static final int NAME_INDEX = 1; + public static final int TIMES_CONTACTED_INDEX = 2; + public static final int LAST_TIME_CONTACTED_INDEX = 3; + public static final int IN_VISIBLE_GROUP_INDEX = 4; } |