aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/research/MainLogBuffer.java (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix some warningsJean Chalard2013-07-311-2/+2
| | | | Change-Id: I7290cd1fb675a1b85b9b6ac2d464c932b5bca1dd
* Log reasons for punting n-gram loggingKurt Partridge2013-05-231-17/+39
| | | | | | Addresses b/9074239 Change-Id: I91a3bfcbd32b03e4891ff5f65be01383a3fb8975
* Add claifying commentKurt Partridge2013-05-141-0/+16
| | | | | | This is a follow-up to I7c01c3dd3ac33d7e96c00836256bae9c14b124ed Change-Id: I9e3f8968c4bbf9525d5dfe101f71373c42f88361
* Avoid JsonWriter multi-write errorKurt Partridge2013-05-101-4/+13
| | | | | | | | | | | 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
* Fix looping logic bugs.Kurt Partridge2013-05-071-12/+19
| | | | | | shiftOut() is getting called once too often through these for loops. Change-Id: I9a68b49e6cc1469bcddd673ab1567e238cf192b8
* Allow LogUnits to hold >1 wordKurt Partridge2013-04-191-21/+23
| | | | | | | | | | | | | | 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-11/+6
| | | | | | | | 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
* resolved conflicts for merge of 5b048292 to masterTadashi G. Takaoka2013-03-191-1/+2
|\ | | | | | | Change-Id: I67ebab46954cd7b8e3e79e7fed523bafb15f8835
| * Rename ProductionFlag.IS_EXPERIMENTAL to USES_DEVELOPMENT_ONLY_DIAGNOSTICSKen Wakasa2013-03-181-1/+2
| | | | | | | | | | bug: 8393568 Change-Id: Ie5edf44a3627aca9416145aff56bf05bbf2a05f3
* | Remove MainLogBuffer#setSuggest()Kurt Partridge2013-03-011-5/+3
| | | | | | | | | | | | multi-project commit with Ia98b1406fc2ee11a96893c77ea58d800fece7624 Change-Id: I8bc3d07b83dbe7d8fc56a618de07dade7f510b13
* | [TestPrep17] Allow fake dictionary for testingKurt Partridge2013-02-261-0/+13
|/ | | | | | | 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
* [TestPrep5] Parameterize MainLogBufferKurt Partridge2013-02-201-15/+5
| | | | Change-Id: I6d84f490922cd1f40e44ca4f95c9d950fba38290
* [TestPrep4] Add some finalsKurt Partridge2013-02-201-3/+3
| | | | Change-Id: Ib437a6ad7fd6a897e2bbc65afe881ae8a3b1cbb0
* [TestPrep3] Add helper method to retrive dictionaryKurt Partridge2013-02-201-7/+9
| | | | Change-Id: Id6e03c6f8a3e96979d589f0605ac056fcad7e1ff
* [Rlog83] Fix missing uses of hasWord() abstractionKurt Partridge2013-01-231-14/+13
| | | | Change-Id: I78e286723b1b8c8bcc7aea0cc81ef2ee66a193ac
* Merge "[Rlog78b] Make log privacy filtering decisions on n-grams"Kurt Partridge2013-01-211-39/+90
|\
| * [Rlog78b] Make log privacy filtering decisions on n-gramsKurt Partridge2013-01-211-39/+90
| | | | | | | | | | | | | | | | | | | | 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-45/+66
| | | | | | | | | | | | | | | | | | | | 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/+10
| | | | | | multi-project commit with Ia4ec213e8356897807cb6a278fccdbaa945732f0 Change-Id: Ib3fe886dc889954a31586ab81d00a21d8d55efd2
* [Rlog27] Refactor LogBufferKurt Partridge2013-01-031-6/+16
| | | | | | Cleanup and prepare for replaying Change-Id: Ie09e912c6e9c0d7375168c575ccf1cfd9375dd31
* Add ProductionFlag.IS_EXPERIMENTAL_DEBUGKurt Partridge2012-12-181-3/+4
| | | | | | | | | 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
* [Rlog4] ResearchLogger add LOG_EVERYTHING flagKurt Partridge2012-12-171-0/+4
| | | | | | | - 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
* [Rlog2] ResearchLogging fix multi-space loggingKurt Partridge2012-12-171-1/+1
| | | | | | | | | 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
* [Rlog1] Track time of log statementsKurt Partridge2012-12-131-1/+1
| | | | | | | | | 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
* ResearchLogger add debugging codeKurt Partridge2012-11-281-1/+10
| | | | Change-Id: I03729506984f259dee63f3a66fd91963e3403d16
* ResearchLogging capture full n-gram dataKurt Partridge2012-08-211-0/+127
| | | | | | | | | | | | | | | - 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
* Revert "ResearchLogging capture full n-gram data"Kurt Partridge2012-08-201-127/+0
| | | | | | This reverts commit 221e756fd7d585f0eb75377b851f23cad24ccd7f Change-Id: Iefc4e4e27ddc925d4a4634627b0467bd4ee2a66e
* ResearchLogging capture full n-gram dataKurt Partridge2012-08-171-0/+127
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