The last change did not solve the bug completely, the spinner was still shown at times when no initialization dialog was shown
Change-Id: I43a5f8df4e333ffb6deb727c3bf45ed7b7a54069
This increases the chance of hitting the correct letter when typing a word
that exists in the dictionary, rather than only correct it after the fact.
It is most effective after 2 or 3 letters of a word have been typed and gets
more accurate with more typed letters in the word.
If 2 adjacent letters have similar probabilities of occuring, then there is no
hit correction applied.
Now there is a delay each time the voice recognition screen is opened, however, this is the correct behavior as microphone setup takes about 600ms.
The previous implementation, although being fast, was not actually recording the first 1/2 second of user's speech.
Change-Id: I8b8373a59658502f7451150ff4a4ffd1c8e83205
Shows the language on the spacebar and in the preview bubble. Allows
dragging of the spacebar from side to side to switch to previous or
next languages.
This CL now simply moves LatinIME to use the version of
LoggingEvents in android-common, rather than duplicating
the LoggingEvents class between VoiceSearch, Browser, and
LatinIME.
I also added in a TIMESTAMP to the START broadcast, so that
we would be able to evaluate if various events happened
after a user tried Voice Input.
Change-Id: Ic88ff40fcedf707abc3c5eb2e68dfd0fcdef3701
Open-sourced platform code shouldn't refer to Gservices. Use the
platform-standard Secure settings table instead (which we can still
push values into from the servers on google-experience devices, like
gservices), but can be populated by other mechanisms for non-ged
phones.
Change-Id: Id0b5830bfc78c1d10dc732dce46546cd09cd1422
Microphone button can be optionally moved to the symbols keyboard
to get your comma back. You can also completely disable voice input.
Now you can get your comma back but still use the swipe gesture to
activate voice input.
Removed dependency on mScrollX which is a hidden field.
Added some required static libraries.
TODO: When BackupManager is ready, make sure we don't use any private
APIs from there.
When the user starts typing a word with a capital, whether automatically due
to sentence beginning or since the user pressed shift, then all suggestions
presented are capitalized as well, to be more WYSIWYG.
the change to logging to remove any private dependencies and use
broadcast intents to VoiceSearch instead.
I have audited this code and it appears good to go for open-source,
but would appreciate a second pair of eyes.
Still to do after submitting this CL:
* Reintroduce Amith's memory leak fix (37557) which was the only CL
added to LatinIME since the last merge over to the private copy.
* Make some changes to allow LatinIME to work without voice search
installed. Currently I believe it will show the mic but fail if
you press it. We need to base the visibility on the mic on the
availability of the service.
* Fix this code to use the new Gservices framework, it's still trying
to use the old one.
New feature to enable fast switching between input languages for
multilingual users. Keyboard settings lets you select a bunch of
languages to switch between from the Latin IME.
Use the Globe icon to toggle between languages.
Needs more work and some layout changes in specialized keyboards.
Also added a Russian keyboard (needs some pixel TLC at the right edge).
Merge commit '5b63c38d1fc9e42348a8a90edf8dce6103f72864' into eclair-mr2
* commit '5b63c38d1fc9e42348a8a90edf8dce6103f72864':
Fix 2306814: Too aggressive suggesting names from my contacts list.
When there is more than one instance of a name in the Contacts, it
gets a very high weightage and can override corrections for very
high frequency words such as "the".
This fix prevents multiple occurences from increasing the frequency
of a contact and also from bumping it above 255, which is the frequency
of "the", "is", etc.
There was a delayed changing of keyboard to lowercase after typing
a shifted letter that was triggering after the user pressed shift
again. Removed the delayed message when user hits shift.
Comparisons were always happening with lowercase version of the typed
word, which wouldn't match the uppercase word in the dictionary, so it
became an unrecognized word when typed in full. Highlight was then going
to the next word in the list.
Fix compares the lowercase and uppercase versions of the word for
validity.
Merge from eclair-mr2
Comparisons were always happening with lowercase version of the typed
word, which wouldn't match the uppercase word in the dictionary, so it
became an unrecognized word when typed in full. Highlight was then going
to the next word in the list.
Fix compares the lowercase and uppercase versions of the word for
validity.
I think the cause for this is the Contacts database being updated. This
causes the keyboard to reload the contacts once every 30 minutes. Since it
loads it synchronously, it affects people with several thousand contacts.
Although in my tests, with 3000 contacts, the delay was only 600ms, I've
had several reports from long-time googlers about this problem, so I'm
switching to loading the contacts asynchronously in a background thread.
Also fix a potential problem with capitalizing "i" if a contact has "i" as
one of the names.
This is caused by a delay in changing the shift state for performance reasons.
The delay was too long, causing multiple characters to be in shifted state when
typing fast (300ms interval).
Fix removes the optimization for the forward typing case. Doesn't affect the
backspace long-press optimization.
Triage: Hiroshi
Dr. No: mcleron