Jean Chalard
a7d0ab80a0
Fix an off-by-one error.
...
These variables were meant to represent the (x,y) coordinate of the
last pixel of the grid, to avoid going one pixel too far. But the last
pixel of the grid, of course, has coord (width - 1, height - 1).
This bug only ever happens in a rare case because to reproduce,
it needs the right (resp. bottom) coordinate of the rightmost
(resp. bottommost) plus the threshold plus half the grid width
(resp. height) to be exactly the number of pixels of the grid,
which is pretty unlikely... unless there are more tiles in the
grid than pixels on the screen, in which case the grid width is
1 and this becomes likely.
This fixes the fencepost error and renames the variables to
clarify their meaning.
Bug: 10537485
Change-Id: Iecfe2c0f29ee17776ee2cceaa4b1db722276b1f3
2013-09-19 13:43:09 +09:00
Satoshi Kataoka
4994e1f2ba
Workaround for AIOOB exception in ProximityInfo
...
Bug: 10537485
Change-Id: I185f17dcb2cd9e3af17a1eafefaa487804d5cce9
2013-08-29 15:47:47 +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
e28eba5074
Move util classes to the latin/utils directory
...
Change-Id: I1c5b27c8edf231680edb8d96f63b9d04cfc6a6fa
2013-06-24 17:04:40 +09: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
Satoshi Kataoka
244a24e368
Consolidate dummy proximity info to the spell checker info
...
Bug: 8783170
Change-Id: I067486e5ec1ae7cdef8e2121392464ba71ee8add
2013-05-08 11:49:12 +09:00
Keisuke Kuroynagi
87fdde6ec4
Typing double letters via a 'circle' on the key.
...
Bug: 8550980
Change-Id: I5e432dea0e025ccea196f80e90a6bf945488e130
2013-04-10 12:43:13 +09:00
Tadashi G. Takaoka
6e3f307266
Refactor SpellCheckerProximityInfo as extending ProximityInfo
...
Change-Id: I544eec9d661796d57749dbaa2163bc1e2a891353
2013-04-02 19:06:32 +09:00
Ken Wakasa
6c22439bf8
Remove MAX_PROXIMITY_CHARS_SIZE_INTERNAL
...
Change-Id: I18a997503de4033b5341b564145bca862a872098
2013-01-22 13:18:49 +09:00
Tadashi G. Takaoka
8aa9963a89
Fix Apache license comment
...
Change-Id: Ic56167f952a7f4449da366e1e81610e72c966086
2013-01-21 22:23:37 +09:00
Ken Wakasa
5db594abba
Remove MAX_WORD_LENGTH_INTERNAL
...
Change-Id: Ie11ff000675601acff5fbb00e9e9f48eb32c5071
2013-01-15 12:39:08 +09:00
Tadashi G. Takaoka
308aaff80c
Get rid of special keys from ProximityInfo
...
Bug: 7601672
Change-Id: I15faa4829b98f7b4dd07013fdd58bc2c527bcd6f
2012-12-03 18:50:58 +09:00
Tadashi G. Takaoka
240871ecaf
Move code point constants from Keyboard to Constants class
...
Change-Id: Iee01d4d2b916d0b584531104ac865ae6e6370a3d
2012-10-29 16:04:20 +09:00
Tadashi G. Takaoka
f9aa99c1c9
Disable touch position correction of MoreKeysKeyboard
...
Change-Id: Ieec33894a348602fd71d6fe473142b43eb2551b6
2012-10-09 19:20:28 +09:00
Tadashi G. Takaoka
1775201671
Calculate default touch position correction data for keys on 4th row
...
This change also disables touch position correction for Phone/Dvorak
keyboard.
Bug: 7243101
Change-Id: Idfcc7ad1feabbe6a81635dceba5be087401fa18b
2012-09-27 17:55:58 +09:00
Tadashi G. Takaoka
6ca50d9920
Fix touch position correction data passing
...
Bug: 7225811
Change-Id: I3dcc0385ed633585d6810fdb742e0f88c2efbbd2
2012-09-25 14:24:15 +09:00
Tadashi G. Takaoka
35ff94547c
Separate inner classes of keyboard package out under internal package
...
Change-Id: Ia3969bd5ddec5aa5d81d05ad4cf676d818587922
2012-08-30 15:37:55 +09:00
Tadashi G. Takaoka
ac78633be2
Rename and consolidate some constants
...
Change-Id: I7863936cca18b28bf0117afcbcf544a5fd7f185d
2012-08-21 17:54:53 +09:00
Ken Wakasa
bcec82de66
Clean up constructors
...
And, use C++ style casts and use float math functions rather than double ones to save memory space.
Also, stop using FloatMath and NativeUtils as standard Math methods are faster now.
See http://code.google.com/p/android/issues/detail?id=36199 and https://android-review.googlesource.com/40700
multi-project commit with I4259fb5ab8a15ac5760a7f04fc8f4c860529f04a
Change-Id: I0b81cff8c91769f7559a59b9528c75a5aabb4211
2012-08-13 10:48:37 +09:00
Tadashi G. Takaoka
56853c1e48
Use SparseArray<E> instead of HashMap<Integer,E>
...
Change-Id: Id962e670ee1a5164e6c69deb84625139bf5e7974
2012-06-29 17:56:31 +09:00
Tadashi G. Takaoka
9f42140ae2
Remove useless copy constructor of ProximityInfo
...
Change-Id: I56b4a99f670ad38708ad83d76b93a631295e3333
2012-06-12 15:13:07 -07:00
Satoshi Kataoka
3e8c58f68d
Separate state from proximity_info step1
...
Bug: 6548943
Change-Id: I7b4fbe20615a28151a74875be43b9f4a20e0dce9
2012-06-07 13:35:34 +09:00
Tadashi G. Takaoka
60ee192b07
Utilize Rect's method
...
Change-Id: Ia3df1baae4b92eca828c53c17f68ff26b25e525c
2012-05-31 14:05:34 +09:00
Tadashi G. Takaoka
2866da88a7
Make ProximityInfo copy constructor for test
...
Change-Id: I94a29784591208af1849d4941a3b4789b93782de
2012-05-23 17:45:19 +09:00
satok
0028ed3627
Use "float" instead of "double"
...
Change-Id: I93ed4d88ede4058f081dd8d634b00dfff4e96d07
2012-05-16 20:45:05 +09:00
Ken Wakasa
88794b24c0
Remove the dependency to SpellCheckerProximityInfo from ProximityInfo.
...
In conjunction with I596b2deb
Change-Id: I42f059158ae78e1c1c807ed4d3688edbcf18c006
2012-05-11 17:03:06 +09:00
satok
209dd09e5a
Come back the proximity correction to ExpandableDictionary
...
Bug: 6242539
Change-Id: Ic0467d54c9d85d0653812d4e127328878ef15b94
2012-04-02 15:01:21 +09:00
Jean Chalard
081616cd2f
Send correct coordinates for the spell checker
...
This results in the computation being done in native code
and the correct proximity being used.
Bug: 6181080
Change-Id: I08fa05c781d607e4feca2caeda353ec19c133a3d
2012-03-23 13:02:58 +09:00
Jean Chalard
330cd291fa
Make some constants more explicit.
...
This wasn't very obvious, but the actual values are critical, so
make it more readable
Bug: 6181080
Change-Id: I07461d2df4c796dad0cb6f5283e41a28036d023c
2012-03-22 14:28:05 +09:00
satok
728d1c884e
Cleanup proximity related code
...
Bug: 4343280
Change-Id: I57c0f9e20d9d8911009ea97057251a7f7a81512f
2012-03-19 18:33:59 +09:00
satok
2d5c40d873
Send key information even when the touch position correction is not triggered.
...
Bug: 4343280
Change-Id: Id24935f9f0f66ebaa799bb92537d842033427c4c
2012-03-14 19:01:08 +09:00
Tadashi G. Takaoka
b4fbbe57f5
Avoid using collection interface, using array instead
...
Change-Id: Ie0554362b73967bfcbbab6ad19c24683066a608e
2012-03-13 20:53:15 +09:00
satok
7ef1dabd92
Pass the locale to the native code
...
Change-Id: I8f73b9b33cca56b3fa44ec6259c0896be22f4a47
2012-03-13 19:16:33 +09:00
satok
552c3c27f0
Implement additional proximity characters in the native code
...
Bug: 4343280
Change-Id: I9bbc5cab2fef1ee80c1fe32017df811ef8af10bc
2012-03-13 17:38:50 +09:00
Tadashi G. Takaoka
f686211183
Merge "Split Utils class to StringUtils, SubtypeUtils, and JniUtils"
2012-03-08 03:59:59 -08:00
Tadashi G. Takaoka
cc8c8b99bd
Split Utils class to StringUtils, SubtypeUtils, and JniUtils
...
Change-Id: I09e91675fe7d573dad8c933ad513b21d7e409144
2012-03-08 20:30:38 +09:00
satok
a70ee6e3b3
Add functions to calculate proximity characters in the native code
...
Bug: 4343280
Change-Id: I17f8f6295b01900948b98680d0267753f33a46cf
2012-03-08 12:55:15 +09:00
satok
370674422a
Refactor to suppress null worning
...
Change-Id: I4b4dc6f86d659491d8b9a74ed120092eab964345
2012-03-05 18:15:29 +09:00
Tadashi G. Takaoka
2affaf91a0
Rename mini keyboard to more keys keyboard
...
Change-Id: Ie4c85e8ca5a1f41a420aae5c1cd9c1cb07e237e5
2012-02-08 16:12:31 +09:00
satok
e05b3f4b3a
Support additional proximity characters
...
Change-Id: Ifbe0d7e4eafea1926bbce968eae4724dd5769689
2012-02-02 16:07:16 +09:00
Tadashi G. Takaoka
4e1dab8cfa
Move KeyboardBuilder and KeyboardParams classes into Keyboard class
...
This change also moves XmlParseUtils to com.android.inputmethod.latin package.
Bug: 5778201
Change-Id: I7d9faa344460753ce178ad4048e0fadb65c75614
2011-12-18 20:19:16 +09:00
Tadashi G. Takaoka
4a019a9c96
Use Set to group Keys in Keyboard instead of List
...
In deriving various shift stated alphabet keyboards from base/main
keyboard, almost all keys should be shared among variants. Grouping
keys in Set instead of List is a essential refactor to have.
Bug: 5002108
Bug: 5679585
Change-Id: Idd5644d1c45a3276a24b61c984619c03d4e4c54c
2011-12-16 21:04:04 +09:00
Tadashi G. Takaoka
0c0ca874fe
Get rid of key index from ProxymityInfo
...
Change-Id: I9bee0a643d09cdd89e42ae913285c9e78d875c1c
2011-12-16 21:03:36 +09:00
Tadashi G. Takaoka
6cb72b0f36
Cleanup ProximityInfo.calulateSweetSpot
...
Change-Id: I98238359dffd76a620d3b0e73b3b22dd82c56c93
2011-12-16 14:59:24 +09:00
Jean Chalard
1830cd1dc8
Add proximity for Russian.
...
This also tries to make the code as easy to extend as possible
for future developments.
Bug: 5701241
Change-Id: I1ed48e6a5cc7aab94c5d6e309930cc004247d7e7
2011-12-08 19:00:52 +09:00
Tadashi G. Takaoka
5fdcd7d5cd
Fix JNI as 64bit ready
...
Change-Id: I7a3ed2cee3b20744869aa5cf89ff9fd95f5ab8fe
2011-10-31 20:44:01 +09:00
Tadashi G. Takaoka
ab72a97d7c
Cleanup unused import
...
This change also gets rid of several compiler warnings.
Change-Id: I23962edaadad18a6e0395d528af17b909dcf5dad
2011-10-04 12:46:20 +09:00
Yusuke Nojima
294e1b4a5a
Pass the touch position correction flag from KeyboardSwitcher.
...
Change-Id: Ia242a9fa2fa71f7fdf8f974071a2df7acc4aa51f
2011-10-03 20:41:03 +09:00
Yusuke Nojima
258bfe66e0
Classify touches into three types.
...
Change-Id: I7c1d42835e0c15d596a1b66d421b0aa514ec0890
2011-09-30 17:22:22 +09:00
Yusuke Nojima
ad35835bac
Pass the touch position correction data to native.
...
Change-Id: I92958779377a530410d1682100f9d0a2ba267dea
2011-09-29 17:00:49 +09:00