Commit graph

18 commits

Author SHA1 Message Date
Tadashi G. Takaoka
ab72a97d7c Cleanup unused import
This change also gets rid of several compiler warnings.

Change-Id: I23962edaadad18a6e0395d528af17b909dcf5dad
2011-10-04 12:46:20 +09:00
Jean Chalard
7a408431fe Check the magic number of a decoded file
Checking the magic number of a file upon decoding is necessary,
because if the file is corrupt and we don't check it, we will
fall back to a simple copy of the corrupted file. Latin IME
would realize this and would not crash, but would not use the
corrupted dictionary. If this happened to be a main dictionary,
then the user would lose the ability to use the correct
built-in dictionary.

Not the same, but kinda similar to
Bug: 5223031

Change-Id: Ic2783dc9dd5f3dcf2865623d9452765fe3778db7
2011-08-31 14:37:11 +09:00
Jean Chalard
de4e8dedcc Allow sharing dictionaries between similar locales.
Bug: 5058488
Change-Id: Ib12013f58afad957a8205b439f87480cc12ea06f
2011-08-25 19:42:06 +09:00
Jean Chalard
a16621ada4 Add a debug variable
...that was missing

Change-Id: Ia3b17909f295e0a93dee633c8d67c0e03840023e
2011-08-24 21:36:18 +09:00
Jean Chalard
20973de72b Avoid unnecessary output to the system log.
The message this removes gets printed under normal conditions.
Normally dictionary files are compressed then crypted, but not
compressed a second time; however LatinIME tries to open a
compressed-crypted-compressed file first, because it could not
do it afterwards and we want to support this case. So under
normal operations, the first method LatinIME tries is actually
expected to fail.
Also, if we decide to stop compressing or/and encrypting dicts
LatinIME supports it as a valid use case. It should not print
errors to the log.

If the file cannot be open at all, then it is an unexpected
case, and Latin IME still reports to the log.

Change-Id: Ic5228c51365a101af1d03e2c893484d3050b5a1c
2011-08-24 20:27:04 +09:00
Jean Chalard
38d512c0b2 Call the decrypt/unzip routines upon copying a dictionary.
Bug: 5095140
Change-Id: I7000f752bc9b7fd6a7af4839b2f225c085300128
2011-08-24 17:12:12 +09:00
Jean Chalard
7b1f74bb9d Refactoring: cut out a method for caching a word list
This is preparation to have the decrypting/unzipping code
moved over to LatinIME.

Bug: 5095140
Change-Id: Ic3fdcc3de673b46cef2eb9ebe6a52cbdd614e50a
2011-08-24 15:09:57 +09:00
Jean Chalard
80e0bf0429 Exception refactoring
Now that the dictionary pack can return several files, it's better
to handle IO exceptions for each file rather than globally. This
also will help with next implementation steps.

Bug: 5095140
Change-Id: I5ed135ad2ad4f55f61f9b3f92c48a35d5c24bdb2
2011-08-18 15:11:19 +09:00
Jean Chalard
2896673461 Rename a function and update a comment
Bug: 5095140
Change-Id: Idf66a04c6a1a05015f94187a8dbce3d443bbf38b
2011-08-11 17:07:28 +09:00
Jean Chalard
5774908bb3 Give the orders to delete the source files to the dict pack
Bug: 5095140
Change-Id: I64552861768ca30073ffe0d631b2e0c44dad4aa9
2011-08-10 21:55:15 +09:00
Jean Chalard
d4c08d9be3 Make sure the directory where to put files actually exists
Bug: 5095140
Change-Id: I764471e54ce0bf6aefe5d604cee97639d5ad0af9
2011-08-10 17:14:34 +09:00
Jean Chalard
3a22708e65 Have Latin IME copy files from the dictionary pack.
Also some minor cleanup: remove unused methods, minor refactoring into methods.

Bug: 5095140
Change-Id: I035537b37a31adfc8db3b933fb0cefcf703d6c7c
2011-08-09 16:02:14 +09:00
Jean Chalard
fae8d60ee9 Change the dictionary file passing schema to a list of ids
The dictionary filename used to be passed directly to Latin IME.
This change implements, on the part of Latin IME, the passing of
them as an id that should then be passed through
openAssetFileDescriptor.

Bug: 5095140
Change-Id: I7d1e9d57c19f0645045368f68681680f238189fc
2011-08-02 19:16:39 +09:00
Jean Chalard
d3da6e6311 Close a multiprocess file handle.
Bug: 5034192
Change-Id: I9c3d757cfae313e9b7510e167de797a74c74a351
2011-07-26 22:13:34 +09:00
Jean Chalard
e150ef9856 Set the locale for opening an asset
This is necessary because we don't know any more whether the
locale of the process is the expected one when the dictionary
is loaded asynchronously.

Bug: 5023141
Change-Id: Ia9e4741f3b4a04a9f085f5b65ec122471b0c2dff
2011-07-21 19:14:16 +09:00
Jean Chalard
d8f52a4f18 Improve the architecture to support multiple dictionaries.
This change enables the interface to get multiple dictionaries from a
dictionary pack. It only implements it to the end in the case of the
proprietary method, as the open method needs still some working out,
and the "inside the package" method does not need it.

This change goes together with Iaa95bf36, and breaks the build
without it.

Bug: 1752028

Change-Id: I3ccfd696e8ef083ef9c074e1c3e4bb0bf2fcfd23
2011-04-28 16:16:46 +09:00
Jean Chalard
4e3bd58b86 Allow use of assets for data in the dictionary content provider.
This update is necessary to allow dictionary content providers to use
assets, which are part of their apk, as data to pass to the keyboard.
Using plain file descriptors doesn't allow for sections of files to
be correctly used.

Change-Id: Ia94c26d6387bce61c73d38f5c2821f20e50e54d4
2011-04-15 17:38:24 +09:00
Jean Chalard
cba93f50c3 Add different ways of reading the dictionary file.
This change adds basic support for an external dictionary provider.
It adds methods for reading the dictionary itself from an asset in
the dictionary provider package directly, obtaining the file name
through the ContentProvider interface; it also adds a way of getting
the data through an InputStream and copying the file locally.

Incidentally this change also adds the code needed to listen for
updating the dictionary provider package and reloading it in time.

This change also goes hand-in-hand with Iab31db6e, which implements
the small closed part of this.

Issue: 3414944

Change-Id: I5e4fff99a59bb99dbdb002102db6c90e6cb41c8a
2011-03-18 12:16:50 -07:00