ResearchLogger.latinIME_handleSeparator wasn't doing anything really specific to
the separator, so its implementation has been renamed according to its role.
Change-Id: I24e8691c7dc440dd067e96d23e50463683e17cfc
- Normal delete events are recorded
- Includes number of characters deleted for both batch and normal delete
Change-Id: I422da3ddc94fa0ccd6c7586eaacf14c62dd16679
- Fix function calls to happen at more resilient times
- In the case of phantom spaces, ensure that the logStatement goes to the
correct logUnit
Change-Id: Ida8f6eba1e4f33d9f9b4735316e3c6316ed316c0
Normally logUnits are committed to a log when the word that their data
corresponds to is complete. However, if the user reverts a word, or goes
back to edit it, then the system may "uncommit" the logUnit, and append
additional editing steps to the end of it. When this happens, we want to
make a note of it in the log, which is what this patch does.
Change-Id: If2bbb948469824c76facf5f06ed8a6da8ff9777c
Remove the subtypes that don't get a dictionary any more in AOSP.
Also prepare for all downloadable-dictionary supported subtypes.
Bug: 7673670
Change-Id: I5b754a791233c270237b8f7e5e2208f7282ad294
This change moves dismiss timer of gesture floating preview text from
PreviewPlacerView to KeyboardView.
Bug: 7967461
Change-Id: I0ca5beddc93cb4bc4a405f914d217d37b997402b
Tests have been broken again by recent changes to subtype
choice within Latin IME. This fixes the problem and all tests
pass again.
This change also includes a small fix to one test that was
checking for something irrelevant.
Change-Id: I6a03dea24f99b0d2ad84c4161a8413f3060bb811
Previously, a logbuffer only held an n-gram. Data went in and out of it, FIFO, until privacy
conditions were met (i.e. data not collected too frequently), and then an n-gram was saved.
E.g., if n=2, and only 10% of data is collected, then 18 words went through the logbuffer before
it captured the next 2 words.
However, if a user then went back and edited the n-gram, these edits were not captured.
This change changes the logbuffer size to temporarily hold data about words that are not recorded,
so that if the user backs up over them, the edits to an n-gram that we do eventually capture are
stored. If the example above, instead of a logbuffer holding 2 words, it holds 20. The system
waits until all the words not needed for the n-gram have been gathered (i.e. the buffer is full),
so the user has adequate time to edit, before shifting out the n-gram. The buffer is still flushed
when the user closes the IME. See the comment for MainLogBuffer for an explanation.
multi-project commit with I45317bc95eeb859adc1b35b24d0478f2df1a67f3
Change-Id: I4ffd95d08c6437dcf650d866ef9e24b6af512334
- Now includes all historical data stored in a motionEvent
- Simpler API, refactored to move extraction code to JsonUtils
Change-Id: I52d9756ddbeaa14d1704787da59bf1aad18f0335
- Default keypress volume is set to 0.2f in resource.
- Default keypress vibration duration is set to 10 msec in resource.
Bug: 7055329
Change-Id: I83bd6288d171d9787d52e2b02e4e5305f1435681
It's useless to setAutoCorrection(getTypedWord()). Every time the
contents of the word composer are altered, the auto-correction is
reset, and at use time if it's null then the typed word is used
anyway.
Change-Id: I0870657a1ab3f456f376995b27e70703f7a5d23a
Essentially this does activate auto-correction with a hardware
keyboard, although a lot of things are still left to implement.
No proximity is used yet which means only missing and excessive
letters are considered. Dead keys are not handled. No combiner
is supported. No suggestions are displayed. Resuming suggestions
does not work correctly with a hardware key (because the view
holds a temporary hardware event 'onKeyPreIme' and the event
from the IME won't be handled until this is handled which won't
happen until after the IME said that it did handle the event).
Bug: 5037589
Change-Id: Idcb5c7b26d56717ed772d53c062362807f11cdae
In this test, it's impossible that start < 0 so the test is useless.
I'm not sure what the cursor test was for, but it's very old code, and
it seems the assumption was either misled or doesn't hold any more:
testing for the absolute cursor position against the length of the
word against the cursor makes no sense.
The net result of this was that when the cursor index got large
enough, resuming suggestion would not work any more.
Bug: 7586467
Change-Id: I3462082374fe9579bec7698f4d424de6ff5f2ded
Previously, LOG_EVERYTHING logged both all bigrams and also the entire TextView at the end of a
session. Now, use a separate flag, LOG_FULL_TEXTVIEW_CONTENTS to determine whether the TextView
contents are recorded.
Change-Id: I0c7a90a8ff88aa65d057f3b2d3dd5adc3893504a
- count how many times a gesture is deleted
- count num chars entered by gesture
- change name of fns to reflect capturing gesture information when setting composing text
Change-Id: I1b8ebf9cfcf304e0efd827c8b8e28a4010199728
The IS_EXPERIMENTAL_DEBUG flag gives a single place to turn off all debugging flags that might be
set and to also enforce privacy controls. Currently only used in the research package.
multi-project commit with I9275a7c8e40bf56106447a02d3056655329074b3
Change-Id: If769fe3a633f33963ca49e8ddf01ab24a30b6fd2
- broaden OUTPUT_WHOLE_BUFFER to log not just the buffer at the end, but everything along the
way. This should only be set when the user is aware that logging is on, e.g. in a user test.
Change-Id: I8f9874697524e533586da40d0a3e452f6a04d3e4
multi-space logging should look like single-space logging, missing a few minor log statements
(SuggestionUpdates, SetComposingText)
multi-project commit with I2af842348c2f2b8f7271ac5b63def245e83df24d
Change-Id: Icd3187c0d0377255f82787afffea657c14345803
When the user edits a word before adding it to the user
dictionary, the keyboard should replace whatever was
committed before with the amended version.
Bug: 7725834
Change-Id: I1a417be6c5a86d6a96bc2c76aca314ad8f1202a9
Make it possible to re-enter gesture input even after triggering the long-press
menu. This is useful for new users who may pause at the start of a word. Works
for both single and bi-manual gestures.
Bug: 7595193
Change-Id: Ieaecfd5385ed6c10ae9347b99c2e35a0de5e895d
Log statements are now recorded with a timestamp. This is important for filtering out statements
not part of words that are sampled when spaces are inserted automatically.
multi-project commit with Change-Id: I68221a2528045d25632aef4bb716f92a4f4a56a4
Change-Id: I46ac9b3b1dcbb08425160d0109028cb64445139c
- Integrate pointer tracking between more keys menu, more suggestions menu, and main keyboard.
- Adds multi-touch support for more keys menus. Long press with one finger and select keys with another finger.
Bug: 7508007
Change-Id: I394f28cd79e342d6bcfea573af72aa33b9def00f
This change fixes the labels of switch to symbols key and switch back
from more symbols key when symbols layout has shortcut key.
Change-Id: I3fbbef2d929486d0f0542f4d89cb086d9f5bad82
This change moves the following string from resources to
KeyboardTextsSet.
- label_to_alpha_key
- label_to_symbols_key
- label_to_symbols_with_microphone_key
Bug: 7697799
Change-Id: Icf9b8848de4c70f792e336f2ae274dab12be79ee
Eliminate use of slower popup window for rendering the more keys menu and more suggestions menu.
These menus are now drawn directly on the preview placer view.
Change-Id: I40638724a6ffde2be4b5d0341d2a5db7ff7be930
Two flavors of words would be wrongly reported as misspelled
by the android spell checker when they are written in all
upper case letters:
- Words containing a quote or a dash or any other non-letter
- Words that need the first letter to be capitalized
Bug: 7659216
Change-Id: Ibc5d261945ffcbb8a858d4c73b7c62cef6671abf
Fixes b/7652661
In some circumstnaces, when hiding the window, the logger tries to capture the TextView contents
and restore the cursor position based on the values stored in LatinIME. However, the IME may not
know the cursor position.
This fix does two things 1) doesn't try to reposition the cursor if the TextView contents are not
to be captured, and 2) if the cursor position is unknown (i.e., == -1), doesn't try to move it back.
Change-Id: I3976aaccf58c18f892c3a8530218ae52bcac9989
This reverts commit bdbe279cec
Other half of this change couldn't be committed because of a inter-project directory migration. Reverting until things settle down.
Change-Id: I3862fc8485dfca6d507f620e905cfa583aa0e39a
Log statements are now recorded with a timestamp. This is important for filtering out statements
not part of words that are sampled when spaces are inserted automatically.
multi-project commit with Change-Id: I68221a2528045d25632aef4bb716f92a4f4a56a4
Change-Id: I9f49c36391e1e1773b6d4876d7387c893024f87b
Previously, a logunit was considered a word only if it was all letters. This is important for
tracking bigrams correctly.
Now, a logunit must have only at least one letter. The dictionary check is still performed,
and punctuation, etc. still comes in as separate LogUnits. But a word can contain a space,
which helps set up for logging words where spaces are inserted automatically, and other situations
in which text is committed with an additional space tacked onto the end.
Change-Id: Ia74094a99058890d20a9cdadf2d0989841a79a41