diff options
author | 2010-07-26 11:43:29 -0700 | |
---|---|---|
committer | 2010-07-28 11:08:08 -0700 | |
commit | 80aa14fd432cf7d2c67f2fcfcc57c80f29f8eb64 (patch) | |
tree | 384655d5c7207325014888fd26da1bc7188db66e /java/src/com/android/inputmethod/latin/ContactsDictionary.java | |
parent | 679b838b05a70ed965017635efdf536449aa230f (diff) | |
download | latinime-80aa14fd432cf7d2c67f2fcfcc57c80f29f8eb64.tar.gz latinime-80aa14fd432cf7d2c67f2fcfcc57c80f29f8eb64.tar.xz latinime-80aa14fd432cf7d2c67f2fcfcc57c80f29f8eb64.zip |
- separate dict (uses xml)
- retrieve bigrams that only starts with character typed and neighbor keys
- contacts bigram
- performance measure
bug: 2873133
Change-Id: If97c005b18c82f3fafef50009dd2dfd972b0ab8f
Diffstat (limited to 'java/src/com/android/inputmethod/latin/ContactsDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/ContactsDictionary.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/ContactsDictionary.java b/java/src/com/android/inputmethod/latin/ContactsDictionary.java index f5ff865c4..756782887 100644 --- a/java/src/com/android/inputmethod/latin/ContactsDictionary.java +++ b/java/src/com/android/inputmethod/latin/ContactsDictionary.java @@ -22,6 +22,8 @@ import android.database.ContentObserver; import android.database.Cursor; import android.os.SystemClock; import android.provider.ContactsContract.Contacts; +import android.text.TextUtils; +import android.util.Log; public class ContactsDictionary extends ExpandableDictionary { @@ -30,6 +32,12 @@ public class ContactsDictionary extends ExpandableDictionary { Contacts.DISPLAY_NAME, }; + /** + * Frequency for contacts information into the dictionary + */ + private static final int FREQUENCY_FOR_CONTACTS = 128; + private static final int FREQUENCY_FOR_CONTACTS_BIGRAM = 90; + private static final int INDEX_NAME = 1; private ContentObserver mObserver; @@ -90,6 +98,7 @@ public class ContactsDictionary extends ExpandableDictionary { if (name != null) { int len = name.length(); + String prevWord = null; // TODO: Better tokenization for non-Latin writing systems for (int i = 0; i < len; i++) { @@ -113,7 +122,13 @@ public class ContactsDictionary extends ExpandableDictionary { // capitalization of i. final int wordLen = word.length(); if (wordLen < maxWordLength && wordLen > 1) { - super.addWord(word, 128); + super.addWord(word, FREQUENCY_FOR_CONTACTS); + if (!TextUtils.isEmpty(prevWord)) { + // TODO Do not add email address + super.addBigrams(prevWord, word, + FREQUENCY_FOR_CONTACTS_BIGRAM); + } + prevWord = word; } } } |