The method in LogUnit for publishing a LogStatement to a JsonWriter doesn't
depend on anything in the LogUnit.
multi-project commit with Id1d6ff4851148bba0e6b5a1ec6eec2b842d9c707
Change-Id: I323cec239d6ea1cee602c2ecf9b13713791e9283
The feedback string is used as a channel name in internal builds. Add a flag
that lets it be saved between calls to make it easier to generate test data.
Change-Id: I5c6149b1e68239cd968b6852d03cc240ddde99ca
- Start with just a smoke test.
- Sets up a private SharedPreferences
multi-project commit with I81cceba23692d64c2ea58a46351fc36d118ff825
Change-Id: I96e02d9a8de70cb5c03fd7411b886903e7a83673
- Also, internal flag for automatically replaying after a recording is made (off by default)
- RLog key to "Bug?"
multi-project commit with I0c2fababd73eed5a341af487bca04ddd650d4cc2
Change-Id: I162c96a715de7180f276e08b4686a20f29dabafb
- Add support for replaying log files to the ResearchLogger. This will let
users preview data that they choose to upload.
- When the user explicitly requests that the system record their action, it
will record everything up to, and including, the motion involved in shutting
off the recording. This change also removes the stop-recording motion
commands.
Change-Id: Ib1df383bbf1881512cb111fab9f6749c25e436ba
Heuristic to determine whether a word was a typo correction or a complete
replacement by examining a correction to see if it falls within the list of
suggested words of the original.
Change-Id: Ieec4861a811e96aef0d14622e662b589ef8b4772
Previously, words were pushed out of a LogBuffer one at a time. The receiving code had to keep
state to know whether a n-gram was safe to log. This patch looks at the entire n-gram and makes a
single decision based on it alone.
mult-project commit with I3c40d7e02c77943d2668094ddb1d03efb942c74f
Change-Id: Id7d90bbd551b1a2f4e0e35f38852652f68f273f8
The feedback string was not being inserted in the feedback logs. Also changed the tag to
"UserFeedback" from "UserTimestamp" to better reflect the data recorded.
Change-Id: Iccf781b25e2573168c36e729419468f5bd73903e
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
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
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
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
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
- simpler text
- AlertDialog implementation
- declining users are redirected to regular IME
Bug: 6188932
Change-Id: Ifb983c3511125f8919f4a8b25aeee7de66dbb0cb
Upload using an intent service rather than just a thread. More robust in case the keyboard
is closed and the upload hasn't finished yet.
multi-project commit with Id515c2b1b0d6f85be50f92a661a2d32ebaeaa143
Bug: 6188932
Change-Id: I64a9fab92ff89ee09df877db4e5f7f0ec0ffb3b6
- 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
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