This change also
* Introduces adaptive gesture detecting threshold for time domain in addition to length domain.
* Tunes the parameters for detecting gesture after fast typing.
* Fixes a bug in dismissing gesture floating preview text.
* Cleanup debug messages
Bug: 7218902
Change-Id: Iafccd872c6efe0c3b5ae65fa40b04c80d9f139c7
All this code is done inside the StringUtils or RichInputConnection
classes, where it's more logical. Since the IPC call is entirely
gone now, it's no use having these guards inside Latin IME.
Change-Id: Id324567e7458aed12b6f21d7114be3bd39725f15
A space would be inserted after an open parenthesis if
it's typed after a manual pick.
Bug: 7167687
Change-Id: Ic49d09c34747117ccfbdbb8c66f634d88d4a45b0
We decided to revert this UI decision after negative feedback.
Indeed, if you use to gesture but tap just one word, chances
are it's because you know you do NOT want a dictionary word.
Bug: 6965241
Change-Id: I85fdfab3c1cf1d3c0fd3e95908e01bdf56bccbba
This should have on effect at all on behavior,
except an increase in performance.
Bug: 4967874
Bug: 6950087
Change-Id: Ie2b51efefe84ca767f5dc8e3b80bfef7e1faab3d
This is pretty much as strong as it gets. It should be
impossible to get false positives and nearly impossible to
get true negatives with this new code.
Bug: 6981089
Change-Id: Ia32ab62f89c5943f0be169b979abab652e67bf5b
...if punctuation suggestions are requested.
Fixes the symptom, but not the root cause of
Bug: 6981089
Change-Id: I683a7451c99457829cb4e5a762f43548ff89a535
This change makes Latin IME behave consistently with regards
to other auto-correction cancellations in cases of auto-correction
cancellation after smiley-triggered auto-correction. That is,
pressing the smiley key when the keyboard signals it's about to
auto-correct will get the auto-correction there plus a smiley,
and pressing backspace will cancel the auto-correction, and
pressing backspace again will delete the smiley.
Bug: 7067593
Change-Id: Ia7eef70a5d06b8b9afa1f1fbb0ed1dbc21a3059f
- Captures complete motion data for all words in an n-gram.
- Also filters n-grams properly; if any word in the n-gram is not
in the dictionary, it is not included.
- Simplify ResearchLog to not require explicit state
- Added LogBuffer class MainLogBuffer class to allow n-gram-level decisions
about privacy.
- Moved LogUnit out from ResearchLogger
multi-project change with Ic70ccb6c2e11eb02d887821434b44daa3eb7a3e2
Bug: 6188932
Change-Id: I731d6cff6539e997874f723b68bdb0d9b651b937
Move many ResearchLogger data collection points to RichInputConnection.
By collecting data here, developers do not have to remember to keep the
ResearchLog consistent with calls to the RichInputConnection.
In addition, some unnecessary log points were removed, and the ResearchLogger
is now independent of LatinImeLogger.
multi-project change with I05496cfd762e9a41c42c50099143f1efc0a3d8a2
Bug: 6188932
Change-Id: I424abb2e437901262a9620255493916b7c3ff74b
DO NOT MERGE
- Captures complete motion data for all words in an n-gram.
- Also filters n-grams properly; if any word in the n-gram is not
in the dictionary, it is not included.
- Simplify ResearchLog to not require explicit state
- Added LogBuffer class MainLogBuffer class to allow n-gram-level decisions
about privacy.
- Moved LogUnit out from ResearchLogger
multi-project change with Ie2bc79fd7fe6b951b24771e94b8d4ca21989af65
Bug: 6188932
Change-Id: I568c90d4af07e7c759c1e7fc64b716bd8c7b4ae5
Move many ResearchLogger data collection points to RichInputConnection.
By collecting data here, developers do not have to remember to keep the
ResearchLog consistent with calls to the RichInputConnection.
In addition, some unnecessary log points were removed, and the ResearchLogger
is now independent of LatinImeLogger.
multi-project change with Ib71f841044ec1072610ab5638a5edfce29b7c05b
DO NOT MERGE
Bug: 6188932
Change-Id: I9ec7500a5b18bfe1a5a5bb1e5bf21c43351fc59e
For some reason we get a "restarting" flag from the browser
some times when the input field is different. The attributes
however are not the same, so we can detect that and reload
appropriately.
Bug: 6946793
Change-Id: I6762dae6f41db690497b026a707d9cc89c840b34
The commitTyped() called updateSuggestionStrip(), and that led to call
Suggest.getSuggestedWordsForTypingInput() even after a batch input was
started because WordComposer.commitWord() reset the batch input state.
Bug: 6932442
Change-Id: If645b1ef0343aa1e21ca71a9275b40c6c3be13df
The Italian dictionary has been amended to contain words that
include apostrophes, and accordingly the apostrophe is now
excluded from word separators in Italian.
This code was only used for Italian, and in the general case
it does the wrong thing; it was only needed by limitations of
the old dictionary.
Bug: 6929108
Change-Id: I7ff4615e01899a1cebed2c4c51679cd0746740fe
Not having a main dictionary is not sufficient reason to display
the hint. If the user already added the word to the dictionary then
we shouldn't be displaying it again, even if we don't have a main
dictionary for the current language.
Bug: 6829798
Change-Id: I6b081f51c82ef395fe2e394fd3167363e743ea6f
- also cleaned up RLog menu
multi-project commit with If0fd4fef89d390073e6939d5188ed5696866cb33
Bug: 6188932
Change-Id: I4f66f13bd366b4e8bde742ccd0704f812c6d33f9
This change also removes the reference of SuggestedWords from
GestureTracker and KeyboardActionListener.
Change-Id: I25ef8756007986abf99a931afd665bbfe6fa387f
showSuggestions is only ever called by updateSuggestionsOrPredictions.
It only feels natural that, when called with a 0-sized or null
suggestion list, it clears the suggestions.
Change-Id: I5b52bc9151afca1bb6c6f0a7f81e3255add92177
- separate ResearchLog from ResearchLogger
- fix abort menu to explicitly indicate re-enabling of logging
- auto flush entries every 5s
- conform to new suggestedWords class
multi-project change with I9fe1f8fe59d5891daa4ca84af157f36fb1bb17dc
Bug: 6188932
Change-Id: I7e99390f934481c6ed9cea2b259944583edda5bb
Many methods were public but could have been private: change them
to private. Also, add a comment above public methods that don't
come from the IMF to make it clearer why they are necessary.
Change-Id: I574154b015d09c0f8542b81763f497691afdc3c1
If !mWordComposer.isComposingWord(), then mWordComposer.getTypedWord()
will always return an empty string.
Change-Id: Ife66d0abc44c743cbc30d31724e833cda168fd5c
This is not exactly the same logically speaking, because it's
theoretically possible that the composing state changed in between
the message enqueueing and it's retrieval. However in the practice,
if the composing state changed the message *must* have been
cancelled and resent, else the behavior breaks. So this actually
is more robust, and removes some obscure requirements on the
calling code.
In the practice, it should also make the cancelUpdateSuggestionStrip
message useless, although this change does not yet remove it.
Change-Id: I75141920ce64e38e2f92e9c02b6c979936eee9a9