Commit graph

705 commits

Author SHA1 Message Date
Tadashi G. Takaoka
dc3d4e8c06 Merge "Fast key preview" 2011-04-13 03:12:06 -07:00
Tadashi G. Takaoka
7a3d3ae17f Fast key preview
Previously the key preview was implemented by PopupWindow.  The key
preview popup window would be dismissed and shown each time the key
was released and pressed.  It turned out that it was taking several
milliseconds.

This change implements the key preview by a simple TextView which will
be layout-ed at absolute coordinates within the screen FrameLayout.
And dismissing and showing the key preview is implemented by the
TextView's visibility.

This implementation needs careful coordination of candidates.xml
layout and LatinIME.onComputeInsets to control suggestion strip
visibility.

Bug: 4179964
Change-Id: Id6347cb35b91eb14ab20dd2f312e58b54b6625a7
2011-04-13 18:59:33 +09:00
satok
88fc9d4418 Support language bar swich for InputMethodSubtype
Change-Id: Ie49f0c1c7aea135331dc1d4a635197b3f4a96e93
2011-04-13 17:05:24 +09:00
Tadashi G. Takaoka
56abeabced Add visualInsetsLeft and Right as Key attribute
Bug: 4269094
Change-Id: Ic38d326a8e9ef802453c909f3a81d556863acc9b
2011-04-11 12:13:38 +09:00
Jean Chalard
a944574967 Merge "Reinforce user-history based bigram use." 2011-04-08 02:14:06 -07:00
Tadashi G. Takaoka
2c389c5b9e Merge "Increase the horizontal gap between shift/delete and normal keys" 2011-04-08 02:00:59 -07:00
Tadashi G. Takaoka
967d6073bf Disable popup preview and long press on disabled key
Bug: 4268147
Change-Id: Ibcb54791ef78737dd09d8a594b5a53b0909609d6
2011-04-08 17:14:12 +09:00
Tadashi G. Takaoka
6d81e2b79b Increase the horizontal gap between shift/delete and normal keys
This change also adds capability to add horizontal padding to the
keyboard.

Bug: 4269094
Change-Id: I805e76b253a497079517c01bd2a976f8702f7e56
2011-04-08 16:43:01 +09:00
satok
b5d17e52fc Add logOnSeparator
This is a supplement for  I9abb8141f23100d

Change-Id: I529d2a78f4fe630611db4cba830d933370c8c34f
2011-04-08 15:24:55 +09:00
Tadashi G. Takaoka
e7c0e73a19 Simplify the Key's on state transition
Because handling shift locked state of alphabet keyboard is done by
KeyboardSwitcher, there is no need to change the "on" state of Key
when releasing the key. On the other hand, symbol and symbol shifted
keyboard has fixed "on" state "ALT/MORE" key.

This change also renames the attribute "isModifier" to "isFunctional".

Change-Id: I082885bd2376ae26bdfc378c14add2b5d6be1d4e
2011-04-07 20:28:46 +09:00
Tadashi G. Takaoka
996db15d3c Disable successive modifier key while sliding input
When user starts sliding key input, sliding through successive
modifier key will be ignored.

Bug: 4181843
Depends: I082885bd2376ae26bdfc378c14add2b5d6be1d4e

Change-Id: Ibe890b9cc1183dbe9f68a421650fcd97e7ff221c
2011-04-07 20:17:27 +09:00
Tadashi G. Takaoka
da4bfbbbb3 Fix popup key preview on tablet
This change temporally enable popup key preview option on
tablet. (config_enable_show_popup_on_keypress_option).

Bug: 3286117
Change-Id: Iabbac5a333460e1ed2f8d05ba82f4bae81854b85
2011-04-07 15:56:16 +09:00
Jean Chalard
3e23682862 Reinforce user-history based bigram use.
- Have user-history based bigrams used as soon as they are entered,
  not after 6 times.
- Limit bigram frequency to 255 (this limits the multiplier to 1.8, and
  has no effect on main dict bigrams which already have this limit)
- Some TODO resolving

bug: 4192129

Change-Id: I4777f1a58c43dd55381c4b01252d722ab3a70547
2011-04-06 12:26:01 +09:00
satok
fd58877d4f Merge "Add settings for theme, userfeedback and other settings (temporary)" 2011-04-01 03:53:26 -07:00
satok
8f9b86fec5 Add settings for theme, userfeedback and other settings (temporary)
Change-Id: I063c48dbf021f5608c241a3543aa2628b5faaa40
2011-04-01 19:48:17 +09:00
satok
44783b6965 Merge "Enable VoiceInput even if there is no shortcut subtype supported" 2011-04-01 00:35:57 -07:00
satok
7429009838 Enable VoiceInput even if there is no shortcut subtype supported
Change-Id: I1d455348f56d73ecb942f22c2bbd03f240b489a6
2011-04-01 16:12:06 +09:00
satok
6f18a1fbcc Disable Recorrection when APIs are not supported.
Change-Id: I3b8fdc149d350215fd4852a50456824fe3fabe0b
2011-04-01 16:09:06 +09:00
satok
cf383a8175 Fix a NPE in InputMethodManagerCompatWrapper
Change-Id: Ia7c9b7135ba38a8df29464f7776b51d412f71acb
2011-03-25 20:01:24 -07:00
satok
9115dd2723 Fix some compat bugs and add VoiceInputLoggerCompatUtils
Change-Id: I54ed0853ed4423704a300977d7880678e066a6fb
2011-03-25 18:38:20 -07:00
satok
f1a81f5eb3 Move a debug utility function to EditorInfoCompatUtils
- imeOptionName

Change-Id: I7a7ea9bee410cedc0ef9b3d2aa4df8260d7f6a35
2011-03-25 12:56:57 -07:00
satok
e9957752bc Added InputTypeCompatUtils
Also Moved utilities related to InputType to InputTypeCompatUtils

Change-Id: Iab8ff5389f624f2abe627ece2acb156b0e1285ef
2011-03-25 00:46:40 -07:00
satok
b2707856ab Added InputConnectionCompatUtils and EditorInfoCompatUtils
Change-Id: Ie69d5e90c4ee978d3ecb40b68e6466082569ca7a
2011-03-24 22:57:58 -07:00
satok
5a41db8814 Merge "Moved a functionality of setOverScrollMode to InputMethodServiceCompatWrapper" 2011-03-24 22:41:04 -07:00
satok
a3ef6cde21 Moved a functionality of setOverScrollMode to InputMethodServiceCompatWrapper
Change-Id: Ie473c9fced9f0a8da5643390b44aa4b86128396d
2011-03-24 22:02:21 -07:00
satok
01829b8847 Merge "Added VibratorCompatWrapper" 2011-03-24 21:49:00 -07:00
satok
f000bdc696 Merge "Moved a functionality of setting touchableRegion to InputMethodServiceCompatWrapper." 2011-03-24 21:28:25 -07:00
satok
699e429f19 Added VibratorCompatWrapper
Change-Id: I7640f051873f42aa15337edc718ac95ec1c51698
2011-03-24 21:25:22 -07:00
satok
1ddf2a1808 Merge "Added InputMethodInfoCompatWrapper" 2011-03-24 21:03:17 -07:00
satok
b86905943c Renamed Proxy classes
- VoiceConnector to VoiceProxy
- VoiceInputConnector to VoiceInputWrapper
- VoiceLoggerConnector to VoiceLoggerWrapper

Change-Id: I908ddc590c8846cf5cbd80b9c0257cb65c638bde
2011-03-24 17:50:19 -07:00
satok
24119dfd41 Moved a functionality of setting touchableRegion to InputMethodServiceCompatWrapper.
Change-Id: I8b9fe507885ef5ae7cb09db93a977e23b1bbd0db
2011-03-24 13:27:45 -07:00
satok
2e36fb68d0 Added InputMethodInfoCompatWrapper
Change-Id: I5f2970e986afbe3b0b24ccf819f57f524e83ef3f
2011-03-24 12:24:50 -07:00
Jean Chalard
525028c897 Merge "Remove a useless variable." 2011-03-23 22:14:19 -07:00
satok
6dd7778d22 Fix a bug that Voice IME is not triggered properly.
Background:
Both SubtypeSwitcher and VoiceConnector have an instance of VoiceInput.
And VoiceConnector has a responsivity for setting VoiceInput to SubtypeSwitcher.
But in case that VoiceInputConnector already has an instance of VoiceInput
VoiceInputConnector doesn't set VoiceInput to SubtypeSwitcher.

Change-Id: I42d0220e7d84a08e03f143213cc6eff87e7e79a6
2011-03-23 13:05:06 -07:00
Jean Chalard
4fc18095f5 Remove a useless variable.
Change-Id: Ifec283fcd397f7f42933220f19a807879ef6195e
2011-03-23 11:17:18 -07:00
satok
10dd34de0f Add InputMethodServiceCompatWrapper for moving the callback from LatinIME.
Change-Id: If6b0180c63738e5e78a20fe5b938ef50d62865d6
2011-03-23 01:12:27 -07:00
satok
610f1dc855 Use reflections for classes related to InputMethodSubtype
Change-Id: Ica53ce879c2b4c5eb47f757fb788a795a881c30e
2011-03-18 22:49:57 -07:00
Jean Chalard
0a7cf81ca2 Merge "Add different ways of reading the dictionary file." 2011-03-18 12:19:00 -07:00
Jean Chalard
cba93f50c3 Add different ways of reading the dictionary file.
This change adds basic support for an external dictionary provider.
It adds methods for reading the dictionary itself from an asset in
the dictionary provider package directly, obtaining the file name
through the ContentProvider interface; it also adds a way of getting
the data through an InputStream and copying the file locally.

Incidentally this change also adds the code needed to listen for
updating the dictionary provider package and reloading it in time.

This change also goes hand-in-hand with Iab31db6e, which implements
the small closed part of this.

Issue: 3414944

Change-Id: I5e4fff99a59bb99dbdb002102db6c90e6cb41c8a
2011-03-18 12:16:50 -07:00
satok
2cff4d7e4a Added CompatUtils for starting a language selector
Change-Id: I158414efaff43d0c6abe1f9af83ed3425992dfb9
2011-03-18 12:33:04 +09:00
satok
9807ab27ea (Refactor 1) Moved voice related codes to deprecated/voice
Change-Id: I008ac7099c815fb74a9ab374419617b336453f97
2011-03-16 23:00:59 -07:00
Tadashi G. Takaoka
071f47140c Refactor BinaryDictionary a bit
This changes:
* Flag initialization code in BinaryDictionary to be more unit test friendly.
* Removing unnecessary class hierarchy of LatinIME inner class WordAlternatives.
* Formatting normalized score neatly.

Change-Id: I9f10c093d4f36258fe883cf3fb10cbbda2770497
2011-03-16 19:46:19 -07:00
Tadashi G. Takaoka
e7a2512aa3 Add Utils.equalsIgnoreCase methods
This change also corrects usage of "frequency", "priority" and "score"
* Frequency is the relative probability in dictionary.
* Score is the relative probability in suggestions.
* Priority is kind a sorted score.

Change-Id: Iafb135a4ecdb401cc505014a07c74dfcac44d699
2011-03-16 16:03:05 -07:00
Jean Chalard
d631651b12 Avoid the removal of high-ranking exactly typed candidates.
It used to be the case that the scoring system turns up the same word
that was entered with a different capitalization, but with a lower
score than some other, more frequent word. To cope with this, there
was code that would order such candidates in the first slot no matter
what. This processing is now useless because fully matching words now
have a huge boost that ensures they will get to the top of the list,
before any non-fully matching word (which means, differing only by
capitalization or accents).

The bug that did happen with this was, if a fully-matching word got
matched by several processing passes, and the (chronologically) later
score affected to this word was weaker, it would result in the
duplicate removal pass removing the stronger score. This in turn would
mess with autocorrect.

In an effort to keep the risk at a minimum for MR1, this change does
not actually remove the useless code, but adds a check in the odd case
to avoid the bad situation. Another change will remove the code for
ICS release.

bug: 4100269

Change-Id: I18c0575332981ffec0e257e26a360995838d521e
2011-03-15 21:12:38 -07:00
Tadashi G. Takaoka
ab0ee37f52 Disable debug flag in TextEntryState
Bug: 4051276
Change-Id: I980c0dfefdf3ae70935aca9755a55d1c925a23f9
2011-03-08 12:11:47 -08:00
satok
bcfce3b3b9 Add whitelist dictionary
Bug: 3447571

Change-Id: I538e4e706982129b666ca1ab1085f1b68b69f87f
2011-03-08 11:29:10 +09:00
Jean Chalard
eaecb56f94 Merge "Demote skipped characters matched words with respect to length." into honeycomb-mr1 2011-03-04 22:43:16 -08:00
satok
f9a5bfa147 Merge "Add the suggestion algorithm of words with space proximity" into honeycomb-mr1 2011-03-04 22:24:05 -08:00
satok
817e517e46 Add the suggestion algorithm of words with space proximity
Bug: 3311719

Change-Id: Ide12a4a6280103c092fa0f563dd5b9e3f7f5c89b
2011-03-04 20:37:18 -08:00
Jean Chalard
07a8406bc1 Demote skipped characters matched words with respect to length.
Words that matched user input with skipped characters used to be demoted
in BinaryDictionary by a constant factor and not at all in those dictionaries
implemented in java code. To represent the fact that the impact of a skipped
character gets larger as the word is shorter, this change will implement a
demotion that gets larger as the typed word is shorter. The demotion rate
is (n - 2) / (n - 1) where n is the length of the typed word for n >= 2.
It implements it for both BinaryDictionary and java dictionaries.

Bug: 3340731
Change-Id: I3a18be80a9708981d56a950dc25fe08f018b5b89
2011-03-05 13:20:19 +09:00