Commit graph

5059 commits

Author SHA1 Message Date
Jean Chalard
429db8d61e [FD3] Split stackNodes into two methods.
In the future we need to have a method that computes only
from the size, as we used to have, to initialize the cached
addresses, and a much simpler and faster method to copy
the cached sizes.

Bug: 8526576
Change-Id: I6a5a790303ab8f3bf957c7ca266eb12da7c1ad9e
2013-07-24 17:26:16 +09:00
Tadashi G. Takaoka
0c3a9b549c Make RunInLocale as top-level class
Change-Id: I07ed606b7aba098a5be85533e5baff300b21fb44
2013-07-24 16:00:25 +09:00
Tadashi G. Takaoka
a410cb48ea Move subtype related utility class to utils package
Change-Id: I3564796531ea85f2ebafde40cd822b806b8741df
2013-07-24 15:52:43 +09:00
Jean Chalard
5526d138fe Merge "[FD2] Separate cached address before/after update for nodes." 2013-07-24 01:56:02 +00:00
Ken Wakasa
b9eb32679f Cosmetic fix for the copyright header
Change-Id: I2a93ac21571d1f6255a72a1a238b03dbb95108de
2013-07-23 19:39:03 +09:00
Ken Wakasa
db341afc65 Fix wrong copyright header comment
Change-Id: I75ffbc0508c00f7ac8004b764667a174b6ab0b63
2013-07-23 19:26:05 +09:00
Jean Chalard
91cbe3566d [FD2] Separate cached address before/after update for nodes.
Bug: 8526576
Change-Id: Ib9f8594a9e12dc75eba296faff2612c4bd7483d3
2013-07-23 17:52:54 +09:00
Tadashi G. Takaoka
e6c5184742 Fix NPE in SubtypeLocale.getSubtypeDisplayName
This change moves the methods that create the subtype display name for
spacebar from MainKeyboardView to SubtypeLocale class, and
consolidates SpacebarTextTests with SubtypeLocaleTests.

Bug: 9962955
Change-Id: Ifa0a08ff80bc30753a213c2feb471599ca63fa66
2013-07-23 13:00:04 +09:00
Jean Chalard
1676b8387f Merge "Fix a bug when moving the pointer in a > 48 chars word" 2013-07-22 08:04:43 +00:00
Jean Chalard
5fa2202e36 Fix a bug when moving the pointer in a > 48 chars word
Bug: 9892261
Change-Id: I9db20c5b20a0764bd9f5b5e2bdc98180bbb9ec15
2013-07-22 17:02:09 +09:00
Ken Wakasa
a7d2fc6bef Move settings related classes to "settings"
Change-Id: Id170dbfe2dcfc93130b7be4a84615940403ec37f
2013-07-22 16:35:44 +09:00
Tadashi G. Takaoka
dc7111013f Merge "Fix IllegalArgumentException in MoreKeysKeyboard" 2013-07-19 06:44:54 +00:00
Tadashi G. Takaoka
b0e76724ed Fix IllegalArgumentException in MoreKeysKeyboard
It seems that MainKeyboardView.getMeasuredWidth() returns weird
value. Using KeyboardId.mWidth as main keyboard width may resolve the
issue.

Bug: 9684622
Change-Id: I975bfb934b8d2448e72555a3ccae0123341186b9
2013-07-19 11:43:50 +09:00
Ken Wakasa
b03447e1af Move a couple classes to the utils package
Change-Id: Ia14a2011d79bad7cd02697b9254705f6e2099442
2013-07-19 10:46:46 +09:00
Tadashi G. Takaoka
03a76a07e2 Merge "Restrict bogus events hack to certain classes of tablets" 2013-07-18 08:40:44 +00:00
Tadashi G. Takaoka
536438a45e Restrict bogus events hack to certain classes of tablets
Bug: 9061320
Change-Id: Ib8c6a5e6db5da99c447bc00867fed51ca959cc3a
2013-07-18 15:49:11 +09:00
Jean Chalard
257750d988 [FD1] Move parents' address computation outside
There is no need to do it repeatedly in this loop: it's
clearer and faster to do it at the end only.

Bug: 8526576
Change-Id: I707571179c89479830891ec6d4fd06a9fffed7c1
2013-07-17 20:47:53 +09:00
Tadashi G. Takaoka
6455172a70 Distinguish key press in repeat key
Bug: 9859367
Change-Id: Iad643f9785b193e1918a8363de4fefc3b7558bdf
2013-07-16 19:21:16 +09:00
Jean Chalard
2bc980ee28 Merge "Serialize commands sent to a separate threads" 2013-07-16 07:21:07 +00:00
Jean Chalard
6a7a569831 Serialize commands sent to a separate threads
Bug: 9715797
Change-Id: I1eda4d2f0056f70cfb8a92d658e0875706efc170
2013-07-16 15:54:39 +09:00
Jean Chalard
988a1f3132 Merge "Fix a bug with bad view reuse." 2013-07-16 05:43:15 +00:00
Jean Chalard
4d4310df75 Merge "Fix a wrong call to cancel downloads" 2013-07-16 05:40:16 +00:00
Jean Chalard
6912342a48 Fix a bug with bad view reuse.
There are many ways to fix this problem but this is the most
direct way. Removing a view from the cache when any animation
is started will ensure it won't be used again, and will be garbage
collected when it's possible. Since views are created on demand
anyway, a new one will just get created when needed, and that's
it.

Bug: 9400128
Change-Id: I4945d2859d642e79694d51ae90cf4f5bde9a5f1d
2013-07-16 14:12:55 +09:00
Keisuke Kuroynagi
4944827e0f Merge "Add methods for dynamic updating binary dictionary." 2013-07-16 02:45:01 +00:00
Kurt Partridge
8bfd57820f Merge "Do not output string-encoded MotionEvent." 2013-07-15 17:36:56 +00:00
Jean Chalard
faa729c47c Fix a wrong call to cancel downloads
This resulted in downloads not being correctly canceled.

Bug: 9715797
Change-Id: I786d869977df225f85cb69ec7ea9c96b039258fe
2013-07-11 17:15:45 +09:00
Keisuke Kuroynagi
cfbb7fbd48 Fix: Read lock is wrongly used for gutSuggestions.
Bug: 9737865

Change-Id: I017f80b46c5dc48c40f2de7c4d516a042992feb4
2013-07-09 08:40:43 +00:00
Ken Wakasa
58b2a6372f Merge "Update ExpandableDictionary.BASE_CHARS[]" 2013-07-08 03:22:15 +00:00
Ken Wakasa
d0ca62678d Update ExpandableDictionary.BASE_CHARS[]
This should be the same as CharUtils::BASE_CHARS[] in the native code.

Change-Id: I72ed4a43fd5c26a4439ef791b6b1cf703845c3a1
2013-07-05 20:29:21 +09:00
Tadashi G. Takaoka
ccf4a31027 Move TypefaceUtils and ViewUtils to utils package
Change-Id: Iccd47c27670248c43de9a539c1951111d7733111
2013-07-05 19:24:59 +09:00
Tadashi G. Takaoka
4be6198cb7 Reorganize Utils class
Change-Id: I7294d1547def5dcfcae9d1d53b277cb3cc9f2d18
2013-07-05 19:24:40 +09:00
Tadashi G. Takaoka
72c2feb573 Use TimeUnit instead of DateUtils for readability
Bug: 9550800
Change-Id: I087205530a5dbcff4bf08f48f4aa7068aae93215
2013-07-05 17:57:01 +09:00
Jean Chalard
cb13d11c0a Add a trace.
Emit a trace when a new dictionary is copied to LatinIME
successfully, not just when it fails. That will help diagnosing
some problems by being able to ensure this step succeeded
looking at the log.
This does not happen often (like, maybe 3 times at device
activation, and once every few weeks afterwards), so I think
the extra line in the log is more than acceptable.

Change-Id: I1674bc22d950a7be801076c5aa7e8bbebccab14b
2013-07-05 12:44:47 +09:00
Keisuke Kuroynagi
49910a9d77 Merge "Fix: release lock in UserHistoryDictionary." 2013-07-04 15:13:09 +00:00
Keisuke Kuroynagi
65db026265 Fix: release lock in UserHistoryDictionary.
Change-Id: I050c252910c6b5b0a79cd2d52c525679f2d6091d
2013-07-04 23:12:49 +09:00
Keisuke Kuroynagi
f8d2796724 Add methods for dynamic updating binary dictionary.
Bug: 6669677
Change-Id: I7e681ceec2af712214a647630350cb20be6b0354
2013-07-04 21:17:49 +09:00
Keisuke Kuroynagi
edd1992ed3 DictionaryWriter to abstract binary dictionary writing.
UserHistoryDictionary should become to use ExpandableBinaryDictionary.

Bug: 6669677

Change-Id: I6831c7dd2d84207d1a8f51ba15d52e0a72205d0c
2013-07-04 21:06:04 +09:00
Tadashi G. Takaoka
fe202d6738 Add Azerbaijani keyboard
Bug: 7963448
Change-Id: I39c192b342278e82e30ac6ef12c6d150c817ae70
2013-07-04 14:47:33 +09:00
Tadashi G. Takaoka
0e007eaff6 Add Kazakh keyboard
Bug: 9697273
Change-Id: Ic9943569ed60d601f093181bf135e45a25399121
2013-07-04 13:10:38 +09:00
Kurt Partridge
6d7c647470 Do not output string-encoded MotionEvent.
JsonUtils knows how to output MotionEvents into json; that mechanism
should be reused for SuddenJumpingTouchEventHandler.

Change-Id: Id4c36c05533a3a329bf43ba33d57c0830dc4d196
2013-07-03 10:13:59 -07:00
Keisuke Kuroynagi
0b1c08bf5a Use ReentrantReadWriteLock in ExpandableBinaryDictionary.
Bug: 6669677

Change-Id: I2acde0517d5ed5cbd7b7149709e35fc36651335d
2013-07-03 19:46:08 +09:00
Tadashi G. Takaoka
f87e8f7ec1 Handling key repeat by emulating key press and code input
This change also eliminates a reference of
AudioAndHapticFeedbackManager from KeyboardSwitcher and MainKeyboard.

Bug: 6522943
Change-Id: Iac42ec8ff00c66deb76a660ffc07477923a58959
2013-07-02 19:50:34 +09:00
Jean Chalard
e5a3b77664 Merge "Move Range out of RichInputConnection and rename it." 2013-07-01 07:20:51 +00:00
Keisuke Kuroynagi
109ba3ace3 Merge "Regenerate old version dictionaries using new format." 2013-07-01 07:16:15 +00:00
Jean Chalard
70ee2201a0 Merge "Do not re-resume suggestion if it's not needed." 2013-07-01 07:12:24 +00:00
Jean Chalard
675bcf191c Move Range out of RichInputConnection and rename it.
Range has grown a bit too big to stay an internal class.

Change-Id: Ic3fbc48a5d10776eedd7559c4d696e5926b88288
2013-07-01 15:41:13 +09:00
Keisuke Kuroynagi
a62b5b22ef Regenerate old version dictionaries using new format.
Bug: 9617181
Change-Id: I228a3eac959f81b38e4092015e8e3c429d46fa60
2013-07-01 15:25:33 +09:00
Jean Chalard
3f0858eb2b Fix a bug where no URL means refresh never ends
This patch does two things:
- If there is no URL to download new data from, then the
Refresh button is not shown.
- Even if for some reason refresh starts for a client for
which there is no URL, loading correctly finishes.

Bug: 9388602
Change-Id: I3fd9214da50faa4b59d0bd3e775293dd34f07547
2013-07-01 14:47:30 +09:00
Jean Chalard
f0af452ce2 Do not re-resume suggestion if it's not needed.
This is much better interface-wise. It eliminates all blinking
of the line in the practice.

Bug: 8874148
Bug: 8864306
Change-Id: I87754e44784327c2e9c8b162d598d145e20668e8
2013-07-01 14:40:12 +09:00
Kurt Partridge
8142a7b637 Merge "Record number of words entered" 2013-06-28 17:01:18 +00:00
Jean Chalard
a5e28acf63 Merge "Fix a bug where AOSP Latin IME would not fill dictionaries" 2013-06-28 13:21:31 +00:00
Jean Chalard
555c4236db Fix a bug where AOSP Latin IME would not fill dictionaries
There is no reason not to contact the dictionary provider
when we don't have internet permission or when the URL
is empty. It knows how to handle both these cases.

Bug: 9388602
Change-Id: I30c4540551ad2f5e527d3acd1842bbd749feca89
2013-06-28 12:48:41 +09:00
Kurt Partridge
169571b3c0 Record number of words entered
This change records the number of words entered in every LogUnit.
This metric is helpful for determining how much multi-word gestures
and spaceless tapping is used.

Change-Id: I4c6d0f9d78e4ac2dd63fd53ed2ec70b368366f15
2013-06-27 12:30:00 -07:00
Jean Chalard
e04794cbbe Fix some warnings
Mostly remove unused imports

Change-Id: If8ceffdfad79b78194094527759f5c334746973e
2013-06-27 21:36:52 +09:00
Satoshi Kataoka
4ded1af210 Improve the language list in the personal dictionary
Bug: 9117704
Change-Id: I26e6f8369a3c7ffa4bb651b4b5a3e6f004121983
2013-06-27 20:31:02 +09:00
Satoshi Kataoka
ec69a259c6 Merge "Open an API in ExternalDictionaryGetterForDebug" 2013-06-27 10:32:05 +00:00
Satoshi Kataoka
a2bfd46adf Use internal personal dictionary settings on JBMR2 or before
Bug: 9117704
Change-Id: I7e20b03daa23b59211235183cf48d933e32845e4
2013-06-27 19:20:05 +09:00
Satoshi Kataoka
bd84a00fc1 Open an API in ExternalDictionaryGetterForDebug
and extend it

Change-Id: Id2ba8dd8928a6327d3b31eb35f7cc314e2d31050
2013-06-27 18:41:07 +09:00
Jean Chalard
2bbd78ab0a Merge "Ignore spans that are not the right size." 2013-06-27 03:06:47 +00:00
Jean Chalard
2f7f6257b6 Ignore spans that are not the right size.
Bug: 8839763
Bug: 8862327
Change-Id: I5d49c86edcbc0fc1b2b147856437cfbadd678377
2013-06-26 23:02:50 +09:00
Jean Chalard
6c0e412137 Merge "Resume suggestion at start input" 2013-06-26 10:18:32 +00:00
Jean Chalard
a690f3bc40 Merge "Readability improvement" 2013-06-26 07:37:15 +00:00
Jean Chalard
173f74bb18 Merge "Fixing follow-up to I548d899b" 2013-06-26 07:36:44 +00:00
Jean Chalard
fb72890ac6 Readability improvement
Change-Id: I2f350145f333ba1fa4eb20027b0f41107c2df02c
2013-06-26 16:03:40 +09:00
Jean Chalard
7fcf304c97 Fixing follow-up to I548d899b
I548d899b introduced a new method to fix a sync miss between
the cursor position and the cached cursor position, but did not
take into account that it should also update the cached text
before and after the cursor in this case and that there was
already a method for doing this.

Change-Id: I31bd741893207c822827304e77791b1159774e1a
2013-06-26 15:28:42 +09:00
Keisuke Kuroynagi
5bf1be7162 Add jni methods for dynamically handling a dictionary.
Bug: 6669677
Change-Id: I8a26623adbb41a78e3c023c652be635c635e3b47
2013-06-26 12:51:33 +09:00
Jean Chalard
2f69348d51 Resume suggestion at start input
Bug: 9568410
Change-Id: I65468268f8613c863fa7f3a497b64656da0a221c
2013-06-25 19:38:31 +09:00
Ken Wakasa
fd0945b0da Merge "Make UserLogRingCharBuffer an external class" 2013-06-25 09:40:31 +00:00
Ken Wakasa
9419e02fd9 Make UserLogRingCharBuffer an external class
Change-Id: I9d506995337d64ec11c72939a8d739423ee46efa
2013-06-25 18:38:13 +09:00
Jean Chalard
333362adfc Merge "Fix the one-suggestion case." 2013-06-25 09:10:09 +00:00
Jean Chalard
d7d5ff1f99 Fix the one-suggestion case.
When there is only one suggestion, this code does
not work. The reason for that is, it's not homogeneous
at all and takes indices of one thing into another.

Not completely related to b/8839763, but realized
working on this and needed to have it addressed.

Bug: 8839763
Change-Id: I422730cc7eebb69ff421a171025af0390ebcdf92
2013-06-25 18:00:30 +09:00
Keisuke Kuroynagi
38b542629a Merge "Add a parameter isUpdatable to the constructor of BinaryDictionary." 2013-06-25 08:44:48 +00:00
Keisuke Kuroynagi
981717da4c Add a parameter isUpdatable to the constructor of BinaryDictionary.
Bug: 6669677
Change-Id: I6bc25131afd97112e3bbde036a81ab559a9a6460
2013-06-25 17:39:06 +09:00
Ken Wakasa
12ef7d3702 Merge "Cleanup under the utils package" 2013-06-25 08:20:57 +00:00
Ken Wakasa
03118a2760 Cleanup under the utils package
Change-Id: If2f7bd1346cc5085bf57645830f0faac44d017e4
2013-06-25 17:09:12 +09:00
Keisuke Kuroynagi
8bc0b51369 Merge "Allow mmapping dictionary file in writable mode in openNative." 2013-06-25 07:09:37 +00:00
Keisuke Kuroynagi
f3b62900c7 Allow mmapping dictionary file in writable mode in openNative.
Bug: 6669677
Change-Id: I447668932de118b158fa029ddc977b3f3cc06cb8
2013-06-25 16:03:33 +09:00
Jean Chalard
10585620bd Merge "Fix a bug in the cached cursor pos, and simplify selection handling" 2013-06-25 05:00:11 +00:00
Kurt Partridge
1fc6b80009 Merge "Move splash screen to separate file" 2013-06-24 13:40:01 +00:00
Jean Chalard
cdf774122d Merge "Fix a small bug" 2013-06-24 10:00:05 +00:00
Ken Wakasa
bfaf349c35 Load the native lib eagerly
in the hope of avoiding UnsatisfiedLinkError. This is definitely not a
confident fix as we still don't know the root cause of the issue.

bug: 9325110
Change-Id: I1abf8031b98509f63fce6a2d069d497895ea712c
2013-06-24 18:12:04 +09:00
Ken Wakasa
bc1813186d Merge "Move util classes to the latin/utils directory" 2013-06-24 08:49:06 +00:00
Tadashi G. Takaoka
fadff6ada1 Merge "Fix possible divided by zeror error" 2013-06-24 08:44:17 +00:00
Tadashi G. Takaoka
bafe4b8a4e Fix possible divided by zeror error
Bug: 9534022
Change-Id: I5ab575c724fd7a9e80c76a93d83949e81b2970bb
2013-06-24 17:39:36 +09:00
Jean Chalard
ca52e1ca5a Fix a small bug
SpannableStrings are not the only type of Spanned, they are
only the mutable kind. SpannedString is the immutable one.
Spanned is the correct class to use there.

Bug: 8839763
Bug: 8862327
Change-Id: Ic5e6199a51f22368914f2748ac2d0d1ca6a33f78
2013-06-24 17:39:17 +09:00
Ken Wakasa
e28eba5074 Move util classes to the latin/utils directory
Change-Id: I1c5b27c8edf231680edb8d96f63b9d04cfc6a6fa
2013-06-24 17:04:40 +09:00
Jean Chalard
e8c4b99e56 Refactor text range to be able to get spans larger than the word
This changes how the Range class stores its data, but not its
functionality. It also improves encapsulation a bit.

Bug: 8839763
Bug: 8862327
Change-Id: I5bd583b3fc96a99b93a2632882d8fd587c03ab76
2013-06-24 12:31:14 +09:00
Kurt Partridge
1a0750dc95 Move splash screen to separate file
Change-Id: I5cad5d5814303d7ca4abadd3fca1c37bd1bc357e
2013-06-22 10:24:13 -07:00
Jean Chalard
b7a2fd16a1 Merge "Defer disk-intensive tasks until after the keyboard is shown" 2013-06-21 10:57:33 +00:00
Jean Chalard
673c727b7a Defer disk-intensive tasks until after the keyboard is shown
Bug: 8689779
Change-Id: Ia78d3540f44ec0028c3246a8e0163e9ecf061ecf
2013-06-21 19:41:45 +09:00
Jean Chalard
e5dee0af4a Fix a bug in the cached cursor pos, and simplify selection handling
The documentation for setComposingRegion states explicitly
that it does not move the cursor. This is just a bug.
This does not have any ill effects right now, but it will have
in later changes if not fixed.

As for the selection handling, the specific test that this code
removes used to serve a purpose, but it does not any more because
the code using the value has been much sanitized. Now the variable
can just take the obvious value, and become so self-explanatory
that the comments are unnecessary.

Change-Id: I548d899b38776bd3ab5f5361aab0d89d98f12e73
2013-06-21 18:15:07 +09:00
Tadashi G. Takaoka
9b570b5e62 Fix punctuations strip
Bug: 9508186
Change-Id: I8f0fbf4e0578cf9116d4c57e7e5747d38c89387e
2013-06-21 13:22:37 +09:00
Jean Chalard
93f74bafbb Merge "Add tests to dicttool test." 2013-06-20 08:34:38 +00:00
Jean Chalard
23d4eb55ba Add tests to dicttool test.
Bug: 8526576
Change-Id: Idd6f9cd076d5915361c68f5c29afbba67dd54eba
2013-06-20 17:29:37 +09:00
Tadashi G. Takaoka
c90181d6aa Use system default key press volume
Bug: 9475973
Change-Id: I6ae825b161dde69e19b52d73fb9aa782e2aa7423
2013-06-18 21:34:30 +09:00
Tadashi G. Takaoka
af69a14c96 Use system default vibration pattern
Bug: 9468462
Change-Id: Ifa46a56873c10888da8eaa2782fe07ef138a141b
2013-06-18 21:33:51 +09:00
Jean Chalard
3b5a503ebf Merge "Optimize ProximityInfo#computeNearestNeighbors()" 2013-06-18 11:45:06 +00:00
Jean Chalard
d55baf06d9 Optimize ProximityInfo#computeNearestNeighbors()
This cuts the time spent in computeNearestNeigbors by
a factor of 6 to 20, with an average at about 8.
This method representing about 25% of the total time
spent when switching keyboards, this change is a
20% improvement in layout switching time.

Bug: 8689779
Change-Id: Icb465f6010b317c7156057891c3341e51a198688
2013-06-18 20:33:52 +09:00
Tadashi G. Takaoka
3be8263035 Get value text from ValueProxy
As a preparation to show "system default" in the settings. LatinIME
can't know the actual system default value.

Bug: 9468462
Change-Id: I0b7898d1ca29ded7a619dd636d2ad16eb0db292e
2013-06-18 18:27:17 +09:00
Jean Chalard
2a81943d16 Fix a bug with recapitalization
This is a shameful bug :/

Bug: 9410367
Change-Id: I54ddbcd0323fa2c11fbd2aa8a1b3d2e07f6e83c8
2013-06-17 20:39:06 +09:00