Commit Graph

6084 Commits (cbebbaf0653e0f9a2de6ca568adbf118996192ec)

Author SHA1 Message Date
Jean Chalard cbebbaf065 Merge "Fix a bug where a node size would be seen as increasing." 2012-04-23 22:19:19 -07:00
Jean Chalard a64a1a46e4 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
2012-04-24 14:04:02 +09:00
Tadashi G. Takaoka a500bba8ed Merge "Fix NPE in AdditionalSubtypeSettings" 2012-04-23 20:25:14 -07:00
Tadashi G. Takaoka 3e3bb36f1f Fix NPE in AdditionalSubtypeSettings
Bug: 6384416
Change-Id: I878071b8b78acce51649f9637b59830ab681c696
2012-04-24 11:01:45 +09:00
Jean Chalard 554b85845c Merge "Add methods to inverse compute the probability." 2012-04-23 18:08:58 -07:00
Jean Chalard 171d1809ff Add methods to inverse compute the probability.
For now the probability is just returned with the same
value it had, but this is some ground work that needs to be
done anyway.

Bug: 6313806
Change-Id: I9bb8b96b294109771208ade558c9ad56932d2f8e
2012-04-24 09:40:44 +09:00
Jean Chalard fa1affbaec Merge "Fix a bug where two spaces would be added instead of one" 2012-04-23 17:03:32 -07:00
Jean Chalard 5ee0ee0dbe Merge "Fix a bug where a batch edit would not be started." 2012-04-23 17:02:41 -07:00
Jean Chalard 87f7fa12db Merge "Pass words as int[] to the native code." 2012-04-23 17:02:26 -07:00
Eric Fischer 7f45ec7bb8 Import translations. DO NOT MERGE
Change-Id: I11d27b3c5c1005bd6679f59804f217640f8d5992
2012-04-23 14:03:26 -07:00
Tadashi G. Takaoka c04075b138 Cleanup <include/> and etc. in keyboard XML
* Remove keyXPos and keyWidth from key_*.xml and make it more generic.
* Add keyXPos and keyWidth to <include/> generalized key_*.xml.
* Remove zero width <Spacer/> and fold into successive <include/>.

Change-Id: I4b5c02a165ba0bc9ef8741be0b4938c1efaf5e27
2012-04-24 01:47:03 +09:00
Tadashi G. Takaoka 9a7cdb2051 Merge "Remove alt-code-while-typing from tablet" 2012-04-23 09:37:15 -07:00
Tom Ouyang bebcae8ff5 Merge "Binary bigram lookup checks both uppercase and lowercase when previous word is uppercase." 2012-04-23 09:06:05 -07:00
Tadashi G. Takaoka 608691edb8 Merge "Fix key preview when shifted hint letter is activated" 2012-04-23 07:43:40 -07:00
Tadashi G. Takaoka 0b27e788fe Remove alt-code-while-typing from tablet
Change-Id: I4471d10e3f7c681c27805b966869c0b47508329f
2012-04-23 20:25:16 +09:00
Tadashi G. Takaoka 9dc1200b9b Fix key preview when shifted hint letter is activated
Change-Id: I70d2627318d21eb612c3c3fee2ce8e80555dba12
2012-04-23 18:50:07 +09:00
Jean Chalard 551612dd9e Fix a bug where two spaces would be added instead of one
Bug: 6378291
Change-Id: Id2453333ae16146f816faf0eb68baa8ea1dd106a
2012-04-23 18:15:51 +09:00
Jean Chalard 96fb3094aa Fix a bug where a batch edit would not be started.
This would end up in TextView sometimes calling onUpdateSelection
multiple times (this is the correct behavior for TextView). We now
commit the space and the word in a batch edit, and we only get
onUpdateSelection once.

Bug: 6300527
Change-Id: I9579f3d8f5320c1cc24a7a42f19db8e105eb090d
2012-04-23 17:45:50 +09:00
Tadashi G. Takaoka 4849634c70 Separate Hebrew row4 on tablet
Change-Id: Iea17aa7cae60e131d4b5bfeb78d287915fd04164
2012-04-23 16:41:36 +09:00
Jean Chalard 522a04ea5b Pass words as int[] to the native code.
We need to get the bigrams during the call to getSuggestions for
bug#6313806. We already give an int[] to getSuggestions and we
wanted to get rid of char[]'s anyway because it doesn't work with
surrogate pairs, so here we go.

Bug: 6313806
Change-Id: I56ce99f1db6b3302cdf42f0527343bded837091e
2012-04-23 16:05:36 +09:00
Tadashi G. Takaoka 5f1d71fbc8 Modularize shortcut key on 10 inch tablet
Change-Id: Ie4cace33f8bcffd092bea7ce2da0cee5a1cbd685
2012-04-23 15:33:59 +09:00
Tadashi G. Takaoka b560a6cfee Support Colemak layout
Bug: 4460018
Change-Id: I60c3dfaf205c95b92a54022f0256c33f644c8b10
2012-04-23 15:19:37 +09:00
Tadashi G. Takaoka e060d1a540 Merge "Fix using keyboard layout display name in custom input style spinner" 2012-04-22 23:16:57 -07:00
Tadashi G. Takaoka a245be6819 Fix using keyboard layout display name in custom input style spinner
Change-Id: I80626591574aa9995011202cf868f9c2c5168303
2012-04-23 13:54:58 +09:00
Jean Chalard 0df78d46da Use the best matching cached dictionary for each category
Bug: 6327270
Change-Id: I5a0e732c8a3fd55fd8ac3c8fe1c58e7f91555d97
2012-04-23 12:37:52 +09:00
Tom Ouyang 0806bb01d9 Binary bigram lookup checks both uppercase and lowercase when previous word is uppercase.
Bug: 6363029
Change-Id: I71a1ed5b88f54fcc15bfaf89d3645b8f17ebb821
2012-04-22 17:48:00 -07:00
Ken Wakasa 1894c6e586 Remove unused methods and classes
Change-Id: I1a82bf2202d436efa4c5135d705a048fe45a0257
2012-04-22 18:48:54 +09:00
Ken Wakasa f8ad37a8fc Remove an unused method
Change-Id: I3abbf6462c31b11167e356fe77b8afca2514a869
2012-04-22 12:50:01 +09:00
Svetoslav Ganov 621e3f9830 Fix the build
Change-Id: I5c4e230500f058f7db86c05d554be45411004ffc
2012-04-20 16:44:22 -07:00
Eric Fischer 7a83ffa45e Import translations. DO NOT MERGE
Change-Id: I901b68d89ab5f04c79b843aa73ec40caa2c1686c
2012-04-20 14:31:48 -07:00
Tadashi G. Takaoka 1b868393fe Merge "Add language switch key to symbols and symbols shifted layout" 2012-04-20 03:30:53 -07:00
Tadashi G. Takaoka 118762b444 Merge "Predefined keyboard layouts are configurable via XML resource" 2012-04-20 03:24:39 -07:00
Tadashi G. Takaoka 3ce085079f Add language switch key to symbols and symbols shifted layout
Bug: 6370179
Change-Id: I061559ea5d0cb11a059de4b6e741f9c17ee69a27
2012-04-20 19:24:18 +09:00
Tadashi G. Takaoka 38026b4f03 Predefined keyboard layouts are configurable via XML resource
Bug: 4460018
Change-Id: Ia03ec826fb3853ea814d9764686903dbe31a6507
2012-04-20 19:19:24 +09:00
Jean Chalard a4b846ac73 Merge "Allow using a format version 2 word list in LatinIME" 2012-04-20 03:04:47 -07:00
Tadashi G. Takaoka 3ee43dccd0 Add language switch key to 7 inch tablet
Bug: 6370443
Change-Id: I4079c4b06de7abd677376094dab341f34aa2d234
2012-04-20 19:01:23 +09:00
Jean Chalard 04b03f4dd6 Allow using a format version 2 word list in LatinIME
Change-Id: I73a4df3a83e49be6e8d3a7d14eb027cfe10f1a23
2012-04-20 18:56:03 +09:00
Tadashi G. Takaoka 78173bdf53 Support Dvorak layout
Bug: 4460018
Change-Id: I08a9b556720f6c4f7089a8838c0869c9f88f479c
2012-04-20 17:28:32 +09:00
Tadashi G. Takaoka 25b5e627d8 Merge "Modularize keyboard XML files" 2012-04-20 00:41:44 -07:00
Tadashi G. Takaoka 9fa0a2e83f Modularize keyboard XML files
* Remove duplicated xml-sw768dp/keys_apostrophe_dash.xml
* Separate keys_apostrophe_dash.xml to key_apostorhe.xml and
  key_dash.ml
* Separate key_space.xml from row_qwerty4.xml
* Separate key_f1.xml from xml{,-sw600dp}/row_qwerty4.xml
* Separate keys_f1f2.xml from xml-sw768dp/row_qwerty4.xml
* Fix incorrectly named rows_symbols{,_shift}4.xml to
  row_symbols{,_shift}4.xml

Change-Id: Id71967a016a348174d1fc265b654dbc233c6562e
2012-04-20 16:27:21 +09:00
Jean Chalard e42ec2a6ac Merge "Don't allow cancelling manual pick." 2012-04-20 00:11:20 -07:00
Jean Chalard 29a1fc0f6b Don't allow cancelling manual pick.
Bug: 6347202
Change-Id: I30b53256e83c534436b0f0ff594fd4aaabf4558c
2012-04-20 15:55:45 +09:00
Tadashi G. Takaoka 6bfd5f6319 Fix confusable "label" usage, use "text" instead
* Rename makelabel tool to maketext
* Rename KeyboardLablesSet class to KeyboardTextsSet
* Rename "!label/name" to "!text/name"

Change-Id: Ia9494a89fe56f20ca8e8fedb253adbcf8b771bd3
2012-04-20 15:48:30 +09:00
Tadashi G. Takaoka cf41aff251 Use string attribute for icon name
Change-Id: I336acf33c7e6bc993b9da9b17ec689975fa8127d
2012-04-20 15:31:42 +09:00
Tadashi G. Takaoka 050b577bfb Merge "Make KeySpecParser case insensitive" 2012-04-19 21:21:18 -07:00
Tadashi G. Takaoka 2f16fd40fa Make KeySpecParser case insensitive
Change-Id: I76c3e9179dd8777d3cf3138ad76513d83672debf
2012-04-20 13:20:08 +09:00
Kurt Partridge 5b92113cdb Merge "remove unnecessary KeyboardState logging" 2012-04-19 20:53:44 -07:00
Kurt Partridge 4d43d6f96e Merge "researchLogger detail on IME sessions" 2012-04-19 20:35:21 -07:00
Kurt Partridge c59d74ce47 remove unnecessary KeyboardState logging
Bug: 6188932
Change-Id: Iafbb1825777122a1810fa3339853263aced3077e
2012-04-19 20:32:37 -07:00
Kurt Partridge 48a7681e06 researchLogger detail on IME sessions
log device type, screen size, etc.  also simplification inside ResearchLogger
to use exceptions better, and fix ResearchLoggerTests to not change
preferences to specify the logfile.

multi-project change with Idfd193b16260215cca32886e288f03a0c12b2781

Bug: 6188932
Change-Id: Idd3ca6eb8e8e3934f68234b241c7fd7d0cc3bcd5
2012-04-19 20:19:55 -07:00