Commit graph

1311 commits

Author SHA1 Message Date
Jean Chalard
05f654d498 Merge "Group all input-related info into an inner class." 2011-12-15 03:21:47 -08:00
Tadashi G. Takaoka
c3ef86d861 Merge "Fix auto correction spacebar LED" 2011-12-15 03:19:32 -08:00
Jean Chalard
27dff63833 Group all input-related info into an inner class.
Currently, these variables hold the info about the composing
word, or maybe some outdated info, and it's not very clear
which it is. LatinIME is maintaining the freshness info in
a separate boolean, and uses it throughout the code for many,
many things, leading to much confusion.
The idea in grouping this info is, it can be saved in another
instance and restored later. It can be tested against to know
whether there is actually outdated but kept info or not, and
it should allow to straighten out what is actually currently
being typed. Ultimately, it will eliminate the need for
LatinIME to keep track of the status of the info in the
word composer.

Change-Id: I00e2c690f303f8320c9be35590a6df4583e9e456
2011-12-15 19:58:04 +09:00
Tadashi G. Takaoka
2d74806262 Change visibility to avoid synthetic accessor method
Change-Id: Ie93c7437fb9a3fe63adaa48c2d4a723f96c0a0e1
2011-12-15 19:50:53 +09:00
Tadashi G. Takaoka
23d27fefcb Fix auto correction spacebar LED
Change-Id: I4894d188d5612380cc9f8eec7cb72544e37fb2b0
2011-12-15 17:34:14 +09:00
Jean Chalard
f3ca6a59a7 Cleanup
Change-Id: I724df0be7ac07ffb9f1f4974175aed5a2606221b
2011-12-14 18:42:47 +09:00
Jean Chalard
1c6cf26c37 Move some code inside a function to simplify flow
Also rename the function to reflect better the behavior.
An upcoming change will clean up the remnants

Change-Id: I19bdf0d9e95f62ee749e1f64fe17132c4a5ef0bc
2011-12-14 17:56:57 +09:00
Jean Chalard
46798d8f1f Fail faster in case of a bug
Change-Id: Ibea64133f200dce80034c641d4798b62843a2512
2011-12-14 17:54:18 +09:00
Jean Chalard
b588003426 Refactoring.
Small simplification of the code.

Change-Id: I1f67ae529bbb2c9316bf5e083d367c57040ea22c
2011-12-14 16:59:25 +09:00
Tadashi G. Takaoka
e35e13fc7d Merge "Record onStartInputView" 2011-12-13 23:31:43 -08:00
Tadashi G. Takaoka
689b901156 Merge "Utilize KeyboardSet XML definitions" 2011-12-13 23:31:00 -08:00
Jean Chalard
dbdb385bb0 Merge "Fix a long-standing race condition." 2011-12-13 23:29:47 -08:00
Tadashi G. Takaoka
f86109ca56 Utilize KeyboardSet XML definitions
This change introduces KeyboardSet and SubKeyboard XML definitions to
represent a set of keyboard layouts.

Bug: 5002108
Bug: 5679585
Change-Id: Ib6c8d5936187381bb6725c9fe574e93871c01a86
2011-12-14 16:28:31 +09:00
Jean Chalard
514beb0992 Fix a long-standing race condition.
Upon autocorrection, there is visual feedback in the text
view that quickly flashes the background of the text that
just changed. This fixes a race condition that happens
upon autocorrection when typing fast, and that results in
flashing one character too far left (typically, the flashing
area includes the whitespace before the corrected word and
not the last character of the corrected word).
This happens because the call to commitCorrection may
happen before or after the IPC sent by sendKeyChar, but the
arguments are fit only for the case where it arrives first.

Change-Id: I9b5442a665aad5a9bc66cd49228075b9056b37fa
2011-12-14 16:24:18 +09:00
Tadashi G. Takaoka
7ef235f53f Record onStartInputView
Bug: 5722703
Change-Id: I56bcf6ccde82b4176093de4f197a8736b0cc8c10
2011-12-14 16:22:30 +09:00
Jean Chalard
8e3faff244 Merge "Decouple member logic from control flow" 2011-12-13 06:28:48 -08:00
Jean Chalard
7b5bc1ff4d Decouple member logic from control flow
This place is very confusing because a member variable with
a consistent meaning is hijacked for the duration of a function
to mean something else. This is in the way of easy-to-understand
refactoring.

Change-Id: If79bc771950d6bfc0ad5f0e9c51c7ef1dbb45b66
2011-12-13 23:15:12 +09:00
Jean Chalard
f7d6517d6b Various mini-cleanups
- Stop the word composer from escaping - take a page from the law
  of Demeter and only report what is actually needed.
- Fix typos in comments.
- Add a comment for a fishy processing.
- Remove a useless local variable.

Change-Id: I5fa78901cbb5483fc9683bfb7094f47244b85df6
2011-12-13 23:09:22 +09:00
Jean Chalard
edf4995a3b Merge "Remove the input connection sidework from handleCharacter" 2011-12-13 04:28:30 -08:00
Jean Chalard
dafa7a8e15 Remove the input connection sidework from handleCharacter
Change-Id: I3d376dfda3acd8864274390de3ff5752b18456e0
2011-12-13 21:12:07 +09:00
Jean Chalard
117fc93f37 Move mBestWord to the word composer.
mBestWord has a confusing name - it's actually an auto-correction.
It's cleaner if it lives in the word composer because an
auto-correction should be tied to a specific user input, and
should be reset each time the user input changes to avoid
race conditions.

Change-Id: I718d29395bc747372067e6440e090c6a181994ae
2011-12-13 21:06:51 +09:00
Jean Chalard
7e6f4daa19 Merge "Tighten conditions for space-related cancelling" 2011-12-13 01:23:15 -08:00
Jean Chalard
c525750835 Merge "Consolidate underlining code under one function." 2011-12-13 01:22:08 -08:00
Jean Chalard
77d59b0691 Consolidate underlining code under one function.
Change-Id: I4393ff1ec28a6b3118d1344dd6d82d04899dea42
2011-12-13 17:42:27 +09:00
Jean Chalard
8ad4013406 Tighten conditions for space-related cancelling
Instead of ignoring silently a found bug, throw an exception.

Change-Id: I0aa96d0cab022b6a5e7cffe8a592dcc443c3c7a8
2011-12-13 17:40:06 +09:00
satok
ba526e3157 Extract the jni library name
Change-Id: Icc58ccea1178d9f35f5be0dceebab67bbb965b7f
2011-12-13 17:25:43 +09:00
Jean Chalard
14cb8448df Remove a useless return
Change-Id: Iefe10e94e2d88171387351a5b6cab52e281d0f76
2011-12-13 16:48:28 +09:00
Jean Chalard
2939063947 Simplification
Both tests have the same meaning. They should be merged.
Also, if "deleteLast()" deletes more than one char (which
never happens in the current implementation, but it's not
guaranteed), the new code is more correct.

Change-Id: I216df7cd45f4a7d76d1d5d6aa7f8d7f9a6e35ea3
2011-12-13 16:06:00 +09:00
Jean Chalard
d2c69c7d12 Refactoring
If mHasUncommittedTypedChars is true, then
mWordSavedForAutoCorrectCancellation must always be null, and
spaceState must always be SPACE_STATE_NONE.
Hence, this change is supposed to be very no-op.

Change-Id: I2716f7372d996cc4dec40a4b7ac1ee7f5f4afe91
2011-12-13 16:04:11 +09:00
Jean Chalard
2245c3b5b3 Refactor + small bugfix
postUpdateShiftKeyState used to be called also when
mEnteredText is not null => this is a bugfix.
The rest does not change the logic, as posting a message can
be done anywhere within the function with no impact.

Change-Id: I7888797c0778702d64f96701e35b611a55a6a259
2011-12-13 15:59:36 +09:00
Jean Chalard
a2a85d45e0 Refactoring
Change-Id: I57b2232f7fde32df5f6e1925aad1df988def34f9
2011-12-13 15:38:49 +09:00
Jean Chalard
34081186f9 Merge "Fix a bug where revert auto-correct would revert too much" 2011-12-12 04:46:27 -08:00
Jean Chalard
5c3ff4c9c8 Fix a bug where revert auto-correct would revert too much
If there are no uncommitted chars, we shouldn't enter any of
the tests that follow. We didn't use to, but a change today
made it possible - it should not happen.
There is no point in doing the rest of the tests, they are
sure to fail.

Change-Id: I580dd104aff3585de72a93b38989bfd9713f615b
2011-12-12 21:27:16 +09:00
Jean Chalard
4f41cbc588 Remove a useless function call
Change-Id: I1a775cbf90dca301e1e6b596ddac64fdbc023199
2011-12-12 20:51:43 +09:00
Jean Chalard
dcf8a6b2c6 Merge "Move a settings var to the settings class" 2011-12-12 03:31:42 -08:00
Jean Chalard
2a659b8aa6 Remove a useless variable
This can be just read when it's needed.

Change-Id: I00753fe55645c244db5d4a96e7fdb8f5325475d9
2011-12-12 20:22:39 +09:00
Jean Chalard
d567b230b0 Move a settings var to the settings class
Change-Id: I1331ad6dec3a9d64a77e314f8a1f4c29282df31b
2011-12-12 19:52:17 +09:00
Jean Chalard
7208af0ecd Remove a messy and unused class.
Today is a happy day

Change-Id: I3ef484bd258d5a59815bfcb0bd35ea3606b32430
2011-12-12 19:31:29 +09:00
Jean Chalard
f162ed7ec8 Merge "Remove side-effects from TextEntryState" 2011-12-12 02:20:49 -08:00
Jean Chalard
406d192a9e Remove side-effects from TextEntryState
Change-Id: Ib98eea9e791e426435cfdfd0c9ab3ed9061664aa
2011-12-12 19:19:39 +09:00
Jean Chalard
c2a76a1529 Remove a useless variable.
Change-Id: Iea5ce5cfc05bad8b1d9085438e90147bd54b7e9c
2011-12-12 16:49:32 +09:00
Jean Chalard
890d13189d Straighten out logic for revert word paths
This also includes a new memorized string with simpler
logic that will allow to remove other members

Change-Id: I0b97243084902e68fcb835b6163c86fef8190ebc
2011-12-12 16:41:49 +09:00
Jean Chalard
86344836ee Merge "Remove a duplicated variable." 2011-12-11 21:26:31 -08:00
Tadashi G. Takaoka
2ba1bcccdd Remove unused Keyboard.CODE_CANCEL
Change-Id: Ic2eab17e525901a1cf7096ebe7d24ae78624ed2e
2011-12-12 12:56:30 +09:00
Jean Chalard
3651220327 Remove a duplicated variable.
This is awesome cleanup.

Change-Id: I35ce8940a13f3084630dc26d6e7e397acfdaac36
2011-12-12 12:06:41 +09:00
Ken Wakasa
9260422423 Build God Mode keyboard with API level 14
Change-Id: I29ab9e9041c9faac91dc303175625221bfdb3af8
2011-12-10 03:45:40 +09:00
satok
4af5e3c5f4 Fix isResearcherPackage
Change-Id: I286450fe89a37d75cb398f17d300ddc6f5857ffd
2011-12-10 01:16:16 +09:00
Ken Wakasa
2edd109f84 Some tweaks for Researcher Mode
Change-Id: I6b16dd2fe6d7356c747ba0ee2da5976738003ded
2011-12-10 00:35:50 +09:00
satok
2a89e36db0 Merge "Add a functionality to attach a log file to Gmail app Bug: 5722703" 2011-12-09 05:59:36 -08:00
satok
a8b6292cee Add a functionality to attach a log file to Gmail app
Bug: 5722703

Change-Id: I089f944bdbf2cbb036eb59dd9b5b414370c770f1
2011-12-09 22:38:15 +09:00
Tadashi G. Takaoka
963abf4bcc Merge "Remove unused public methods from KeyboardState and KeyboardSwitcher" 2011-12-09 04:38:14 -08:00
Jean Chalard
74671cf6c5 Resolve TODOs: add members to hold preferences
Change-Id: I34f6c76bf9318e1fbe8eb5ffab6772a98ff824e0
2011-12-09 21:24:13 +09:00
Tadashi G. Takaoka
df9deffba2 Remove unused public methods from KeyboardState and KeyboardSwitcher
Bug: 5708602
Change-Id: I3dbc3cd00aa9ddf611e2078ff2cfea8945fa09bf
2011-12-09 21:14:13 +09:00
Jean Chalard
0fe3611bee Resolve TODOs: add some members to store prefs
Change-Id: Idf09cb5d801e8008eb63cbb5138058faeb7db136
2011-12-09 20:16:57 +09:00
Jean Chalard
85b063f97e Resolve TODOs: add members to store raw settings
Change-Id: I481eadb6a73faf239e24d05b7e220fcb01194fa4
2011-12-09 19:03:55 +09:00
Jean Chalard
12f10e1585 Read options in the declaration order
Change-Id: I1a7c4d0bcaedad6d4045c36c79280c23234db5b3
2011-12-09 18:58:24 +09:00
Jean Chalard
c40b807ca4 Straighten out prefs reading code
Change-Id: Ibf9113a8ef07ac720100ee32d2e5ef321e8ddd98
2011-12-09 18:54:07 +09:00
Jean Chalard
bab1f045f4 Straighten out members extracted from resources.
Change-Id: I9b9602ec5b379b44b0f0663d4f065dbcf88fd352
2011-12-09 18:19:30 +09:00
Jean Chalard
ba93dda8ce Match constant names to option names
Change-Id: I7586fa342d7a39412d656890f7b525139c45ea4a
2011-12-09 17:58:51 +09:00
Jean Chalard
837b109f27 Reorder members in SettingsValues.
Reorder so that they match the order in the preference xml
file. Also add TODOs for missing raw variables.

Change-Id: I06332c131a624d6c359512d75c808f3f7313fa91
2011-12-09 17:56:31 +09:00
Jean Chalard
c207e0a7da Move settings variables to the settings class
Change-Id: Ifa7033a84b08ea626eb44cf6d04ba8e28c250bea
2011-12-09 16:47:31 +09:00
Jean Chalard
284c8a0449 Merge "Stop a flag from escaping." 2011-12-08 23:14:15 -08:00
Jean Chalard
0c3b8ce842 Merge "Move settings method from Utils to SettingsValues" 2011-12-08 23:09:33 -08:00
Jean Chalard
4606de117b Stop a flag from escaping.
The ultimate intent is to close it up in the settings, as it does not
change while typing, only when the keyboard is open again.

Change-Id: I12ff56e7482c1584877fe5531473bf03e95a60f6
2011-12-09 16:09:04 +09:00
Jean Chalard
ed43296217 Move settings method from Utils to SettingsValues
Change-Id: I633378a41f63cd492b8c9345d550e07254df5e5a
2011-12-09 16:03:10 +09:00
satok
4bae9d56d9 Merge "Show usability study mode for research purposes" 2011-12-08 22:40:58 -08:00
satok
e0dfc54c5b Show usability study mode for research purposes
Bug: 5722703

Change-Id: I27acc374c5d4b52707708b83689dea5d78a573d7
2011-12-09 15:31:06 +09:00
Tadashi G. Takaoka
a76c62e92d Merge "Remove direct calls of setKeyboardXXX from KeyboardSwitcher" 2011-12-08 21:33:09 -08:00
Tadashi G. Takaoka
96c56cb577 Remove direct calls of setKeyboardXXX from KeyboardSwitcher
These calls, setAlphabetKeyboard, setSymbolsKeyboard, and
setSymbolsShiftedKeyboard have to be call backed from KeyboardState.

Bug: 5708602
Change-Id: Ibbe1a21bd10bf942e17886869c0ab0fa1735b87e
2011-12-09 13:26:11 +09:00
Jean Chalard
7a16a061e6 Extract Settings.Values to a new class
This is pretty much automatic refactoring. Thanks Eclipse!

Change-Id: I8ccd24d11878445c836347e9c487c91461eee9cd
2011-12-09 12:40:50 +09:00
Jean Chalard
92e5756dfb Merge "Cleanup" 2011-12-08 05:14:26 -08:00
Jean Chalard
c1fdd966a7 Remove a useless method
Change-Id: Ib6a0ee21bfe2000231f9ba7bcad4b18ae57e4249
2011-12-08 21:47:26 +09:00
Jean Chalard
283b0c2b64 Cleanup
Here, shouldAutoCorrect implies mSettingsValues.mAutoCorrectEnabled

Change-Id: I9256718dd63b75252d1454e264db6814bbf18aa5
2011-12-08 21:37:15 +09:00
Jean Chalard
3da7df8db7 Merge "Add proximity for Russian." 2011-12-08 02:22:28 -08: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
Jean Chalard
9e38f9a980 Merge "Use the system-wide interface to add a word." 2011-12-08 00:52:32 -08:00
Tadashi G. Takaoka
eef6238f94 Move SWITCH_STATE related stuffs to KeyboardState
Bug: 5708602
Change-Id: I904ec370e3761c47af17a680c0932ec98cfd3c27
2011-12-08 16:12:49 +09:00
Tadashi G. Takaoka
6b7100feca Don't execute pending onStartInputView if EditorInfos are equivalent
Bug: 5722732
Bug: 5722867
Change-Id: I8347c258b286c3329f318d50adf205e78e49c722
2011-12-07 22:39:13 +09:00
Jean Chalard
361c42b746 Use the system-wide interface to add a word.
Bug: 5306641
Change-Id: Ic87e5bc3a5f1f03c57d48f2d92c28e0aba06847d
2011-12-07 16:19:05 +09:00
Tadashi G. Takaoka
8a70e70c84 Remove toggleSymbolsShift and rename toggleKeyboardMode
Bug: 5708602
Change-Id: Iadef3e862d00505d1d9f588d0d64445754d7b962
2011-12-06 18:12:34 +09:00
Jean Chalard
bb2b30fc7f Add support for Russian spell checking.
Note that this is not enough: we still need to create a
reasonable proximity table for Cyrillic characters, or we
won't be able to show up suggestions.

Bug: 5701241
Change-Id: Idb141f7a230a6e1a46094308c26f43c01ab3b97a
2011-12-05 18:57:03 +09:00
Jean Chalard
db5aedb5a5 Add an option to use contacts or not while spell checking
Bug: 5447495
Change-Id: Iffb09895676c3dd1a79d1699b0eac865282508d4
2011-11-30 18:58:10 +09:00
Tadashi G. Takaoka
e22baaadd3 Get rid of usage of key index
Change-Id: I7596ce3ae52fde436d06c2dd95ae873c7aa5ef7f
2011-11-29 19:07:54 +09:00
Jean Chalard
55042ff977 Merge "Resume suggestion when backspacing to the end of a word" 2011-11-29 01:15:42 -08:00
Tadashi G. Takaoka
b230806f44 Merge "Save keyboard layout only when it is shown" 2011-11-29 00:53:38 -08:00
Jean Chalard
6b1f500da4 Resume suggestion when backspacing to the end of a word
Bug: 5515381
Change-Id: I26fea896feaf2e9716c7ae3d4f2630360f23ac50
2011-11-29 17:50:36 +09:00
Jean Chalard
117fc18ed4 Keep count of the trailing single quotes for suggestions
Bug: 5665809
Change-Id: I4d9100dbe980861ccb55c78464524be670cac1f7
2011-11-29 15:16:28 +09:00
Tadashi G. Takaoka
f2c9a88887 Save keyboard layout only when it is shown
Bug: 5130446
Change-Id: I150b4a053036eae050099155169325f0d1f7dfed
2011-11-29 14:12:49 +09:00
Tadashi G. Takaoka
9324665263 Move ignore special key code out from LatinIME to PointerTracker
Bug: 5560766
Bug: 5639503
Change-Id: I34c9eea833516adf6ef1db58f1a64a5ef5322fa9
2011-11-22 17:49:12 -08:00
Jean Chalard
6d1cbbc2ff Fix a bug with single quotes
I14dd3815 special-cased single quotes at the start of a word, but
did not do so correctly - it would kill a composing word if entered
just after some punctuations.
The right test was not isCursorTouchingWord() but
mHasUncommittedTypedChars, which actually makes for a simpler
implementation.

Bug: 5648032
Change-Id: Icd21d213e0cad6da68cacfeb921502cd8dcfac95
2011-11-22 18:29:51 +09:00
Tadashi G. Takaoka
e7eac906c0 Pending onStartInputView only if the EditorInfo is identical
Bug: 5604372
Change-Id: I2a88cf15b07eebd29e43e460f6ec758432181b01
2011-11-21 16:32:46 -08:00
Jean Chalard
19cbdfc92f Merge "Remove an unused (and scary) method" 2011-11-21 00:57:45 -08:00
Jean Chalard
ce86e39e00 Merge "Cleanup." 2011-11-21 00:53:49 -08:00
Jean Chalard
5d5028f2c5 Remove an unused (and scary) method
Change-Id: I14a545a3e4955a25fde17554156552c755d44e2f
2011-11-21 17:45:32 +09:00
Jean Chalard
6ecd1e1280 Merge "Special case quotes at start and end of words" 2011-11-21 00:21:09 -08:00
Jean Chalard
c83359f974 Special case quotes at start and end of words
Single quote at start of word is not considered a part of a
word any more.
Single quote at the end of a word now behave like capitalization:
lookup in the dictionary is done *disregarding* a final quote,
and it is forcefully added back into the suggestions afterwards.

Bug: 5566368
Change-Id: I14dd3815f4b743edba56d64a3abdf4b73d863a6a
2011-11-21 16:34:39 +09:00
Tadashi G. Takaoka
e00ede531f am 5619d765: Shift/Symbol/Smiley will not disable settings/microphone keys
* commit '5619d7658459d13723b6d7ad8969b249adf9e717':
  Shift/Symbol/Smiley will not disable settings/microphone keys
2011-11-18 15:23:14 -08:00
Tadashi G. Takaoka
5dc318a3f2 am 10dff768: Fix NPE introduced by I38b21d49
* commit '10dff76856a98b6eec86a53d3d07fdc9708037b7':
  Fix NPE introduced by I38b21d49
2011-11-18 14:48:05 -08:00
Tadashi G. Takaoka
49cc3beb75 resolved conflicts for merge of 137667ed to master
Change-Id: I75fc5d278b002ab89dd2475d282d0ee4aede7817
2011-11-18 08:51:39 -08:00
Tadashi G. Takaoka
5619d76584 Shift/Symbol/Smiley will not disable settings/microphone keys
Bug: 5560766
Change-Id: Ic2dbb835e87a7debb222093756816e683b464b83
2011-11-17 23:32:19 -08:00