diff options
author | 2011-04-29 01:26:32 +0900 | |
---|---|---|
committer | 2011-04-29 01:26:32 +0900 | |
commit | 38c984cbcc3e1264ce00483e876093202268ad65 (patch) | |
tree | de3f4999f8036dfa1867894362a3aba2cee043ee /java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java | |
parent | 8f060766f0740e718ee03c223487f120309ed8e1 (diff) | |
parent | 44fe4a0598d831ad33e62cd7742709fd45c60387 (diff) | |
download | latinime-38c984cbcc3e1264ce00483e876093202268ad65.tar.gz latinime-38c984cbcc3e1264ce00483e876093202268ad65.tar.xz latinime-38c984cbcc3e1264ce00483e876093202268ad65.zip |
Merge remote-tracking branch 'goog/master' into merge
Diffstat (limited to '')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java index a78ff7e84..76a230f82 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java @@ -28,6 +28,8 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.util.Arrays; +import java.util.List; import java.util.Locale; /** @@ -79,27 +81,32 @@ public class BinaryDictionaryFileDumper { } /** - * Queries a content provider for dictionary data for some locale and returns it as a file name. + * Queries a content provider for dictionary data for some locale and returns the file addresses * * This will query a content provider for dictionary data for a given locale, and return - * the name of a file suitable to be mmap'ed. It will copy it to local storage if needed. - * It should also check the dictionary version to avoid unnecessary copies but this is + * the addresses of a file set the members of which are suitable to be mmap'ed. It will copy + * them to local storage if needed. + * It should also check the dictionary versions to avoid unnecessary copies but this is * still in TODO state. * This will make the data from the content provider the cached dictionary for this locale, * overwriting any previous cached data. - * @returns the name of the file, or null if no data could be obtained. + * @returns the addresses of the files, or null if no data could be obtained. * @throw FileNotFoundException if the provider returns non-existent data. * @throw IOException if the provider-returned data could not be read. */ - public static String getDictionaryFileFromContentProvider(Locale locale, Context context) - throws FileNotFoundException, IOException { + public static List<AssetFileAddress> getDictSetFromContentProvider(Locale locale, + Context context) throws FileNotFoundException, IOException { // TODO: check whether the dictionary is the same or not and if it is, return the cached // file. + // TODO: This should be able to read a number of files from the dictionary pack, copy + // them all and return them. final ContentResolver resolver = context.getContentResolver(); final Uri dictionaryPackUri = getProviderUri(locale); final AssetFileDescriptor afd = resolver.openAssetFileDescriptor(dictionaryPackUri, "r"); if (null == afd) return null; - return copyFileTo(afd.createInputStream(), getCacheFileNameForLocale(locale, context)); + final String fileName = + copyFileTo(afd.createInputStream(), getCacheFileNameForLocale(locale, context)); + return Arrays.asList(AssetFileAddress.makeFromFileName(fileName)); } /** |