Commit Graph

700 Commits (c29088846195dd413f086d9f7e602e185eebb995)

Author SHA1 Message Date
Keisuke Kuroyanagi cfb018ba6d Fix bug and Add large test for decaying dictionary.
- GC gets failure when the dictionary become empty.
- Useless unigrams are sometimes not removed.

Bug: 10197478
Change-Id: I8d1479c01efba61a81f03bc077da6bcb4797a940
2013-10-07 17:31:01 +09:00
Jean Chalard 5db7eabafb Merge "Accept double-space-period after emoji." 2013-10-04 13:05:43 +00:00
Jean Chalard 8142fd83a6 Accept double-space-period after emoji.
This also includes a fix that allows this code to read surrogate
pairs in this processing.

Bug: 11070482
Change-Id: If5ef8d6863938252f09128b7e99ea07ece6e7019
2013-10-04 22:01:36 +09:00
Ken Wakasa 676bb517ed Merge "Add Ver4DictUpdater." 2013-10-04 09:48:27 +00:00
Ken Wakasa 618158e675 Merge "Refactor BinaryDictIOUtilsTests." 2013-10-04 09:47:35 +00:00
Yuichiro Hanada e4e0add9fb Add Ver4DictUpdater.
Change-Id: I986ab26faf535fc4bc98443053f534eced9d048f
2013-10-04 17:33:29 +09:00
Keisuke Kuroyanagi 966af8b5ba Merge "Make BinaryDictionaryTests use current time as a seed." 2013-10-04 08:04:05 +00:00
Keisuke Kuroyanagi bcb196e3b5 Make BinaryDictionaryTests use current time as a seed.
Bug: 10197478
Change-Id: Ib79cd3a81b01b16259df29b36e1df6b8f0affca8
2013-10-04 16:48:22 +09:00
Keisuke Kuroyanagi 3e5f4b53b0 Merge "Check the elapsed time for decaying." 2013-10-04 07:16:17 +00:00
Keisuke Kuroyanagi 67c855ea6f Check the elapsed time for decaying.
Bug: 6669677
Change-Id: I0401a4c0908c702ce65abfa5e017dd16cb1296f9
2013-10-04 16:11:11 +09:00
Yuichiro Hanada 75d60e821c Refactor BinaryDictIOUtilsTests.
Change-Id: I2208378b33038771b460abb33f9a690872e998e2
2013-10-04 14:19:13 +09:00
Keisuke Kuroyanagi 864ee881bd Merge "Fix UserHistoryDictionaryTests." 2013-10-03 12:02:34 +00:00
Keisuke Kuroyanagi 11f7cae094 Fix UserHistoryDictionaryTests.
Bug: 6669677
Bug: 10667710

Change-Id: I6cdc6a6c9cacc7f276fda3a26ec31e3eb928471c
2013-10-03 20:55:34 +09:00
Yuichiro Hanada d6e307a4b7 Add DictUpdater.
Change-Id: Ic586e46e5a9f59de53d53e59886d635345940974
2013-10-03 20:16:34 +09:00
Ken Wakasa 596a565ae7 Merge "Remove some unused variables." 2013-10-02 09:38:00 +00:00
Keisuke Kuroyanagi 21ce9c4a89 Merge "Stochastic decay." 2013-10-02 09:37:56 +00:00
Yuichiro Hanada 3aa8977cb2 Remove some unused variables.
Change-Id: Iaf1556fec194d17cb4318f2bdcc837f8d79449ef
2013-10-02 18:26:03 +09:00
Keisuke Kuroyanagi c76bbceedc Stochastic decay.
Bug: 6669677
Change-Id: Ib2d9228b951c77dab7a8675ce9db60677e87e771
2013-10-02 17:51:12 +09:00
Yuichiro Hanada 4284e9aae7 Make SparseTable have multiple content tables.
Bug: 10920165
Change-Id: Ie9008452ee292fb0b1fec66e2ffed228c4af6c3e
2013-10-02 15:36:13 +09:00
Jean Chalard fa946d4a0f Fix a test and crash with a better error message when reading
When there are too many bigrams, we stop reading the file,
so the file pointer is in an inconsistent place. This means we
have no idea what's going to happen next. It's better to crash
right away.

Change-Id: Id3b7b78cbe4fda3493b3c9c46758763e1ab5f6a3
2013-10-02 11:48:47 +09:00
Keisuke Kuroyanagi 6995310996 Separate "GC" and "GC with decay".
Bug: 6669677
Change-Id: I9d6aba76cef2616f0549e612db9701e1d6a19467
2013-10-01 18:09:31 +09:00
Keisuke Kuroyanagi fd02b2d6ee Implement simple dictionary decay.
Groundwork and implement simple decay.
Increment probability when typed and decrement probability
at GC.

Bug: 6669677

Change-Id: Ib12caead0cbeef4ce7808fe8ac0b00ee331523fe
2013-09-30 20:53:35 +09:00
Keisuke Kuroyanagi b698e9c1fa Fix build.
Change-Id: If7c76ca5f7030ba2003228ed1877bdb948b4b99d
2013-09-30 14:21:48 +09:00
Keisuke Kuroyanagi 1cf4789ba6 Merge "Set header attributes for ExpandableBinaryDictionary." 2013-09-29 05:14:22 +00:00
Keisuke Kuroyanagi 5ed30a7660 Set header attributes for ExpandableBinaryDictionary.
Bug: 6669677

Change-Id: I2462777eaa07600f1c774226adfc4f351882f523
2013-09-28 12:50:09 +09:00
Keisuke Kuroyanagi 8b580819a5 Merge "Add unigram/bigram counting." 2013-09-27 14:14:49 +00:00
Keisuke Kuroyanagi 31097a57cc Add unigram/bigram counting.
Bug: 6669677
Change-Id: I05ea2201d822dddf062b08c8467daa336760e16c
2013-09-27 23:12:12 +09:00
Yuichiro Hanada a328f538c3 Fix PrioritizedSerialExecutor.
It was possible that fetchNextTasks() would be called by multiple
threads concurrently.
If it happens, some tasks in the task queues might be ignored.

Change-Id: Idc81c43c45e382da3850cc55b9a42c281548d2a8
2013-09-27 16:46:34 +09:00
Keisuke Kuroyanagi e3e10317b0 Merge "Create empty dictionary file in native code." 2013-09-26 08:03:38 +00:00
Yuichiro Hanada d188af7022 Add SparseTable.
Bug: 10920165
Change-Id: I749dd0269e788799e30b10beb2671813d40ce15f
2013-09-26 16:16:30 +09:00
Keisuke Kuroyanagi 5ef6209656 Create empty dictionary file in native code.
Bug: 6669677
Change-Id: I46d23deee1fd091678f4593561cb8687eb815212
2013-09-26 12:59:02 +09:00
Ken Wakasa f56b82f809 Fix the offdevice regression test build
Followup to If4e44eca3cdc5bb02cf2e0c8c44ecd4bf27fae57

bug: 10622489
Change-Id: If98b2c75725f8692f0c2b41c33e448086404479b
2013-09-25 19:13:47 +09:00
Keisuke Kuroyanagi 2e58670da9 Quit using ExpandableDictionary.
Bug: 6669677
Change-Id: Ie90417fa9b726454fe729a665fcd549efabb9e94
2013-09-24 22:57:15 +09:00
Keisuke Kuroyanagi 3e6b68bc0e Merge "Allow large memory space for GC." 2013-09-24 10:24:28 +00:00
Keisuke Kuroyanagi 3d2802ef2e Allow large memory space for GC.
Bug: 6669677
Change-Id: I021c92a1ca5cd28f745cbfe729c99e346c58074d
2013-09-24 19:21:17 +09:00
Jean Chalard 3d68b06662 Copy only the spans we are interested in.
The PARAGRAPH type of span is dangerous, as concatenating
CharSequences that contain it may crash. We also don't use
other spans than SuggestionSpans, so we don't copy them.

Bug: 10622489
Change-Id: If4e44eca3cdc5bb02cf2e0c8c44ecd4bf27fae57
2013-09-24 19:04:51 +09:00
Keisuke Kuroyanagi f3cd38f2c7 GC step 5. Add large tests and fix bugs.
Bug: 6669677
Change-Id: I41e44a64730f9c66645995095a7ecff51ffd5351
2013-09-24 16:32:25 +09:00
Keisuke Kuroyanagi dd7d95bd4a Merge "GC step 4. Update all positions in new dict and add a test." 2013-09-24 06:45:25 +00:00
Keisuke Kuroyanagi 2cfe7f9e3b GC step 4. Update all positions in new dict and add a test.
Bug: 6669677
Change-Id: I035d848a210653dcd3c1a1f21781968adced9225
2013-09-24 15:29:56 +09:00
Yuichiro Hanada 1625aeafd2 Fix runReadUnigramsAndBigramsTests.
Change-Id: Idd9176c9943dfacac5a06957f1a07187b642b207
2013-09-24 12:31:45 +09:00
Yuichiro Hanada 14087ba52c Add Ver4DictDecoder.
Bug: 9618601
Change-Id: I43c5840505c6a847aaf4893a400392ccd45903c0
2013-09-19 16:11:23 +09:00
Keisuke Kuroyanagi 561a83118c Merge "Add dictionary header writing methods." 2013-09-18 09:17:54 +00:00
Keisuke Kuroyanagi 484fa7b59c Add dictionary header writing methods.
Bug: 6669677
Change-Id: I392ac4776b55779903cbaa17e683005d80017a41
2013-09-18 18:08:33 +09:00
Satoshi Kataoka 8837deab73 Merge "Fix Emoji recents" 2013-09-18 08:46:25 +00:00
Satoshi Kataoka ea7bfa5cd5 Fix Emoji recents
Bug: 10538430

Change-Id: Ia2e423eb1843195b3c3218afc79a5820b8cd729b
2013-09-18 17:44:16 +09:00
Keisuke Kuroyanagi 72e53a1e38 Merge "Implement dictionary flush." 2013-09-18 05:20:05 +00:00
Keisuke Kuroyanagi 1560543754 Implement dictionary flush.
Bug: 6669677
Change-Id: I1d70ac6319fb6d8700074de382568c2108887960
2013-09-18 13:19:14 +09:00
Keisuke Kuroyanagi 9465819cf6 Merge "Add BinaryDictionary.getBigramProbabilityNative()." 2013-09-18 04:10:38 +00:00
Keisuke Kuroyanagi 4d02a2d44d Add BinaryDictionary.getBigramProbabilityNative().
Bug: 10197478
Change-Id: Id16e3ee22a17679c46cc7a0199a9e28065177aa3
2013-09-18 11:18:28 +09:00
Jean Chalard e8f717943f Improve trailing quotes processing
Bug: 10445496
Change-Id: Ib7bd05aea59ae6c9b8ce31299ef2235521b0e350
2013-09-17 22:17:22 +09:00
Keisuke Kuroyanagi d9f450ef00 Implement removeBigramWords() for DynamicPatriciaTrie.
Bug: 6669677
Change-Id: I99cb517511b4c968b8bf937baab5d7f42b0f534e
2013-09-17 18:05:32 +09:00
Jean Chalard 7e51989b3f Merge "[AC7] Actually auto-commit." 2013-09-17 08:20:47 +00:00
Keisuke Kuroyanagi e8754aba1c [AC7] Actually auto-commit.
Bug: 9059617
Change-Id: I7e5d89a9037b9181a0a6456c12043b4bfda8fe4b
2013-09-17 16:44:50 +09:00
Keisuke Kuroyanagi 71cce2dd3e Add a large test for BinaryDictionary.addBigramWords().
Bug; 10197478

Change-Id: I52590dd1ff9469557672a4bef4f898ad94b47b6f
2013-09-17 15:32:37 +09:00
Keisuke Kuroyanagi 78b55a31cb Fix handling multi-bytes characters and add a test.
Bug: 6669677

Change-Id: Id2154db47adea2929559a4187a726f9dfa83363e
2013-09-17 15:11:24 +09:00
Keisuke Kuroyanagi cd6a0430c7 Implement addBigramWords() for DynamicPatriciaTrie.
Bug: 6669677
Change-Id: Ia6aa76c212165690191c65fee9dacdc44be5acd5
2013-09-17 12:52:21 +09:00
Jean Chalard 41aaff6cdf Merge "[AC4] Add native methods necessary for auto-commit" 2013-09-13 11:41:55 +00:00
Jean Chalard 24aad5a4d5 [AC4] Add native methods necessary for auto-commit
Bug: 9059617
Change-Id: I7a47b0675446fc4f39628c60d16de9aea90d1b4d
2013-09-13 20:15:15 +09:00
Ken Wakasa fbc7e61a3e Merge "Add Ver4DictEncoder." 2013-09-13 08:51:58 +00:00
Yuichiro Hanada a099a3e341 Add shutdown and isTerminated to PrioritizedSerialExecutor.
Change-Id: Id185224d135c8571a39efe8a41a66ce769142903
2013-09-13 17:46:50 +09:00
Yuichiro Hanada a141d8ef7d Add Ver4DictEncoder.
Bug: 9618601
Change-Id: I161d2845906f07c1251deb8005fdffe49c5b7940
2013-09-13 17:33:51 +09:00
Yuichiro Hanada 0e40cd0c40 Add getDictDecoder.
Bug: 9618601
Change-Id: I173100ac704c03f7d5d0d53477e83cab5d1110d4
2013-09-12 20:14:09 +09:00
Yuichiro Hanada 95bc256f41 Add a flag to readDictioanryBinary in DictDecoder.
Change-Id: I356adb72047ebc43c924fbff1ff45e7460508a31
2013-09-11 18:20:56 +09:00
Keisuke Kuroyanagi 5b51355b9e Add tests for BinaryDictionary.addUnigramWord().
Bug: 10197478
Change-Id: Ie46f360b8c75183b49d42d00fefed4a8531f64a9
2013-09-10 22:46:10 +09:00
Keisuke Kuroyanagi b8e857f799 Merge "Add binary dictionary tests." 2013-09-10 11:35:58 +00:00
Keisuke Kuroyanagi 4be103df0e Add binary dictionary tests.
Bug: 10197478

Change-Id: I13cf9b67d1b61b8e89fe90b431c2d6e066ca8e7a
2013-09-10 19:16:33 +09:00
Yuichiro Hanada e193c5255d Revert Ida230ca42 and I6adf7d08f.
Change-Id: I2ddb250d5a473ea955a5171656974de7288a13f7
2013-09-10 19:08:43 +09:00
Yuichiro Hanada ef073f4024 Use PrioritizedSerialExecutor instead of ReentrantReadWriteLock.
Change-Id: I003b769e408ebd692085a7e17fed6d9396876202
2013-09-10 19:05:41 +09:00
Yuichiro Hanada acdabb25f4 Add AsyncResultHolder.
Change-Id: Icfa685bcda2f5c74f5649f09098d00b4bd321c5a
2013-09-10 15:48:06 +09:00
Satoshi Kataoka be96361156 Merge "Check contents in user history dictionary tests" 2013-09-09 06:46:45 +00:00
Satoshi Kataoka e5a35711b8 Check contents in user history dictionary tests
Bug: 10667710

Change-Id: I45ebb08cb4ef9a9f6d2da31e2c50e740f88209c2
2013-09-09 15:28:50 +09:00
Yuichiro Hanada cc2751ba03 Make commitCurrentAutoCorrection asynchronous.
Change-Id: Ida230ca4243347fb3ab9fda7de3a9a18f886cd1c
2013-09-09 14:47:26 +09:00
Satoshi Kataoka e3150664ae Revert "Remove symbols shifted layout related code"
This reverts commit 1cd027850b.

Bug: 9059539

Change-Id: I1880b799e2d0f148ae913f13cffa1b8cac48be60
2013-09-04 16:27:34 +09:00
Satoshi Kataoka 5169937dd4 Revert "Revert "Support Emoji keyboard""
Window resizing junkiness is addressed in I605e657c9468

This reverts commit aabc972338.

Change-Id: I0bc0f1ad9a90799e643fe9ec35f5b4bbe94eee0d
2013-08-30 19:46:10 +09:00
Ken Wakasa aabc972338 Revert "Support Emoji keyboard"
This reverts commit d7791a93b0.

Change-Id: I5ca4c0227f97540e8a22b487b5056dfa3611082b
2013-08-30 07:23:42 +00:00
Tadashi G. Takaoka d7791a93b0 Support Emoji keyboard
Bug: 6370846
Change-Id: I33ce8f952799c89929996a226ac17731a953ec2a
2013-08-29 19:48:34 +09:00
Keisuke Kuroyanagi 6e04d65932 Make DynamicPred...Base extend ExpandableBinaryDictionary.
Bug: 6669677
Change-Id: I06afad35d3eb73510c34d10cd4116f5bcf934f7c
2013-08-26 18:50:22 +09:00
Yuichiro Hanada 2232a70806 Clean up unused imports.
Change-Id: I7147ca237b99399e79210852aa5bf5a01101d779
2013-08-26 08:29:16 +00:00
Yuichiro Hanada 752a33640c [Refactor] Add DictDecoder.readUnigramsAndBigramsBinary.
Change-Id: I259db91d837c67cbcb3b6dc504b21dca23a6a5be
2013-08-26 17:24:38 +09:00
Yuichiro Hanada bb5b84a826 [Refactor] Add DictDecoder.getTerminalPosition.
Change-Id: I9d04f64a58f5481cbb64cf1c09b5c485dd4176b4
2013-08-26 16:14:59 +09:00
Yuichiro Hanada 576f625ee1 Rename CharGroup to PtNode.
Bug: 10233675
Change-Id: I7b0eb07d195cd386cd0d9e97cd59bf48fcf24107
2013-08-26 15:58:30 +09:00
Tadashi G. Takaoka 1cd027850b Remove symbols shifted layout related code
This is a follow up of I7fe6520e4e.

Bug: 9059539
Change-Id: Idb39906ddb1e2234a0d1c7c4d5e6fc728090e79e
2013-08-24 00:07:23 +09:00
Yuichiro Hanada e9a10ff0f0 Add DictDecoder.readDictionaryBinary.
Bug: 10434720
Change-Id: I14690a6e0f922ed1bab3a4b6c9a457ae84d4c1a4
2013-08-23 20:29:25 +09:00
Yuichiro Hanada 1b50a42b7c Fix addWord.
Change-Id: Ib71dbd5954f44ca80733fa4b1048c829e1df138a
2013-08-23 16:56:48 +09:00
Yuichiro Hanada 373c492a02 Add an unit test for CharEncoding.
Change-Id: Ifb1cc01fa5bc2d6d69671f1acb9b9675a4081d32
2013-08-22 23:05:09 +09:00
Yuichiro Hanada aa4168ee09 Fix writePlacedNode.
Change-Id: I1d6b086f1d9f0dbd8d74f964e29ae62c533af978
2013-08-22 23:02:08 +09:00
Yuichiro Hanada e301085a70 Move findWordByBinaryDictReader to BinaryDictIOUtilsTests.
Change-Id: I443238fd816dea9650dcbbeb3ea757f9674fa52f
2013-08-22 14:49:49 +09:00
Yuichiro Hanada c922c8a504 Add DictEncoder.
Change-Id: I41049b9118b58838e5dedf8e5618d939ca70c5ef
2013-08-22 11:53:41 +09:00
Yuichiro Hanada 558e34c7bd Make readPtNode be called with the address from the beginning of the file.
Change-Id: I8939fdfb4f79e55bcd7393633784effb30df3f8f
2013-08-21 20:02:18 +09:00
Yuichiro Hanada a306e08753 Rename BinaryDictEncoder to BinaryDictEncoderUtils.
Change-Id: I4dabf17da7003b1d8204a83dbd10e5be6e8fd805
2013-08-21 18:54:34 +09:00
Yuichiro Hanada 107a5f6fb8 Add PtNodeReader.
Change-Id: Ic918822fc1b3a8a7c39ffbcf7defde2c5bf888db
2013-08-21 18:43:18 +09:00
Jean Chalard e38097dc2a Add tests for start composing
Bug: 10403176
Change-Id: I510bf1dccf6795426e6fb1b36181b18039a0f435
2013-08-21 16:19:31 +09:00
Jean Chalard e8ef095670 [AC2] Reference a dict rather than a string in suggestion infos
Bug: 9059617
Change-Id: Ic17bc0fd5d812268fd37d7fd35b4e9ebfb95fa5e
2013-08-20 19:18:09 +09:00
Jean Chalard ef1e363016 [AC1] Add a memory of where to cut the first word.
Bug: 9059617
Change-Id: I931b6d1eb49f9f7dd7d5b18956e35751d1b2b631
2013-08-20 18:43:19 +09:00
Yuichiro Hanada 065aad9501 Add DictDecoder.
Change-Id: Ia1c32f21fe07081ce04d093660e18146b93275a4
2013-08-20 17:43:13 +09:00
Yuichiro Hanada 112257e40f Rename BinaryDictDecoder to Ver3DictDecoder.
Change-Id: Ibf9b95b658df6e2c2218bdb62e2380f326a03832
2013-08-20 17:11:51 +09:00
Yuichiro Hanada 66004ce2de Remove populateOptions.
Change-Id: I1a1830aaa8ea586b68fc34ff3a27ae52b810e8af
2013-08-20 16:06:52 +09:00
Yuichiro Hanada 77bce05e6f [Refactor] Rename BinaryDictReader and BinaryDictDecoder.
BinaryDictReader -> BinaryDictDecoder.
BinaryDictDecoder -> BianryDictDecoderUtils.

Change-Id: Iadf2153b379b760538ecda488dda4f17225e5f37
2013-08-19 19:36:31 +09:00
Yuichiro Hanada 9204303206 Remove an unnecessary debug output.
Change-Id: If92bf1e3908257c4c0cd68d041b122404e301e08
2013-08-19 17:04:32 +09:00
Ken Wakasa a83e25642f Merge "Add HeaderReaderInterface." 2013-08-19 02:34:23 +00:00
Yuichiro Hanada d794b42f98 Add HeaderReaderInterface.
Change-Id: I298f86b70d18cd08b240509b6f757c72e1a59ffe
2013-08-19 11:15:03 +09:00
Yuichiro Hanada 8aaae56cf6 Fix unit test.
Change-Id: Ib104d5de71c2ab1a07921b407c74c21b0409d9af
2013-08-19 11:10:28 +09:00
Ken Wakasa 606a056b53 Merge "Make BinaryDictIOUtils and DynamicBinaryIOUtils use BinaryDictReader." 2013-08-16 12:46:07 +00:00
Yuichiro Hanada 3a73b37b30 Make BinaryDictIOUtils and DynamicBinaryIOUtils use BinaryDictReader.
Change-Id: I191dfe0e05ff3c2c5af99e8beebbb73b097748a3
2013-08-16 21:06:23 +09:00
Jean Chalard e32475611c Merge "Support languages that don't use spaces." 2013-08-16 12:05:16 +00:00
Jean Chalard c239a34262 Support languages that don't use spaces.
Thai is an example.

Bug: 10138062
Change-Id: Ib9a8264c77ed42b4256432d7c8a60d08575dcdc7
2013-08-16 21:01:08 +09:00
Ken Wakasa c2f2d0d211 Merge "Limit the number of waiting UpdateBinaryTask to at most 1." 2013-08-16 11:58:57 +00:00
Yuichiro Hanada 0d70bcc821 Limit the number of waiting UpdateBinaryTask to at most 1.
Change-Id: Ia588d8f29ab58983ea5321ff8c63ad273c33eab3
2013-08-16 19:44:47 +09:00
Jean Chalard 21dddb1462 Merge "Rename Node to PtNodeArray" 2013-08-16 08:00:55 +00:00
Satoshi Kataoka ad4c90934b Merge "Add hex string utils" 2013-08-16 07:34:42 +00:00
Jean Chalard af30cbf0ee Rename Node to PtNodeArray
Bug: 10247660
Change-Id: I1a0ac19f58f96adb5efac5fd35c6404831618c99
2013-08-16 16:24:54 +09:00
Satoshi Kataoka 283cf9cfc9 Add hex string utils
Bug: 9429906
Change-Id: I3267d1d86122ab471c3e63008c73e9f9b758fc8e
2013-08-16 16:17:48 +09:00
Tadashi G. Takaoka 5080983ea6 Fix SubtypeLocaleUtilsTests
Change-Id: Ib1005ee7e99e526aad5099b160051b12e7614e81
2013-08-16 11:21:32 +09:00
Ken Wakasa 33fce975c9 Merge "[Refactor] Divide BinaryDictInputOutput into BinaryDictEncoder and BinaryDictDecoder." 2013-08-15 11:26:06 +00:00
Yuichiro Hanada 94460eba11 [Refactor] Divide BinaryDictInputOutput into BinaryDictEncoder and BinaryDictDecoder.
Change-Id: I7c3269d77e3e3b567e459dcaa1bc029903941744
2013-08-15 20:23:07 +09:00
Tadashi G. Takaoka 7dc60f9db7 Add getters and copy constructor to Key class
Change-Id: I78eb96dcc26378926dc63acbfeb4828cbd44435d
2013-08-15 20:12:46 +09:00
Ken Wakasa 117f18e844 Revert "[Refactor] Divide BinaryDictInputOutput into BinaryDictInputUtils and BinaryDictOutputUtils."
This reverts commit 4c63d0614e.

Change-Id: I1fa277d720bab4d895259df7d6d82eebfa5eb6c5
2013-08-15 08:54:29 +00:00
Yuichiro Hanada 4c63d0614e [Refactor] Divide BinaryDictInputOutput into BinaryDictInputUtils and BinaryDictOutputUtils.
Change-Id: I0d476abe763c11ba9005152f928e8dccf15ac9de
2013-08-15 15:46:58 +09:00
Yuichiro Hanada 3edb62c69b Move some methods in BinaryDictIOUtils to DynamicBinaryDictIOUtils.
Change-Id: I9ba55582c533fef0eb3e60c46bf23c8b16ee1ff4
2013-08-14 19:33:36 +09:00
Ken Wakasa f795f2b789 Merge "Add FusionDictionaryBufferFromWritableByteBufferFactory." 2013-08-14 10:26:21 +00:00
Jean Chalard af5fbe70ac Add looksValidForDictionaryInsertion
...and test it.

Also at the same time, add a facility to create a SettingsValues for
test, and some minor performance improvement to surrounding
methods.

Change-Id: I13b629ae14755c244af2a9406a7e9b4a4a16090f
2013-08-14 18:39:28 +09:00
Yuichiro Hanada bbc8a930f7 Add FusionDictionaryBufferFromWritableByteBufferFactory.
Change-Id: I23de0a178e7f11f2cf301fd433cde60c6152055b
2013-08-14 17:07:44 +09:00
Yuichiro Hanada 3feacba1eb Add BinaryDictReader.
Bug: 9618601

Change-Id: Ief07fa0c3c4f7f5999a3fafcef4e47b6b6fd8143
2013-08-13 19:55:05 +09:00
Tadashi G. Takaoka e8264cab71 Utilize Keyboard.getKey(codePoint)
Change-Id: Ia4df4dfbf3b6d22f7b93b979bba36e4920af2239
2013-08-13 12:15:03 +09:00
Satoshi Kataoka 1181c5acbc Merge "Fix to follow the field naming conventions." 2013-08-08 08:06:45 +00:00
Jean Chalard 7b8b6e4b42 Adjust a test for a spec change.
Bug: 8911898
Change-Id: Iede69ec2d9870df0add5ab818613fbb8e1f943c2
2013-08-08 12:51:37 +09:00
Yuichiro Hanada 71ffcc6332 Fix to follow the field naming conventions.
Change-Id: I9b41b5f34e93a3f291a352cd85c5ac257beaa9ab
2013-08-08 12:03:36 +09:00
Jean Chalard c5beb522ed Reword "No language"
Bug: 10064334
Change-Id: Ie4e6c333566eee9000fa5c8e59e9df8b9b56a5b3
2013-08-05 18:16:35 +09:00
Satoshi Kataoka 87d06afc66 Refactor on the user history dictionary
Bug: 9429906
Bug: 4192129
Change-Id: I1a2bfe96e18119d30a72290aa48746f77a021018
2013-07-31 16:48:55 +09:00
Jean Chalard d9f0c1e020 Merge "Fix an NPE" 2013-07-29 09:46:32 +00:00
Jean Chalard 5408fec63a Fix an NPE
Also make mSuggest private for more security.

Bug: 10045657
Change-Id: I712505e4d2a2606efff5d09ba9b4c656f9e7c7a9
2013-07-29 18:09:48 +09:00
Satoshi Kataoka 732475dd24 Fix build
Change-Id: Iea21c449c4a2f36f7f6cde28cb295432838862aa
2013-07-29 14:33:16 +09:00
Satoshi Kataoka ffcbbaf127 Refactor on UserHistoryDictionary
Bug: 9429906
Change-Id: I576a91643bdaf5017cc826ac2e07a74a9a275d60
2013-07-26 13:00:19 +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
Tadashi G. Takaoka b80cc628ff Fix KeySpecParserSplitTests
Change-Id: Icf4525c735cda0330a3bd0f9628165ec722b64a8
2013-07-23 19:29:33 +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
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
Jean Chalard 06aa3d0286 Merge "Small debug helper" 2013-07-16 08:55:53 +00:00
Jean Chalard 1588252968 Small debug helper
So that I don't have to find out everything again each time the
test facility finds a case that does not work, and I want to dump
the output to a combined file.

Change-Id: I9f77f86055d1609c2e37747ac47421db1ba2498e
2013-07-16 15:57:09 +09:00
Keisuke Kuroynagi 28a70b63c5 Add a test for user history for switching languages.
testStressTestForSwitchingLanguageAndAddingWords took 101996 ms

Bug: 6669677
Change-Id: I62849674147e4845955060124221da8211e9b3ca
2013-07-16 12:17:56 +09:00
Jean Chalard 4a1c26aba7 Change how the length of the random words are chosen.
This is much more robust and much better for testing.

Change-Id: I43f900f9debc1d1ae4c3f3dd07dbe0ac85d31f52
2013-07-04 22:22:34 +09:00
Jean Chalard cea80fd955 Have random words stick to a restricted (random) charset
Change-Id: Ib4045ebc9659f1b60183f2356e60e449d62c5be9
2013-07-04 22:21:27 +09:00
Jean Chalard fe156213d7 Add a two-args constructor to BinaryDictIOTests
Change-Id: Ie26e22754bfa5d58135349164c57007c86bd97e8
2013-07-04 17:14:02 +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 edf5842568 Merge "Add args to dicttool test." 2013-07-01 07:37:54 +00:00
Jean Chalard e5a3b77664 Merge "Move Range out of RichInputConnection and rename it." 2013-07-01 07:20:51 +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
Jean Chalard 4b7acd1df6 Add args to dicttool test.
Change-Id: I0667e0a5a6f6db3964cfcca5c8f083b9ceb41a2e
2013-07-01 15:28:32 +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 2f7f6257b6 Ignore spans that are not the right size.
Bug: 8839763
Bug: 8862327
Change-Id: I5d49c86edcbc0fc1b2b147856437cfbadd678377
2013-06-26 23:02:50 +09:00
Ken Wakasa bc1813186d Merge "Move util classes to the latin/utils directory" 2013-06-24 08:49:06 +00: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 a099638667 Fix tests for Ia78d3540
Bug: 9550023
Change-Id: I13f4411573ff7b2564e88fc9b9a8d801dde23019
2013-06-24 15:40:53 +09: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 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 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 2a9882a433 Rename methods for readability
Change-Id: I8fc2c90cf8d3dce11740f8e61edf6dfde9b1c116
2013-06-03 17:52:21 +09:00
Tadashi G. Takaoka 94af6d9e7f Merge "Make unit test independent from test device locale" 2013-05-28 11:48:09 +00:00
Tadashi G. Takaoka 58067bd952 Merge "Fix unit test assert helper method" 2013-05-28 11:44:16 +00:00
Tadashi G. Takaoka 39bd6ea0dc Merge "Rename StringUtils.parseCsvString to KeySpecParser.splitKeySpecs" 2013-05-28 11:40:10 +00:00
Tadashi G. Takaoka 35091716e7 Fix unit test assert helper method
Change-Id: Id03bf0910708d07b45286dccf8f2bfc97a362ba0
2013-05-28 20:39:39 +09:00
Tadashi G. Takaoka 8586a43424 Make unit test independent from test device locale
Bug: 9112465
Change-Id: I4fe39bebf130799397485dbe6d23199a29a8641e
2013-05-28 20:24:15 +09:00
Tadashi G. Takaoka dbed20ad8d Rename StringUtils.parseCsvString to KeySpecParser.splitKeySpecs
Change-Id: I16e3f3ebc43772cfd96c824afeddfd225404b857
2013-05-28 20:23:37 +09:00
Tadashi G. Takaoka 4c2ac9ee5f Merge "Rename commaConcatinatedText to commaSplittableText" 2013-05-28 10:58:16 +00:00
Tadashi G. Takaoka c47bc30db8 Rename commaConcatinatedText to commaSplittableText
This is a follow up of I5a32882a08.

Change-Id: I9f0cda2167811f6bba2af042fbde0a821b4cfecd
2013-05-28 19:17:15 +09:00
Tadashi G. Takaoka 68cf2cd931 Merge "Check all regexp patterns in ResourceUtils.getDeviceOverrideValue" 2013-05-28 10:13:43 +00:00
Tadashi G. Takaoka 4c75ea858a Check all regexp patterns in ResourceUtils.getDeviceOverrideValue
This change also fixes a regexp error of Galaxy S III.

Change-Id: I42a4780bbfd2b083f4e27e61ec513aa875907344
2013-05-28 19:05:40 +09:00
Tadashi G. Takaoka 1b46738796 Rename "csv" in StringUtils to "commaConcatenatedText"
Change-Id: I5a32882a088e4ff5bfe973a86465d6ff839113d9
2013-05-28 16:13:36 +09:00
Satoshi Kataoka c92e87faf3 Add smoothing utils / matrix libs
Bug: 8556775
Change-Id: I7e0516b344937b84b7d57cc4e5009b7f88e7dc98
2013-05-27 18:08:49 -07:00
Tadashi G. Takaoka 94027c7201 Use Locale.ROOT for locale neutral operations
Bug: 9112465
Change-Id: I6cd63007287b5a1a57cfbabff35d53f66fc5620e
2013-05-24 12:07:30 -07:00
Tadashi G. Takaoka 6f9105383a Remove unnecessary methods of KeyboardSwitcher
Change-Id: Idd3647bb1a1d40df8bb89eda715d45427a58d0cd
2013-05-22 10:49:53 -07:00
Jean Chalard c9aaba1253 Don't process recorrection or resets when not shown
Bug: 8954116
Change-Id: Ica27dbfc570643bb81e6cdf34cc7c796ea080d71
2013-05-15 20:20:20 +09:00
Tadashi G. Takaoka 41016acacf Back to previous keyboard layout by canceling sliding input
Bug: 8915171
Change-Id: Iabdeb7920f67f89246087c3ee06240406ecfbc3d
2013-05-14 20:28:03 +09:00
Tadashi G. Takaoka 979fb7415b Fix PointerTrackerQueue.releaseAllPointerOlderThan
Change-Id: If353869720895ee5355079c15c724132762dd70c
2013-05-14 15:32:21 +09:00
Tadashi G. Takaoka 18184eacb1 Support regular expression for condition pattern
Bug: 8556975
Change-Id: Iffc53d6a40dd77860434c5f7f4f59af5cd1ba92b
2013-05-13 16:25:03 +09:00
Tadashi G. Takaoka d69fa0a09a Support multiple condition for getDeviceOverrideValue
Bug: 8556975
Change-Id: I29d3a305b6ac3d8e3620c6d8592d85047d62bf48
2013-05-13 14:38:21 +09:00
Tadashi G. Takaoka 6d3d2ae064 Refactor StringUtils.findPrefixedString to findValueOfKey
Bug: 8556975
Change-Id: I275c99db8a0d10594a5a8c0c27ebc1a87495c307
2013-05-10 18:44:04 +09:00
Tadashi G. Takaoka 7f8dd50b8f Save automatic shift state while orientation changing
Bug: 8734294
Change-Id: Ib2bc262aacedf786a318c2fe1bd4420a21e7d847
2013-05-02 15:48:56 +09:00
Tadashi G. Takaoka 307f49b8c1 Mark some unit tests as @MediumTest
Change-Id: Iaa0a691903526f57510a0305c02cc42cf8d90f9e
2013-05-02 11:25:35 +09:00
Satoshi Kataoka c43417fb5d Fix build
Change-Id: Ib9373b26b04b0f4789b3cd6a7af64e4bcd2c4b9c
2013-05-01 19:01:36 +09:00
Satoshi Kataoka d5781eef62 Fix Google spell checker tests
Bug: 8613307

Change-Id: Ief04a4abb6dc1f79660a2e419c9c5e271802b5a1
2013-05-01 18:21:56 +09:00
Tadashi G. Takaoka 13d5da8b88 Don't triger onPress and startLongPressTimer when gesture is canceled
Bug: 8650846
Change-Id: Ice5ef07d6833422906b0b756206e097f75d1f2db
2013-04-22 19:36:08 +09:00
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