aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/research/FixedLogBuffer.java (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix looping logic bugs.Kurt Partridge2013-05-071-12/+11
| | | | | | shiftOut() is getting called once too often through these for loops. Change-Id: I9a68b49e6cc1469bcddd673ab1567e238cf192b8
* Allow LogUnits to hold >1 wordKurt Partridge2013-04-191-23/+28
| | | | | | | | | | | | | | 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
* Fix bug in counting words between samplesKurt Partridge2013-04-171-9/+17
| | | | | | | | 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
* [Rlog83] Fix missing uses of hasWord() abstractionKurt Partridge2013-01-231-3/+2
| | | | Change-Id: I78e286723b1b8c8bcc7aea0cc81ef2ee66a193ac
* Merge "[Rlog78b] Make log privacy filtering decisions on n-grams"Kurt Partridge2013-01-211-25/+56
|\
| * [Rlog78b] Make log privacy filtering decisions on n-gramsKurt Partridge2013-01-211-25/+56
| | | | | | | | | | | | | | | | | | | | 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
* | Fix Apache license commentTadashi G. Takaoka2013-01-211-8/+8
|/ | | | Change-Id: Ic56167f952a7f4449da366e1e81610e72c966086
* [Rlog56] Buffer words before pushing out LogUnitKurt Partridge2013-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | 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
* [Rlog50] capture bigrams properly even with deletionsKurt Partridge2013-01-091-0/+9
| | | | | | multi-project commit with Ia4ec213e8356897807cb6a278fccdbaa945732f0 Change-Id: Ib3fe886dc889954a31586ab81d00a21d8d55efd2
* [Rlog27] Refactor LogBufferKurt Partridge2013-01-031-0/+123
Cleanup and prepare for replaying Change-Id: Ie09e912c6e9c0d7375168c575ccf1cfd9375dd31