Fix a bug where the caps mode would not be changed

Bug: 6766059
Change-Id: I378f9d35c4904c4f373260bda5863235d833eb31
Merge "Fix a bug where the caps mode would not be changed"
Cleanup (A57)

We stopped cancelling manual picks a few weeks ago. This code
is dead.

Change-Id: I4032fcc3c95e9379f1839fe860a1b8a9bd7d0bc7
Show predictions in the right cases (A58)

After reverting an auto-correct we always have a separator after
the previously inserted word, and the cursor is never touching
a word. Showing predictions is the right thing to do, while
calling postUpdateSuggestions will invariably yield an invariably
blank suggestion strip, which is not very helpful.

Likewise, after we pick a suggestion, we should be showing the
predictions unless showing the addToDictionary hint. There was
a bug here in the corner case that the word would be a candidate
for user dictionary, but the user dictionary provider is not
available: in this case we should be showing predictions, but
we were showing an unhelpful empty suggestion bar.

Change-Id: I287bb5eb4af762bd5a433e85e185fab6d203e91a
Simplification & UI improvement (A59)

The responsivity is better like this. This does not seem to
feel slow as the previous comment seemed to indicate.

Also remove a stale comment.

Change-Id: I4e7bf9fe28716e112db182e44b3fa88ee4526bb4
Simplification (A60)

Change-Id: I99e912d3edfc7dd3f17ee835331d5fcba976750c
Remove useless code (A61)

Just after this, clear() will be called, removing the suggestion
strip from the screen. It will later be displayed again through
onStartInputView, which will update its content.

Change-Id: I15c23ad2adecab76b0791d7fc222d15b6533f3bd
Update Makefile of LatinIME native code for the unbundled build

Change-Id: I117e2429c5f5e75a6ffe84b5869afb2e033f2b2d
Merge "Update Makefile of LatinIME native code for the unbundled build"
Fix the build

Change-Id: Iff324c705b46cfae27ea9b6b8dc8b0a0d56a193d
Merge "Show predictions in the right cases (A58)"
Revert "Fix the build"

This reverts commit 48a436081fc6886dbeecf1f2b25fd754952f0fe1.
Merge "Revert "Fix the build""
Merge "Simplification & UI improvement (A59)"
Merge "Simplification (A60)"
Merge "Remove useless code (A61)"
Simplification (A62)

Change-Id: I606270a0387787445b7cd6b94e4830bfc144b49e
Remove useless code (A63)

If the separator is not a space, then we will always call
setPunctuationSuggestions and reset the suggestion strip anyway.
If the separator is a space, then the cursor has a space on
the left, which means isCursorTouchingWord depends only on
whether it touches a word on the right. If we were displaying
the "add to dictionary hint", it means a suggestion was just
chosen, so it had to be displayed, and that requires a composing
word and no non-separator at the right of the cursor.

In the end, if we go through this postUpdateSuggestions call,
we are sure we will reset the suggestions later in this method,
either by calling postUpdateBigramPredictions, or
setPunctuationSuggestions.

Change-Id: I95d5f77a5d0ac6d1a6ced8d67d6ac8f650db4a32
Refinement (A64)

Change-Id: I7c16e28ffce4fe0965b756bf2b00ee63b77dd039
Remove useless processing (A65)

We just resetted the composing state - updating suggestions
is sure to yield no results. We may as well not call
updateSuggestions at all.
We should however still cancel any lingering timer from a
previous input field, to avoid this useless processing.

Change-Id: Ic1a19d577903d792bb797c837cc517ea8d430e75