Commit Graph

363 Commits (52e0b3d1b8665e612a9ea5a3fbc6580c2c7f7d76)

Author SHA1 Message Date
Jean Chalard 73ec85b8ad Don't insert automatic spaces when text looks like a URL
This is about as ad-hoc as it gets, but then again, what we want
is probably as ad-hoc as it gets.
All URL boxes I know of double as search bars, and not adding
automatic spaces there sucks (e.g. in Chrome URL bar).
And in other boxes actually you don't want to add a space if
it looks like a URL. QSB isn't even a search box, and it behaves
like this.

So I think this is actually the right answer to the problem.

Bug: 7062925
Change-Id: Ib09472b34644fd5bf2dc84bb97cedeeba28bcd02
2013-04-16 18:03:49 +09:00
Jean Chalard 8094bf45d7 Match the keyboard state to the recapitalize state.
Bug: 7657025
Change-Id: I2f8fe7fc4596a498322ba5ccabbd0c18a2bc36cf
2013-04-16 14:25:03 +09:00
Jean Chalard b794e904a3 Clean up RecapitalizeStatus
Change-Id: Ib4d002f90cd3a0e9ad4c04b883b0c1f05ada3ccf
2013-04-16 13:11:18 +09:00
Jean Chalard bc501647fd Remove a useless function
Bug: 8583091
Change-Id: I9195d68e44e9a282e25ccd2978d7b4088f600170
2013-04-15 22:01:37 +09:00
Jean Chalard 033958330d Merge "Have Latin IME re-capitalize a selected string" 2013-04-15 11:29:28 +00:00
Jean Chalard 2995abe7aa Have Latin IME re-capitalize a selected string
Upon pressing Shift, if there is currently a selected string, have
Latin IME change its capitalization.
This does not yet have the keyboard mode follow the mode - the change
is complicated enough as is.

Bug: 7657025
Change-Id: I54fe8485f44e04efd72c71ac9feee5ce21ba06f2
2013-04-15 20:23:01 +09:00
Jean Chalard 0e9ee4d3bf If there are no suggestion span, recompute suggestions.
Bug: 8084810
Change-Id: I1743c09c43ca6835bb2f607684b037bf17d36335
2013-04-15 19:33:23 +09:00
Jean Chalard 001884a1ee Clean up tests and increase speed
Conservatively reduce the number of unigrams to test from 1000
to 100.

Bug: 8583091
Change-Id: I48621ec44ff5f0590640d7c6b174ab5a6d267aaf
2013-04-15 14:25:32 +09:00
Jean Chalard c2653d0b5c Fix a typo
Change-Id: I27b925be030e9e6ee8ae49dc13f39accec996d7e
2013-04-15 12:57:27 +09:00
Jean Chalard 03d1dff38d Merge "Fix Binary dict tests" 2013-04-15 03:53:54 +00:00
Jean Chalard c2e9c511cb Fix Binary dict tests
There are two problems here. The first one is the tests would send
an invalid unicode character. Although we could want dicttool to
handle this more gracefully, it's fine for now.

The second problem is much more serious. If a node has more than
128 children, then the java code will crash trying to read the
dictionary back because of a bug that this change fixes. In
theory, it's possible that happens when we try to load the user
history dictionary back from the disk - native code is not affected
so there is no other point that may cause a problem.
In the practice, that means you'd need to have 129 words with a
common prefix (including empty string) but all different after
this. It's almost impossible with Google Keyboard since there are
only so many keys on the keyboard that you can make a word out
of, and then again you'd have to do it repeatedly until it
actually enters the user history dictionary, wait for it to get
saved on the disk.
The bad news is, if you manage to get this far, the keyboard will
crash every time and won't be able to get up until you clear
data for the package.
The good news is, the dictionary itself is not corrupted and only
the reading code is wrong. So updating to a newer version would
actually even recover from this situation.

All in all, considering how almost-impossible this is to trigger,
I don't think even a single user actually did hit this bug.

Bug: 8583091
Change-Id: Iabb2a7f47cbd9ed3193d2a3487318d280753e071
2013-04-15 12:48:16 +09:00
Tadashi G. Takaoka b12c2af32e Tighten unit test condition of MoreKeysKeyboardBuilder
Bug: 8601979
Change-Id: Icf584f3b35adce69cc3dfc46f3aacfef05e5dd2a
2013-04-15 09:58:18 +09:00
Jean Chalard 128961ade0 Fix failing tests
RichInputConnection#getWordRangeAtCursor may now returning
either a SpannableString or a String. We can't test that with
String#equals(), but TextUtils#equals() does the job for us.

Change-Id: I59ebe54207e92f4d90b49476b64f1e12fd4929cb
2013-04-12 23:38:36 +09:00
Jean Chalard d89ed47616 Remove voodoo magic.
There was a much, much simpler way of achieving the same thing.

Bug: 8583091
Change-Id: I8882f389312caad3b17335672892a31d30cd00bc
2013-04-12 17:05:43 +09:00
Jean Chalard 1cbb0b8f2a Add some utility functions.
Bug: 7657025
Change-Id: I4889721b5348c77ed56c5157557e9988dea48a02
2013-04-11 16:16:19 +09:00
Jean Chalard 4f43076370 Fix a faulty test
Change-Id: I5c03cea41e9b6e936e8f93b7d756f0fc9520002d
2013-04-10 18:08:27 +09:00
Jean Chalard 99b93d17d5 Fix a bug where autocorrection status would be wrong.
Change-Id: Ic220129dc59f585164dbf63591cd1c96de17fe6f
2013-04-10 17:49:19 +09:00
Tadashi G. Takaoka d20c5a78e2 Separate StringUtils.capitalizeFirstCharacter
Bug: 8582061
Change-Id: Iac8f65defdd92d7df533bdf0e2937ad897d96363
2013-04-10 14:55:23 +09:00
Jean Chalard 19dcd15493 Merge "Offer to add any OOV typed word to the dictionary." 2013-04-09 10:28:47 +00:00
Jean Chalard 9310f42a36 Offer to add any OOV typed word to the dictionary.
That includes gestures, which used not to work.

Bug: 8532637
Change-Id: I04606565d7000faadf954c4a806c39d4d162a2c1
2013-04-09 12:05:54 +09:00
Jean Chalard c87449497c Fix bugs and add tests
Change-Id: I6b56b91ace57f4a49584b5dceb71b145859f839e
2013-04-05 12:11:19 +09:00
Jean Chalard 5d399ec719 Change which backdoor the tests goes through
Yes that's even harder to understand. The old technique doesn't work
any more, so I have to drill a new hole in this class.

Bug: 8303100
Change-Id: I70a41b5094dab2bb56a17eaf55b2a2df853e4bb6
2013-04-02 18:20:19 +09:00
Jean Chalard 84bfde0421 Fix a test.
The test was not passing the correct input type when it was
creating the text view, resulting in mismatched types seen from
TextView and LatinIME with some bad results. The test would
even go as far as restoring it after it's been fixed by TextView.

Additionally, since we want to enter litteral carriage returns,
the input type should be MULTI_LINE. If not, TextView does
not allow carriage returns.

Bug: 8302690
Change-Id: I1c20bcf6ca554ad981048ec181e19c649f6c742e
2013-04-02 18:20:14 +09:00
Tadashi G. Takaoka 75028af28c Interpolate gesture preview trails
There is the boolean flag to kill interpolation.

Bug: 7167303
Change-Id: Iac7e4cb88cf437c2ee77c003c9cddb92416025c7
2013-04-01 19:15:36 +09:00
Jean Chalard a411595b16 Fix two nasty bugs with surrogate pairs.
The important bug is in findWordInTree. The problem, which is
not obvious, is that we were calling codePointAt() with the
code point index in the string, instead of the char index.
The other bug this change fixes was harmless in the practice,
because it's in the iteration which is only used for debug and
pretty printing purposes. It's very similar in that it would
substract a length in code point to a length in chars and
truncate a StringBuilder at that length, so it would fail in a
quite similar manner. This changes the meaning of the "length"
attribute in Position, but it's clearer this way anyway.

Bug: 8450145
Change-Id: If396f883a9e6449de39351553ba83f5be5bd30f0
2013-04-01 17:06:19 +09:00
Tadashi G. Takaoka 9f3774c194 Remove reference to string.english_ime_name
Bug: 6789579
Change-Id: I062c076f0ca16cc39274e20955aa83d667b7380d
2013-03-22 14:08:23 +09:00
Jean Chalard abaf5827e7 Separate suggestions from SuggestionView
This is a cleanup change, but it's also necessary for

Bug: 8152758
Change-Id: Id6ba06243f573fdb856f87d1df03277c9f2e5e71
2013-02-28 21:03:18 -08:00
Tadashi G. Takaoka 67a54c4bbe Fix failed unit test due to resource string change
Change-Id: Ie7acdf6895a9769eb43ea8a1c70c0d13b32ed349
2013-02-26 16:58:23 +09:00
Tadashi G. Takaoka fdb1ca560e Merge "Separate caps mode related utils to CapsModeUtils" 2013-02-12 09:26:16 +00:00
Tadashi G. Takaoka ce6bcdd1a5 Separate caps mode related utils to CapsModeUtils
Change-Id: I32700c434b296bb3fd39e040c2dda1fe90667daf
2013-02-12 18:15:42 +09:00
Tadashi G. Takaoka 2c2942dd4b Merge "Move parseCsvString to StringUtils" 2013-02-12 07:57:24 +00:00
Tadashi G. Takaoka b3fd701181 Move parseCsvString to StringUtils
Change-Id: I602f33991ca57b6057ec2defe01573552b322857
2013-02-12 16:18:19 +09:00
Jean Chalard 1c5b2a41ec Cleanups
Follow-up to Idc6f419a

Change-Id: I4aae8f4e19f27a0a309879dc19af6e40906d58c5
2013-02-11 21:14:56 -08:00
Ken Wakasa 825abc00f4 Follow up to If933fcad56d81dcc956b6114727e01be9686ee9c
Bug: 7405756
Change-Id: I415936db98296cd1d2fe6e4a590375061935ba8a
2013-02-10 00:31:40 +09:00
Jean Chalard 68ed7aa990 Fix a test
The test is wrong - it checks a struct that contains a string
instead of checking the string itself.

Bug: 8149360
Change-Id: Ifb93d61f25a64a64e1c1e689de792f27994487b6
2013-02-06 15:27:21 -08:00
Tadashi G. Takaoka 53da9b1208 Remove android.test.runner from tests app
Bug: 8132168
Change-Id: I7ed84de27a4436539fca0ca4f0efb5e6448480cb
2013-02-05 16:07:31 -08:00
Tadashi G. Takaoka b4598f7d05 Add unit tests tags
Bug: 8131968
Change-Id: Ibca5a0d63a492134b8af401a62ca3a5748e003cf
2013-02-04 17:21:30 -08:00
Kurt Partridge 7708bcf6fb [Rlog48c] Replay historical motion data
Change-Id: Ib398ea61ff048b1a4ac3b7f7b4a772e173a7b294
2013-02-04 06:13:51 -08:00
Jean Chalard 01a4ebcd88 Add a way to know externally if we're installing a new dict
That helps tests know when to wait and when to declare the
dictionary actually not usable.

Bug: 7925814
Change-Id: Ic963c1206c43e3cde39ac4214a0d601f4fc6c03b
2013-01-31 09:04:55 +09:00
Tadashi G. Takaoka 8630cd9d17 Remove keyboard layout description on the spacebar
Bug: 8056376
Change-Id: I33f07e7a044c2b5fc20de40c7a9777dab493e41c
2013-01-28 11:49:44 +09:00
Tadashi G. Takaoka 8203f7afe7 Display custom input style name in system locale
Bug: 8032166
Change-Id: Ib9a6b63c4d540ce377892fb865e53abdd8adec16
2013-01-24 17:44:49 +09:00
Tadashi G. Takaoka 4b3cae9b0c Refactor SubtypeLocale to hold Resources
Change-Id: Ia667bc2d406d66c87215dd3b9569f36f4642cfe0
2013-01-23 16:23:11 +09:00
Tadashi G. Takaoka cc2636b4e1 Remove automatic switch back to alphabet feature
Change-Id: I4600c808f2ec31c18d3698a43afa7f4be9407e3e
2013-01-18 18:44:27 +09:00
Jean Chalard 912ad4614f Fix international tests
Tests have been broken again by recent changes to subtype
choice within Latin IME. This fixes the problem and all tests
pass again.

This change also includes a small fix to one test that was
checking for something irrelevant.

Change-Id: I6a03dea24f99b0d2ad84c4161a8413f3060bb811
2013-01-10 15:12:17 +09:00
Jean Chalard 516b63db28 Fix a race condition with backspaces
And add a test to make sure it stays not-broken.

Bug: 7946604
Change-Id: I996da3d5507d591ec25a13fb57434f39843f1df5
2013-01-09 18:37:10 +09:00
Tadashi G. Takaoka f90fc105ab Simplify singleton class initialization
Change-Id: I16a27f2ed6ea66184bfdc9903180372cd7ea2fd1
2013-01-07 19:05:31 +09:00
Tadashi G. Takaoka f483225397 Get rid of current subtype and system locale cache from SubtypeSwitcher
Bug: 7675452
Change-Id: I2121f56964b6d25e8d40f5b8ec67eeae527b2117
2012-12-27 12:00:38 +09:00
Tadashi G. Takaoka 85e397cd10 Set additional subtypes before getting current subtype
Bug: 7594188
Change-Id: I1977acb7189f8eb186b9b20a3e5b64b4aaabf191
2012-11-28 14:49:38 +09:00
Tadashi G. Takaoka 0567d144a3 am 7ba02315: am b172725c: am 7d045829: Request update shift state after shift-chording input
* commit '7ba02315abf3f6fe2e40fcb248ccf1cab8dee179':
  Request update shift state after shift-chording input
2012-11-27 11:36:53 -08:00
Ken Wakasa 2a6f58d902 Prep for GCC 4.7
On Galaxy Nexus (./vendor/google/apps/LatinImeGoogle/tests/etc/run-profile.sh -g)

Before
==== test finished, terminate logcat =====
(0)  2506.11 (10.48%)
(1)  21289.22 (89.01%)
(2)  108.29 (0.45%)
(3)  0.00 (0.00%)
(4)  0.00 (0.00%)
(5)  0.00 (0.00%)
(6)  0.00 (0.00%)
(20) 0.00 (0.00%)
Total 23917.44 (sum of others 23903.62)

After
==== test finished, terminate logcat =====
(0)  2499.58 (10.98%)
(1)  20145.66 (88.51%)
(2)  103.17 (0.45%)
(3)  0.00 (0.00%)
(4)  0.00 (0.00%)
(5)  0.00 (0.00%)
(6)  0.00 (0.00%)
(20) 0.00 (0.00%)
Total 22761.98 (sum of others 22748.42)

Change-Id: I662cb361ff9205ef87d640c458b8473df7d54659
2012-11-27 20:11:29 +09:00