History log of /packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a28a05e971cc242b338331a3b78276fa95188d19 27-Sep-2012 Tadashi G. Takaoka <takaoka@google.com> Cleanup: Make some classes as final

Change-Id: I6009b3c1950ba32b7f1e205a3db2307fe0cd688e
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
2ee70804e92b17016a2f042c4f6b0e94b5d23e88 25-Sep-2012 Yuichiro Hanada <yhanada@google.com> Add moved char groups.

bug: 6669677

Change-Id: I372f841044fe8e076a50a80ac10b715e5f8fd4eb
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
a161bdac885fc8e5f0063d33b055b0a6ecdefbdb 25-Sep-2012 Yuichiro Hanada <yhanada@google.com> add capacity to FusionDictionaryBufferInterface.

bug: 6669677

Change-Id: I4627093811a19c46ce13fe351d1db63cbd78cf4a
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
8ec0064c49e80945dbe1bb31129eb890478b7e06 20-Sep-2012 Yuichiro Hanada <yhanada@google.com> Make children addresses and parent addresses use signed addresses.

Signed addresses are used only in version 3 with dynamic update.

bug: 6669677

Change-Id: Iadaeab199b5019d2330b4573c24da74d64f0945e
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
82d9deaaf252cd20f8918adbc7a4b9b8f2647c38 21-Sep-2012 Yuichiro Hanada <yhanada@google.com> Combine mHasParentAddress with mHasLinkedListNode into mSupportsDynamicUpdate.

bug: 6669677

Change-Id: I82799af199358420f09ac34fc005091e202c5d3b
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
66597f5e5f3249f418665c1990fb539d2f5565d5 20-Sep-2012 Yuichiro Hanada <yhanada@google.com> Add deleteWord.

bug: 6669677

Change-Id: I1a5b90ee05e5cffd74a5c140384a3e37c79e7e70
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
d36245fad292ea660ca49f38a3ec36e07727dda5 19-Sep-2012 Yuichiro Hanada <yhanada@google.com> Add getTerminalPosition.

Change-Id: If04d779db23b1aea2cc12e5e9b8cecfcb35a5737
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
65feee12e5889601e375d92dfdf5f8e8fbb05092 19-Sep-2012 Yuichiro Hanada <yhanada@google.com> Make BinaryDictIOUtils.

Change-Id: I45830235ee738233e8eb2bd91d659705b698f58c
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
c2fdf0dfbf1c43f7ed8fdf3d91576bbf71146ef3 14-Sep-2012 Yuichiro Hanada <yhanada@google.com> Make readNode read linked list nodes.

Change-Id: Ia5eaae0653179b2eb74c53b0823beaf80377a389
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
a149c53c8ebe1b2acb7ee92eac51ccdc364162e7 18-Sep-2012 Yuichiro Hanada <yhanada@google.com> add limit to FusionDictionaryBufferInterface.

Change-Id: Ic9ff717a9751023d47b02ff3b9d1fbf3115c2501
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
b686df15fcc95611c524318359fe9ecb4fd6f74c 18-Sep-2012 Yuichiro Hanada <yhanada@google.com> Add a new flag for linked list nodes.

Change-Id: Ib2f194775cfe5ab05481ac95cd709d6e8e8dd3c6
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
bf45dc4860ab28e97c3e7d116a642802fe960239 18-Sep-2012 Yuichiro Hanada <yhanada@google.com> Make writePlacedNode write the linked-list node.

Change-Id: I60feda815ea08cf73300fccca1ae12b97550f116
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
8adc0154e6a1412e8b2a7ba5b2a67650062e0dbf 13-Sep-2012 Yuichiro Hanada <yhanada@google.com> Remove populateOptions(final ByteBuffer buffer).

Change-Id: Ifc4c64c9cffe4f343c5a604c192db010a1792acc
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
cc958dd96eef65fddbc48185c2e88ab18504a377 14-Sep-2012 Yuichiro Hanada <yhanada@google.com> Refactor BinaryDictInputOutput.

Change-Id: Idb4b635fcac70cc988e0dd3ce3bf121fba12099c
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
1a347723c5ad4a71076df67f3af3b702db205719 12-Sep-2012 Yuichiro Hanada <yhanada@google.com> Move FormatOptions and FileHeader to FormatSpec.

Change-Id: I232e35598635113bf2c81825669c744aadc79efe
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
81d97eec0e77e72cce606f9c9f96091c0b348190 11-Sep-2012 Yuichiro Hanada <yhanada@google.com> Move constants and comments.

Change-Id: Ifd66bda7d528827ba61c60531121ea206a2325be
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
8d031a63b4d59d4d8670b4310dd9e18a0e03435a 11-Sep-2012 Yuichiro Hanada <yhanada@google.com> Add put method to FusionDictionaryBufferInterface.

Change-Id: Iac0b35d2da05e81237d105e8fe13c56d16038de1
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
e55b644aefbefb4ac79308c9a59116e69a9c53a2 03-Sep-2012 Yuichiro Hanada <yhanada@google.com> Add new binary dictionary format.

Change-Id: Ia99411d4009857d5e420ca87ef8acf1f1826d3ed
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
eae7b293e4a854819aa0de663066cd0b6cdd52e7 07-Sep-2012 Yuichiro Hanada <yhanada@google.com> Check the length of the word when add to FusionDictionary.

Change-Id: Id98d18e90a8b83b597507728b467f56888c8fd12
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
83dfe0fd8c7e2bce2717930dbf8732f5414ee39d 04-Sep-2012 Yuichiro Hanada <yhanada@google.com> Add FormatOptions.

Change-Id: Ibad05a5f9143de1156b2c897593ec89b0a0b07e7
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
2035b946a38dd072119a9771252aef3667f08f68 03-Sep-2012 Jean Chalard <jchalard@google.com> Merge "Reinstate the shortcut-only attribute" into jb-mr1-dev
72b1c9394105b6fbc0d8c6ff00f3574ee37a9aaa 31-Aug-2012 Jean Chalard <jchalard@google.com> Reinstate the shortcut-only attribute

Also add the blacklist attribute

Bug: 7005742
Bug: 2704000
Change-Id: Icbe60bdf25bfb098d9e3f20870be30d6aef07c9d
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
666a4338026866df1f18dd6b3f968c3788943e4c 16-Aug-2012 Yuichiro Hanada <yhanada@google.com> add UserHistoryDictIOUtils.

Change-Id: I8a70e43b23f65b5fd5f0ee0b30a94ad8f5ef8a8a
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
b2a43a2ed4df8c3cacf21168cd742e30fa37e964 29-Aug-2012 Yuichiro Hanada <yhanada@google.com> add readUnigramsAndBigramsBinary.

Change-Id: I7967f11211221d4877bf0a0c30183af885f45390
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
62ed9011002817cc78f3a1de39a1171cb136176a 30-Aug-2012 Yuichiro Hanada <yhanada@google.com> add readHeader.

Change-Id: I5be5d62a63ca897e36fe93200ffdca6befb363aa
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
f5c4ff481782831329593760b000f0543680930a 29-Aug-2012 Yuichiro Hanada <yhanada@google.com> Add FusionDictionaryBufferInterface.

Change-Id: I8640c994231d5f46bc6e074ce8a5bf5344fed0aa
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
d4fe7fda303ff937d2e44c15dde9d90cbf59376b 21-Aug-2012 Yuichiro Hanada <yhanada@google.com> Use ByteBuffer when reading FusionDictionary from file.

Change-Id: Ia71561648e17f846d277c22309ac37c21c67a537
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
13822d2b056543de5a54b5ed338ca2cc250d8287 17-Aug-2012 Jean Chalard <jchalard@google.com> Hack to skip reading an outdated binary file.

Bug: 7005813
Change-Id: Ie0d8d4b2d5eb147838ca23bdd5ec1cecd4f01151
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
72c0f4de1dfaaa1e404f46da48d7c91f28b76f74 17-Aug-2012 Ken Wakasa <kwakasa@google.com> Merge "add reconstructBigramFrequency" into jb-mr1-dev
c0a75c8ecbd373c4eaee4f866e4080c0b800470b 16-Aug-2012 Yuichiro Hanada <yhanada@google.com> add reconstructBigramFrequency

Change-Id: Iff20dcb9ca0d6064bb118247887fe24b812c0c61
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
aa27635a8a234b23d6db0957ab398443498eb558 17-Aug-2012 Jean Chalard <jchalard@google.com> Reword a confusing comment

Bug: 7005645
Change-Id: Ifd942b3ce242aeeec512e132e1cee31329e994b1
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
d10c473347c7e21c383c56786c9eb96fd6513a5c 08-Jun-2012 Jean Chalard <jchalard@google.com> Small performance tweak

Change-Id: Icd540742073d49d12e70b2d8bd99aaf7ccb5802d
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
7214617622fce8f3fea6620e782c16336260a2a3 08-Jun-2012 Jean Chalard <jchalard@google.com> Remove a slew of Eclipse warnings.

Change-Id: I03236386aea13fbd4fb8eaeee18e0008aa136502
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
93ebf74bae44728e0d5f7e738ea28376187a876e 25-May-2012 Tadashi G. Takaoka <takaoka@google.com> Clean up some compiler warnings

Change-Id: I604da15e65fc3cf807ec4033df4e4cd5ef0196fc
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
418b34379733aa7f3d31729090797c747c8a43a8 11-May-2012 Jean Chalard <jchalard@google.com> Use a formula packing more information into 4 bits field

Bug: 6313806
Change-Id: Id0779bd69afae0bb4a4a285340c1eb306544663a
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
76319c6931becbe2994226a0e52925fc77bd0c92 11-May-2012 Jean Chalard <jchalard@google.com> Small optimization

Performance gain is < 2%

Bug: 6394357
Change-Id: I2b7da946788cf11d1a491efd20fb2bd2333c23d1
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
4df5b43df8f4b29fbfab9180cffe5742f8b5f512 11-May-2012 Jean Chalard <jchalard@google.com> Small optimizations

Bug: 6394357
Change-Id: I00ba1b5ab3d527b3768e28090c758ddd1629f281
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
3b1b72ac4d8975d24a3176dd1b5a39b5fead71a8 11-May-2012 Jean Chalard <jchalard@google.com> More optimizations

We don't merge tails anyway, and we can't do it any more
because that would break the bigram lookup algorithm.
The speedup is about 20%, and possibly double this if
there are no bigrams.

Bug: 6394357

Change-Id: I9eec11dda9000451706d280f120404a2acbea304
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
f7346de94a902b0d0675a85425e68eba96cece7e 11-May-2012 Jean Chalard <jchalard@google.com> Write the bigram frequency following the new formula

This also tests for bigram frequency against unigram frequency

Bug: 6313806
Bug: 6028348
Change-Id: If7faa3559fee9f2496890f0bc0e081279e100854
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
4455fe2c894f8aabaf2b3105b72f9193226d4aba 11-May-2012 Jean Chalard <jchalard@google.com> Refactor a method

Rename it, rename parameters, and add a parameter that will
be necessary soon.
Also, rescale the bigram frequency as necessary.

Bug: 6313806
Change-Id: I192543cfb6ab6bccda4a1a53c8e67fbf50a257b0
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
20a6dea1cabfd8822824f7dca828d898e5b91cbc 25-Apr-2012 Jean Chalard <jchalard@google.com> Add a flag for bigram presence in the header

This is a cherry-pick of Icb602762 onto jb-dev.

Bug: 6355745
Change-Id: Icb602762bb0d81472f024fa491571062ec1fc4e9
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
44c64f46a143623dd793facd889c8d6eab5e230c 20-Apr-2012 Jean Chalard <jchalard@google.com> Ignore bigrams that are not also listed as unigrams

This is a cherry pick of I14b67e51 on jb-dev

Bug: 6340915
Change-Id: Iaa512abe1b19ca640ea201f9761fd7f1416270ed
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
805fed49e1b477a90ada4151dc4df89e5857c7e9 24-Apr-2012 Jean Chalard <jchalard@google.com> Merge "Fix binary reading code performance."
1d80a7f395290cd0e7344210bb3960f685059264 23-Apr-2012 Jean Chalard <jchalard@google.com> Fix binary reading code performance.

This is not the Right fix ; the Right fix would be to read
the file in a buffered way. However this delivers tolerable
performance for a minimal amount of code changes.
We may want to skip submitting this patch, but keep it around
in case we need to use the functionality until we have a good
patch.

Change-Id: I1ba938f82acfd9436c3701d1078ff981afdbea60
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
a64a1a46e482664dcebdf4fee0745a890d0d70dc 23-Apr-2012 Jean Chalard <jchalard@google.com> Fix a bug where a node size would be seen as increasing.

The core reason for this is quite shrewd. When a word is a bigram
of itself, the corresponding chargroup will have a bigram referring
to itself. When computing bigram offsets, we use cached addresses of
chargroups, but we compute the size of the node as we go. Hence, a
discrepancy may happen between the base offset as seen by the bigram
(which uses the recomputed value) and the target offset (which uses
the cached value).
When this happens, the cached node address is too large. The relative
offset is negative, which is expected, since it points to this very
charnode whose start is a few bytes earlier. But since the cached
address is too large, the offset is computed as smaller than it should
be.
On the next pass, the cache has been refreshed with the newly computed
size and the seen offset is now correct (or at least, much closer to
correct). The correct value is larger than the previously computed
offset, which was too small. If it happens that it crosses the -255 or
-65335 boundary, the address will be seen as needing 1 more byte than
previously computed. If this is the only change in size of this node,
the node will be seen as having a larger size than previously, which
is unexpected. Debug code was catching this and crashing the program.

So this case is very rare, but in an even rarer occurence, it may
happen that in the same node, another chargroup happens to decrease
it size by the same amount. In this case, the node may be seen as
having not been modified. This is probably extremely rare. If on
top of this, it happens that no other node has been modified, then
the file may be seen as complete, and the discrepancy left as is
in the file, leading to a broken file. The probability that this
happens is abyssally low, but the bug exists, and the current debug
code would not have caught this.
To further catch similar bugs, this change also modifies the test
that decides if the node has changed. On grounds that all components
of a node may only decrease in size with each successive pass, it's
theoritically safe to assume that the same size means the node
contents have not changed, but in case of a bug like the bug above
where a component wrongly grows while another shrinks and both cancel
each other out, the new code will catch this. Also, this change adds
a check against the number of passses, to avoid infinite loops in
case of a bug in the computation code.

This change fixes this bug by updating the cached address of each
chargroup as we go. This eliminates the discrepancy and fixes the
bug.

Bug: 6383103
Change-Id: Ia3f450e22c87c4c193cea8ddb157aebd5f224f01
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
df7ebbbd616fa5aff569d00b16cd3f85ddf2da6d 18-Apr-2012 Tom Ouyang <ouyang@google.com> Change binary dictionary output buffer size to match dictionary size.

Bug: 6355943
Change-Id: Iaab7bc16ba0dbc7bfde70b06e7bd355519838831
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
f420df28233c26e555d203185fb292e83b94b8c3 06-Apr-2012 Jean Chalard <jchalard@google.com> Add support for German umlaut and French ligatures flags

Bug: 6202812
Change-Id: Ib4a7f96f6ef86c840069b15d04393f84d428c176
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
8cf1a8d04f77aefed3a57f6994869e0f35b1a8b4 27-Mar-2012 Jean Chalard <jchalard@google.com> Remove the shortcutOnly attribute which is now useless.

Change-Id: Ifccdfdaf7c0066bb7728981503baceff0fedb71f
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
c734c2aca1830643d169fd292e0c9d4d9306af5a 03-Apr-2012 Jean Chalard <jchalard@google.com> Add a simple way to input dictionary header attributes

Just add them as an attribute to the root of the XML node.

Bug: 6202812
Change-Id: Idf040bfebf20a72f9e4370930a85d97df593f484
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
752996540ff3a6dd5b48819849c06355c4270e03 27-Mar-2012 Jean Chalard <jchalard@google.com> Add read support for string shortcuts for makedict.

Change-Id: I48ee4fc9ac703ad2a680b3cd848de91c415ea3c8
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
3bbb31f3f00e64cb68bd5877ae69d6dbccfeb519 26-Mar-2012 Jean Chalard <jchalard@google.com> Change the format of the shortcuts in the binary dict.

This only includes the write part of the change. The read part is
coming in a different commit.

Change-Id: Iabe7af6cd134462dc19245f5400719920ed31c8f
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java
e276c2401e5702222b21c4dfe2a25219c2f6619f 21-Mar-2012 Tom Ouyang <ouyang@google.com> Move makedict to LatinIME android keyboard.

Bug: 6188977
Change-Id: I4d2ef504bb983abbda3cb52ee450cb46f58d95cf
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java