Commit graph

2637 commits

Author SHA1 Message Date
Tadashi G. Takaoka
bd2ca9c021 Fix potential "divided by zero" exception
This change also refactors the language name selection to use text
x-scale.

Bug: 6396854
Change-Id: I31249a85bd042a93d627f40413161aef13617c87
2012-04-26 16:01:55 +09:00
Tadashi G. Takaoka
27b42ced86 Fix "no language" subtype name (DO NOT MERGE)
* Move SubtypeLocale.get{Full,Middle,Short}DisplayName() to
  LatinLeyboardView and add unit tests (SpacebarTextTests).
* Add SubtypeLocale.getSubtypeDisplayName()

This is a cherry-pick of I57420c6a from Master.

Bug: 6393865
Change-Id: I68748189c17c73984ac4ae05a5a40fb54bf46453
2012-04-26 11:50:28 +09:00
Tadashi G. Takaoka
49caddbdab Support PC QWERTY layout
Bug: 4460018
Change-Id: I9a29f6a322af66f6a152fa1883b3686c5f7a3328
2012-04-25 16:34:59 +09:00
Tadashi G. Takaoka
cbaf6d85f1 Cancel SubtypePreference dialog properly
Bug: 6384416
Bug: 6387408
Change-Id: Ia7b0653a09410b42a55915815c887bf0ad56c856
2012-04-25 15:42:14 +09:00
Tadashi G. Takaoka
9f0a137f82 Save & restore additional subtype dialog state when orientation is changed
Bug: 6384416
Change-Id: Id5fa4742ad900fafb82cc37a0bbb9f380b99254d
2012-04-25 15:29:05 +09:00
Tadashi G. Takaoka
d454fcc2cf Merge "Ignore unknown keyboard layout safely" 2012-04-24 23:22:26 -07:00
Tadashi G. Takaoka
96e404310d Ignore unknown keyboard layout safely
Bug: 6393755
Change-Id: I3a74b23f934cd52925026ad04647cc76de92ee07
2012-04-25 13:34:04 +09:00
Tadashi G. Takaoka
b7286439f6 Fix percent sign in more keys
Bug: 6029665
Change-Id: I4bf0f5703d0c11d76bab478da2729b0e20fc64ea
2012-04-25 11:51:19 +09:00
Tom Ouyang
ce54a14bed Merge "Change expandable binary dict write to a temp file first." 2012-04-24 10:54:56 -07:00
Tom Ouyang
a9b2be8a81 Change expandable binary dict write to a temp file first.
Bug: 6380724
Change-Id: Ic1d0d902dc45ecb41a1792f33a60ab85e606fcef
2012-04-24 10:52:53 -07:00
Tadashi G. Takaoka
8e7740b28a Merge "Add header commnets of KeyboardTextsSet.tmpl" 2012-04-24 00:49:11 -07:00
Tadashi G. Takaoka
5723bedcd0 Merge "Revert keyHintLetterPadding only to apply horizontally" 2012-04-24 00:41:57 -07:00
Tadashi G. Takaoka
ab771b01eb Revert keyHintLetterPadding only to apply horizontally
Partially reverts the Ia3680d84.

Bug: 6356125
Change-Id: I8faa810b833cb98ce6f0f760aa1722e63475cd45
2012-04-24 16:20:47 +09:00
Tadashi G. Takaoka
aaac9a5217 Add header commnets of KeyboardTextsSet.tmpl
Bug: 6371604
Change-Id: I1054685b9985b6923e3176679b3d95424d8114e0
2012-04-24 16:19:17 +09:00
Jean Chalard
805fed49e1 Merge "Fix binary reading code performance." 2012-04-23 23:39:37 -07:00
Tadashi G. Takaoka
fe4d13cbcb Merge "Make the "Touch again to save" hint text touchable." 2012-04-23 23:20:49 -07:00
Jean Chalard
1d80a7f395 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
2012-04-24 15:16:17 +09:00
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
9f763d1445 Make the "Touch again to save" hint text touchable.
Bug: 6355346
Change-Id: I96933719cc94f25e6c7ecb1d6345c11b6acc4134
2012-04-24 13:44:14 +09:00
Tadashi G. Takaoka
3e3bb36f1f Fix NPE in AdditionalSubtypeSettings
Bug: 6384416
Change-Id: I878071b8b78acce51649f9637b59830ab681c696
2012-04-24 11:01:45 +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
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
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
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
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
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
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
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