Move java code to a different directory so that the unbundled
version doesn't try to compile the native code again.
Change-Id: I05cf9e643824ddc448821f69805ccb0240c5b986
This change seems to fix it. Will continue to monitor if it happens.
From tracing the code, it seemed to think that the current keyboard
was not a symbols keyboard, so the "equals" call was failing. It was
probably due to voice mode changing between keyboard creation and
display.
This also addresses the defaults for voice button on a wiped device.
I think it also addresses mic button showing up when not expected by a specific text field
that has the privateImeOptions of "nm".
Bugs 2417842, 2242893
Due to the addition of input language switching, the auto dictionary
will be re-created very frequently. We need to save it and restore it
during transitions, otherwise the data will be purged too often to be
of much use in the multi-lingual case.
This also fixes the case where a user frequently turns the phone off/on.
Auto dictionary data was not being saved in those situations either.
The dictionary will probably never grow too large since most of the
frequently used words will be moved to the user dictionary any way.
Also, now the input locale is different from the display locale, so
save the input locale in the UserDictionary class and insert words
into the user dictionary with the correct locale.
And NPE fix for bug: 2464573
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.
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.
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).
Sometimes the keyboard is getting confused about it's width when switching
between hard keyboard open and close state and portrait-forced home. Force
creation of keyboard layouts after a configuration change to fix the
inconsistent state.
Don't force create when just switching between input fields, too expensive.
Also fixes the problem of keyboard not changing layout after a locale change,
unless there's an orientation change.
The KeyboardSwitcher was remembering state from a previous edittext
where the user was in symbols mode and applying the switch code
when user hits space in the new edittext for the first time.
Make sure to reset the state when a new keyboard mode is requested.
Also make sure that we don't switch from symbols to alphabet keyboard
when editing in a number/datetime field and hitting space.