History log of /packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
93445b4821e9e8ecc7dd52f1a5d5316c7eec2654 30-Jul-2013 Jean Chalard <jchalard@google.com> Fix some warnings

Change-Id: I7290cd1fb675a1b85b9b6ac2d464c932b5bca1dd
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
aaa23bc12cab6bc93653c268445487e9a69a8ec1 22-May-2013 Kurt Partridge <kep@google.com> Log reasons for punting n-gram logging

Addresses b/9074239

Change-Id: I91a3bfcbd32b03e4891ff5f65be01383a3fb8975
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
3e8df13cd761e376a9a8cb324f6ea9e5db0af9fc 14-May-2013 Kurt Partridge <kep@google.com> Add claifying comment

This is a follow-up to I7c01c3dd3ac33d7e96c00836256bae9c14b124ed

Change-Id: I9e3f8968c4bbf9525d5dfe101f71373c42f88361
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
7d72ca0b20334aba077e3a01d7b12f6f34618076 09-May-2013 Kurt Partridge <kep@google.com> Avoid JsonWriter multi-write error

JsonWriter requires that its clients pass it only a single top-level object.
The existing implementation tries to make code cleaner by having mJsonWriter
never be null, and instead use a global static "NULL_JSON_WRITER" that just
discards data. But because JsonWriter complains if more than one top-level
object is passed, making this a global object does not work. This change
instead copes with mJsonWriter being null.

Change-Id: Ia37ccfc8646e91f11a64713dd92d2846eb86ac54
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
8064c669fe02cf90995dc82b1c67c8f434860dc5 20-Apr-2013 Kurt Partridge <kep@google.com> Fix looping logic bugs.

shiftOut() is getting called once too often through these for loops.

Change-Id: I9a68b49e6cc1469bcddd673ab1567e238cf192b8
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
e92b5e145f74808ff778a42dc5ba979aa27343ca 16-Apr-2013 Kurt Partridge <kep@google.com> Allow LogUnits to hold >1 word

LogUnits have been annotated with the autocorrected words, but
until now this was assumed to be a single word without spaces.
But spaceless typing can result in spaces in the LogUnit label. With this
change, the LogUnit inspects the autocorrected text to determine how many
words were inserted, and counts them accurately.

This change corrects a privacy problem, which was that if the word sampling
algorithm chose a LogUnit that actually contained multiple words, then more
than two successive words would be included in the log.

Change-Id: I7c01c3dd3ac33d7e96c00836256bae9c14b124ed
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
bf62dc9460408dc37324c03735ab13c2cdf45396 22-Mar-2013 Kurt Partridge <kep@google.com> Fix bug in counting words between samples

Previously MainLogBuffer#shiftOutWords() assumed it wouldn't be called if
mNumWordsUntilSafeToSample was 0. This relaxes this assumption (which is in fact
false in the current code).

Change-Id: I8723248095e84a0d9d6f4639b4742cc7dda9716b
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
841c295f3c99214f45924434d9c0bb5b4760578d 19-Mar-2013 Tadashi G. Takaoka <takaoka@google.com> resolved conflicts for merge of 5b048292 to master

Change-Id: I67ebab46954cd7b8e3e79e7fed523bafb15f8835
9c3860ce461c3791891bf667edc77fe798c8d332 18-Mar-2013 Ken Wakasa <kwakasa@google.com> Rename ProductionFlag.IS_EXPERIMENTAL to USES_DEVELOPMENT_ONLY_DIAGNOSTICS

bug: 8393568
Change-Id: Ie5edf44a3627aca9416145aff56bf05bbf2a05f3
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
b094372bd68b2f1b1e62c48cc18503a60b6686b7 14-Feb-2013 Kurt Partridge <kep@google.com> Remove MainLogBuffer#setSuggest()

multi-project commit with Ia98b1406fc2ee11a96893c77ea58d800fece7624

Change-Id: I8bc3d07b83dbe7d8fc56a618de07dade7f510b13
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
5ee261a99012c0ac0c230093060e8f538b1ec646 20-Feb-2013 Kurt Partridge <kep@google.com> [TestPrep17] Allow fake dictionary for testing

Currently ResearchLog requires a full dictionary to perform privacy-related checks.
This makes testing difficult. This change allows a fake dictionary to be used instead.

Change-Id: Ifca5bd8647475a6b84e4324117e0faa0a35479ee
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
ab0bda1499b76ef4b16caebc5ca7dc85499bfebd 15-Feb-2013 Kurt Partridge <kep@google.com> [TestPrep5] Parameterize MainLogBuffer

Change-Id: I6d84f490922cd1f40e44ca4f95c9d950fba38290
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
22acdb540cc920d7837a056f37f3ca771da5848e 15-Feb-2013 Kurt Partridge <kep@google.com> [TestPrep4] Add some finals

Change-Id: Ib437a6ad7fd6a897e2bbc65afe881ae8a3b1cbb0
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
19e05359e641fff2fee410eda5572011926620a5 15-Feb-2013 Kurt Partridge <kep@google.com> [TestPrep3] Add helper method to retrive dictionary

Change-Id: Id6e03c6f8a3e96979d589f0605ac056fcad7e1ff
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
2baa4b0701c6e02aa25b03881c8863b2d3856282 17-Nov-2012 Kurt Partridge <kep@google.com> [Rlog83] Fix missing uses of hasWord() abstraction

Change-Id: I78e286723b1b8c8bcc7aea0cc81ef2ee66a193ac
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
8b788374dee56dfe95e7af42a358923cfcb3668e 21-Jan-2013 Kurt Partridge <kep@google.com> Merge "[Rlog78b] Make log privacy filtering decisions on n-grams"
80685aa4b95173638c7982dbac723b282292a931 12-Jan-2013 Kurt Partridge <kep@google.com> [Rlog78b] Make log privacy filtering decisions on n-grams

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
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
8aa9963a895f9dd5bb1bc92ab2e4f461e058f87a 21-Jan-2013 Tadashi G. Takaoka <takaoka@google.com> Fix Apache license comment

Change-Id: Ic56167f952a7f4449da366e1e81610e72c966086
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
403c423940b197e56f4d203050341b7cd90ca0cd 08-Jan-2013 Kurt Partridge <kep@google.com> [Rlog56] Buffer words before pushing out LogUnit

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
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
3b95eaf70b0a11b1c6e0c52361fe738b4a4b2ace 24-Dec-2012 Kurt Partridge <kep@google.com> [Rlog50] capture bigrams properly even with deletions

multi-project commit with Ia4ec213e8356897807cb6a278fccdbaa945732f0

Change-Id: Ib3fe886dc889954a31586ab81d00a21d8d55efd2
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
f77dd424b077a7f8ff547c09cb94d0dc7f0daed7 23-Dec-2012 Kurt Partridge <kep@google.com> [Rlog27] Refactor LogBuffer

Cleanup and prepare for replaying

Change-Id: Ie09e912c6e9c0d7375168c575ccf1cfd9375dd31
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
0aafbcf879a31afc8361078bd9574915d95694c0 18-Dec-2012 Kurt Partridge <kep@google.com> Add ProductionFlag.IS_EXPERIMENTAL_DEBUG

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
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
1a2733683769e6f1267c86768131fc89bbb4b3d6 12-Aug-2012 Kurt Partridge <kep@google.com> [Rlog4] ResearchLogger add LOG_EVERYTHING flag

- 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
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
3370dc82370f5397bafdaeba395e3dfc8b8adf3a 10-Aug-2012 Kurt Partridge <kep@google.com> [Rlog2] ResearchLogging fix multi-space logging

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
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
5e854e281a525f0c2dcdb753db2fac3eb810470f 10-Aug-2012 Kurt Partridge <kep@google.com> [Rlog1] Track time of log statements

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
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
565b9d2adda4cae38aa5f6ac10505126d8f10d65 09-Aug-2012 Kurt Partridge <kep@google.com> ResearchLogger add debugging code

Change-Id: I03729506984f259dee63f3a66fd91963e3403d16
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
bf653996eab40e2c66cfd2eaeb48ed5175b78455 03-Aug-2012 Kurt Partridge <kep@google.com> ResearchLogging capture full n-gram data

- 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
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
3d3590874926ff92009ed0b4f114c6e5a8ee7394 20-Aug-2012 Kurt Partridge <kep@google.com> Revert "ResearchLogging capture full n-gram data"

This reverts commit 221e756fd7d585f0eb75377b851f23cad24ccd7f

Change-Id: Iefc4e4e27ddc925d4a4634627b0467bd4ee2a66e
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java
221e756fd7d585f0eb75377b851f23cad24ccd7f 03-Aug-2012 Kurt Partridge <kep@google.com> ResearchLogging capture full n-gram data

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
/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/research/MainLogBuffer.java