Commit graph

3396 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
Kurt Partridge
14718ab898 Merge "Log score, kind, and sourceDict for manual suggestion and gesture" 2013-06-14 17:03:03 +00:00
Jean Chalard
6233ee3633 Fix a bug with long user dict entries
Bug: 9410958
Change-Id: I966e452c6dbdcb444abbb6ffb316849a7c85a73b
2013-06-14 12:40:35 +09:00
Kurt Partridge
fc98325c61 Log score, kind, and sourceDict for manual suggestion and gesture
b/9422713

Change-Id: I4880fad6a5b10d09ca11b63311f14862bee724e5
2013-06-13 11:03:49 -07:00
Jean Chalard
27d9c6f795 Merge "Cache subtype lists reasonably." 2013-06-13 01:49:41 +00:00
Kurt Partridge
e72d1a07b6 Merge "Allow downloadable dictionaries in development builds" 2013-06-12 21:22:34 +00:00
Jean Chalard
ff6445ed0e Cache subtype lists reasonably.
This will spare a lot of IPC for Latin IME at the cost of very little
retained memory.
This improves the loading by potentially a lot - between 15 and 30%
when the layout is cached (which should now be the case almost every
time), and half that if it's not. More importantly, it makes the
load time less sensitive to high device load, which is one of the
sore points.

Bug: 8689779
Change-Id: I2e07736f1a92c38eed0e203bc690761a181da8b9
2013-06-12 18:04:52 +09:00
Kurt Partridge
2a1a463e2e Adjust settings for development-only versions
Change-Id: I4f08632d97f182d312edc82bda3c3897a71099ad
2013-06-12 02:01:45 -07:00
Satoshi Kataoka
fe95e7b1bf Merge "Fix possible NPE" 2013-06-07 11:09:52 +00:00
Tadashi G. Takaoka
77f63c8ac6 Don't use RichInputMethodManager in setup wizard
In setup wizard, InputMethodManager may not be able to be aware that
this IME is installed, especially just after the IME is installed via
GooglePlay app and hit the open button on the app to launch the setup
wizard.

Bug: 9299618
Change-Id: I00c8544178b41074253d49ae9481996ec56593d2
2013-06-07 19:09:44 +09:00
Satoshi Kataoka
6c8136d157 Fix possible NPE
Bug: 9314901
Change-Id: Id80f59df38ae72766b097fd1c23326fedd302439
2013-06-07 19:08:58 +09:00
Tadashi G. Takaoka
254b484e75 Defer getting no language subtype
Bug: 9318351
Change-Id: I55338c001070655a3f90df3dbe1351bd4180d520
2013-06-07 18:20:31 +09:00
Jean Chalard
6910032972 Merge "Use an iterator to remove stuff from an ArrayList." 2013-06-06 08:19:41 +00:00
Jean Chalard
0dc422e0c7 Use an iterator to remove stuff from an ArrayList.
Silly me >.>

Bug: 9306154
Change-Id: Ic00e9d6a31cd1d7aacefe68b7be9c2199e297b0d
2013-06-06 17:03:16 +09:00
Kurt Partridge
efd26bb319 Allow downloadable dictionaries in development builds
Bug: 9305379

Change-Id: Iab32753070a056d3861a45aa898911b7ab67dfb6
2013-06-05 22:14:54 -07:00
Satoshi Kataoka
f6a1a76524 Merge "Fix a possible NPE" 2013-06-06 05:02:46 +00:00
Satoshi Kataoka
6f9c6f2c64 Fix a possible NPE
Bug: 9301208
Change-Id: Id120c99ab9ef698d16cf7b8beea30c98c95d23a1
2013-06-06 12:01:22 +09:00
Tadashi G. Takaoka
cbd219a761 Move Base64Reader to utils package
Change-Id: Id46898c5cae268f05850d79938929b7707f27320
2013-06-05 19:39:36 +09:00
Tadashi G. Takaoka
9d4e251826 Merge "Add CsvUtils that conform to RFC 4180" 2013-06-05 06:28:06 +00:00
Tadashi G. Takaoka
3ceeb6bcc6 Add CsvUtils that conform to RFC 4180
Bug: 9070153
Change-Id: I66e55dd2f30fddfeb849edb97bc1cbda6b126d92
2013-06-05 12:26:22 +09:00
Tadashi G. Takaoka
0bfc2bc419 Merge "Add CODE_CAPSLOCK for long press shift key" 2013-06-05 02:19:02 +00:00
Tadashi G. Takaoka
9552badf3c Add CODE_CAPSLOCK for long press shift key
This change utilizes the no panel auto more key feature to implement
long press shift key for shift lock.

Change-Id: I3995d25dc35aea3c67b5aa29299815462eff9cad
2013-06-04 18:20:06 +09:00
Tadashi G. Takaoka
cbc7acb6f5 Merge "Expand suggestion strip when center suggestion is long" 2013-06-03 14:45:05 +00:00
Tadashi G. Takaoka
9ff7354d78 Clear previous suggestions when gesture typing starts
Bug: 8651076
Change-Id: Ic65ed3e3696409edea4e35080c11e4d1869a5a7e
2013-06-03 17:59:26 +09:00
Tadashi G. Takaoka
043273b00f Expand suggestion strip when center suggestion is long
Bug: 9059710
Change-Id: I7fa2658cc6442e86f69c991f1e99db6fb1ef909c
2013-06-03 16:12:59 +09:00
Tadashi G. Takaoka
72ac390ce6 Fix ArrayIndexOutOfBoundException
Change-Id: I243fc4965365680615eed834efe9ae0240e7f2a8
2013-06-03 15:35:49 +09:00
Kurt Partridge
743302888b Merge "Uncommit separator LogUnits" 2013-06-03 03:01:23 +00:00
Kurt Partridge
3d20946272 Merge "Uncommit LogUnits when reverting textInput" 2013-06-03 02:58:20 +00:00
Kurt Partridge
4efb5c3b65 Merge "Remove uncommit on reverting batch input" 2013-06-03 02:54:33 +00:00
Kurt Partridge
bdff287a0d Uncommit separator LogUnits
Now that separators have their own LogUnits, they must be uncommitted
from the LogBuffer when backspacing over them.

Bug: 9088919

Change-Id: Ib36cc94939b93abe18850a06bced17caf8aaa5b9
2013-06-02 19:15:57 -07:00
Kurt Partridge
720840851d Uncommit LogUnits when reverting textInput
Bug: 9088919

Change-Id: I17187aa0afc1c3e9d32269c65f66cfb3a08663cb
2013-06-01 23:42:35 -07:00
Kurt Partridge
4165ef031f Remove uncommit on reverting batch input
Currently when the user reverts a batch input, a LogUnit is uncommitted
from the LogBuffer.  It should not be, because the LogUnit containing the
batch input is never committed in the first place (it is only committed
to the LogBuffer when a key is pressed or a new batch input is entered).

Bug: 9088919

Change-Id: I323af453ce082437a663ccae977b21b775a964bc
2013-06-01 11:15:47 -07:00
Jean Chalard
f61999caba Merge "Make it easy to open several dictionaries from tests" 2013-05-31 11:21:37 +00:00
Tadashi G. Takaoka
a0c3e02d71 Refactor SuggestionStripLayoutHelper a bit
Bug: 9059710
Change-Id: Ief12029bad75d4dc78090ab97555aece01b873de
2013-05-31 18:14:47 +09:00
Jean Chalard
1562fc91f0 Make it easy to open several dictionaries from tests
Bug: 9127175
Change-Id: I3f1840ee73b364df26dfddb5acb10001e0f2cb61
2013-05-31 15:36:05 +09:00
Tadashi G. Takaoka
723391c945 Merge "Tidy up Utils class a bit" 2013-05-31 06:29:24 +00:00
Kurt Partridge
e6125db98d Merge "Catch a permission exception" 2013-05-31 00:30:14 +00:00
Kurt Partridge
d63f756013 Catch a permission exception
This change catches a SecurityException if the DictionaryProvider is
unavailable.

Change-Id: I4f2d87327c40765383d8847fd4e934b3cf799488
2013-05-30 13:40:40 -07:00
Tadashi G. Takaoka
cbb99c60be Tidy up Utils class a bit
Change-Id: Idc2feb84a902a6cbb7265d1efe06c34e7d63c2c7
2013-05-31 00:32:57 +09:00
Tadashi G. Takaoka
7097aa2d3d Merge "Cleanup unreadable variable names" 2013-05-30 13:09:27 +00:00
Tadashi G. Takaoka
d67db32b30 Merge "Separate SuggestionStripLayoutHelper for readablity" 2013-05-30 13:09:17 +00:00
Jean Chalard
1a50999ed9 Merge "Tell the text view we reset state on finish input" 2013-05-30 11:53:50 +00:00
Jean Chalard
e90d039e0c Fix two strict mode warnings.
Bug: 9052555
Change-Id: I86e90488679a78a9f6e901b640025619293765a0
2013-05-30 20:12:05 +09:00
Tadashi G. Takaoka
500a9752b1 Cleanup unreadable variable names
Change-Id: Ic97687c58e25e4b0c6833cc25d10854f5f513081
2013-05-30 19:49:51 +09:00