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.
Increase key height in portrait.
Increase spacebar width and reduce punctuation width.
Increase vertical target area for spacebar to avoid accidentally
hitting "V" and "B".
Increase height of candidate strip.
Makes the user/contacts dictionary lookup faster. This is necessary because
there's more in these dictionaries now and it's written in Java.
Fix an auto-caps issue when moving the cursor. And do it a little lazily.
Fixed a bug that was causing user dictionary words to get a much
higher weightage than the main dictionary.
Don't auto-correct if the typed word has more than one uppercase letter.
Also, delay applying shift state to the keyboard so that fast backspaces are not interrupted by the
time taken to render the shifted/unshifted keyboard.
Show ellipsis on the ?123 key
First pass at automatically adding new words that the user types and deliberately
accepts.
After typing the word 4 times, the word gets promoted to being valid.
After typing the word 7 times, the word gets added into the UserDictionary and can
be removed from the UserDictionary Settings UI.
Also add a second row of symbols to the period popup.
If the number of keys picked from proximity is too large, prune out
the subtree. Otherwise you get vastly unrelated suggestions.
Fix a bug introduced with the missing_chars checkin.
The empty space on right end sometimes registers as the word at the left end. Fixed this by checking for -1.
Also fixed a bug where the strip moves in the wrong direction on drag, when it shouldn't move at all.
Original author: yamasani
Merged from: //branches/cupcake/...
Automated import of CL 143780