Arrange to send the rawChecksum to LatinIME.
Bug: 13125743 Change-Id: I5d111336e6a0f5ab4e93ff333654a7a1f8f46480
This commit is contained in:
parent
e077c01461
commit
267e528253
3 changed files with 17 additions and 6 deletions
|
@ -89,10 +89,13 @@ public final class DictionaryProvider extends ContentProvider {
|
|||
private static final class WordListInfo {
|
||||
public final String mId;
|
||||
public final String mLocale;
|
||||
public final String mRawChecksum;
|
||||
public final int mMatchLevel;
|
||||
public WordListInfo(final String id, final String locale, final int matchLevel) {
|
||||
public WordListInfo(final String id, final String locale, final String rawChecksum,
|
||||
final int matchLevel) {
|
||||
mId = id;
|
||||
mLocale = locale;
|
||||
mRawChecksum = rawChecksum;
|
||||
mMatchLevel = matchLevel;
|
||||
}
|
||||
}
|
||||
|
@ -106,7 +109,8 @@ public final class DictionaryProvider extends ContentProvider {
|
|||
private static final class ResourcePathCursor extends AbstractCursor {
|
||||
|
||||
// Column names for the cursor returned by this content provider.
|
||||
static private final String[] columnNames = { "id", "locale" };
|
||||
static private final String[] columnNames = { MetadataDbHelper.WORDLISTID_COLUMN,
|
||||
MetadataDbHelper.LOCALE_COLUMN, MetadataDbHelper.RAW_CHECKSUM_COLUMN };
|
||||
|
||||
// The list of word lists served by this provider that match the client request.
|
||||
final WordListInfo[] mWordLists;
|
||||
|
@ -141,6 +145,7 @@ public final class DictionaryProvider extends ContentProvider {
|
|||
switch (column) {
|
||||
case 0: return mWordLists[mPos].mId;
|
||||
case 1: return mWordLists[mPos].mLocale;
|
||||
case 2: return mWordLists[mPos].mRawChecksum;
|
||||
default : return null;
|
||||
}
|
||||
}
|
||||
|
@ -357,6 +362,8 @@ public final class DictionaryProvider extends ContentProvider {
|
|||
final int localeIndex = results.getColumnIndex(MetadataDbHelper.LOCALE_COLUMN);
|
||||
final int localFileNameIndex =
|
||||
results.getColumnIndex(MetadataDbHelper.LOCAL_FILENAME_COLUMN);
|
||||
final int rawChecksumIndex =
|
||||
results.getColumnIndex(MetadataDbHelper.RAW_CHECKSUM_COLUMN);
|
||||
final int statusIndex = results.getColumnIndex(MetadataDbHelper.STATUS_COLUMN);
|
||||
if (results.moveToFirst()) {
|
||||
do {
|
||||
|
@ -379,6 +386,7 @@ public final class DictionaryProvider extends ContentProvider {
|
|||
}
|
||||
final String wordListLocale = results.getString(localeIndex);
|
||||
final String wordListLocalFilename = results.getString(localFileNameIndex);
|
||||
final String wordListRawChecksum = results.getString(rawChecksumIndex);
|
||||
final int wordListStatus = results.getInt(statusIndex);
|
||||
// Test the requested locale against this wordlist locale. The requested locale
|
||||
// has to either match exactly or be more specific than the dictionary - a
|
||||
|
@ -412,8 +420,8 @@ public final class DictionaryProvider extends ContentProvider {
|
|||
final WordListInfo currentBestMatch = dicts.get(wordListCategory);
|
||||
if (null == currentBestMatch
|
||||
|| currentBestMatch.mMatchLevel < matchLevel) {
|
||||
dicts.put(wordListCategory,
|
||||
new WordListInfo(wordListId, wordListLocale, matchLevel));
|
||||
dicts.put(wordListCategory, new WordListInfo(wordListId, wordListLocale,
|
||||
wordListRawChecksum, matchLevel));
|
||||
}
|
||||
} while (results.moveToNext());
|
||||
}
|
||||
|
|
|
@ -167,8 +167,9 @@ public final class BinaryDictionaryFileDumper {
|
|||
do {
|
||||
final String wordListId = cursor.getString(0);
|
||||
final String wordListLocale = cursor.getString(1);
|
||||
final String wordListRawChecksum = cursor.getString(2);
|
||||
if (TextUtils.isEmpty(wordListId)) continue;
|
||||
list.add(new WordListInfo(wordListId, wordListLocale));
|
||||
list.add(new WordListInfo(wordListId, wordListLocale, wordListRawChecksum));
|
||||
} while (cursor.moveToNext());
|
||||
return list;
|
||||
} catch (RemoteException e) {
|
||||
|
|
|
@ -22,8 +22,10 @@ package com.android.inputmethod.latin;
|
|||
public final class WordListInfo {
|
||||
public final String mId;
|
||||
public final String mLocale;
|
||||
public WordListInfo(final String id, final String locale) {
|
||||
public final String mRawChecksum;
|
||||
public WordListInfo(final String id, final String locale, final String rawChecksum) {
|
||||
mId = id;
|
||||
mLocale = locale;
|
||||
mRawChecksum = rawChecksum;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue