am 78c46117
: Fix LatinIME crashing due to crash in Contacts DB
Merge commit '78c4611719f10b4a53ade54ab5eeb390061737a3' into gingerbread-plus-aosp * commit '78c4611719f10b4a53ade54ab5eeb390061737a3': Fix LatinIME crashing due to crash in Contacts DB
This commit is contained in:
commit
6b6ae29b61
1 changed files with 47 additions and 38 deletions
|
@ -32,6 +32,8 @@ public class ContactsDictionary extends ExpandableDictionary {
|
|||
Contacts.DISPLAY_NAME,
|
||||
};
|
||||
|
||||
private static final String TAG = "ContactsDictionary";
|
||||
|
||||
/**
|
||||
* Frequency for contacts information into the dictionary
|
||||
*/
|
||||
|
@ -80,11 +82,15 @@ public class ContactsDictionary extends ExpandableDictionary {
|
|||
|
||||
@Override
|
||||
public void loadDictionaryAsync() {
|
||||
try {
|
||||
Cursor cursor = getContext().getContentResolver()
|
||||
.query(Contacts.CONTENT_URI, PROJECTION, null, null, null);
|
||||
if (cursor != null) {
|
||||
addWords(cursor);
|
||||
}
|
||||
} catch(IllegalStateException e) {
|
||||
Log.e(TAG, "Contacts DB is having problems");
|
||||
}
|
||||
mLastLoadedContacts = SystemClock.uptimeMillis();
|
||||
}
|
||||
|
||||
|
@ -92,6 +98,7 @@ public class ContactsDictionary extends ExpandableDictionary {
|
|||
clearDictionary();
|
||||
|
||||
final int maxWordLength = getMaxWordLength();
|
||||
try {
|
||||
if (cursor.moveToFirst()) {
|
||||
while (!cursor.isAfterLast()) {
|
||||
String name = cursor.getString(INDEX_NAME);
|
||||
|
@ -126,18 +133,20 @@ public class ContactsDictionary extends ExpandableDictionary {
|
|||
if (!TextUtils.isEmpty(prevWord)) {
|
||||
// TODO Do not add email address
|
||||
// Not so critical
|
||||
super.setBigram(prevWord, word, FREQUENCY_FOR_CONTACTS_BIGRAM);
|
||||
super.setBigram(prevWord, word,
|
||||
FREQUENCY_FOR_CONTACTS_BIGRAM);
|
||||
}
|
||||
prevWord = word;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cursor.moveToNext();
|
||||
}
|
||||
}
|
||||
cursor.close();
|
||||
} catch(IllegalStateException e) {
|
||||
Log.e(TAG, "Contacts DB is having problems");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue