Commit Graph

223 Commits (72e8d94288db591b60c5ababda465385339bbb8c)

Author SHA1 Message Date
Kurt Partridge 84bc16af3e Little cleanups
Change-Id: I2ded3d0a29610941fac27c9b26168dd6c06ceccc
2013-03-05 18:37:44 -08:00
Kurt Partridge 4eeb90cd72 Clean up initialization ordering
This change is based on an earlier one that got stuck in Gerrit: Iab77504b

Change-Id: I27ad9dfb1bbb2300bd1e61d881a6ea0e116db066
2013-03-05 18:37:00 -08:00
Kurt Partridge 157c00145b Clean up logic in onUserLoggingConsent
- Make ResearchSetting for whether the user has seen the splash screen
- Inline #setLoggingAllowed, which is short and is now only called by
  onUserLoggingConsent

Change-Id: Icdf4592777b80643807b6ccf1d3896459c503e02
2013-03-04 12:05:03 -08:00
Kurt Partridge 75e6fb68e9 Clean up PREF_USABILITY_STUDY_MODE
- Refer to a common default value in DebugSettings
- Make PREF_USABILITY_STUDY_MODE independent of the ResearchLogger
- ResearchLogger uses its own preference through ResearchSettings

multi-project commit with Ie0df836c9d779eba484b522666ec357f4e234823

Change-Id: I88547a2f619db6e7364abbbec12f9f76855dd11a
2013-03-04 12:05:03 -08:00
Kurt Partridge 788dc55662 Merge "Remove MainLogBuffer#setSuggest()" 2013-03-04 15:10:31 +00:00
Kurt Partridge a8e668c81e Merge "Move UUID preference reading to ResearchSettings.java" 2013-03-02 01:50:03 +00:00
Kurt Partridge b094372bd6 Remove MainLogBuffer#setSuggest()
multi-project commit with Ia98b1406fc2ee11a96893c77ea58d800fece7624

Change-Id: I8bc3d07b83dbe7d8fc56a618de07dade7f510b13
2013-03-01 13:32:11 -08:00
Kurt Partridge 00ed4704f9 Move UUID preference reading to ResearchSettings.java
Change-Id: I8157249259cf8c3218c5c82a5729f4cbc1fb4eeb
2013-02-28 19:54:21 -08:00
Kurt Partridge 59912837b3 [TestPrep22] Make variable package-private for testing
Change-Id: I902a6a40df1c672c611672f34d2f3237b0d1821b
2013-02-28 06:45:35 -08:00
Kurt Partridge 5cd50faaca [TestPrep20] Clean up import statement
Change-Id: Ifcfec09b669d8b2012b1c960bd4b1471c7946870
2013-02-28 06:45:34 -08:00
Kurt Partridge abaa88fd4e Merge "[TestPrep18] Make class public for testing" 2013-02-28 01:00:46 +00:00
Kurt Partridge a04fbce412 Merge "[TestPrep17] Allow fake dictionary for testing" 2013-02-27 23:59:01 +00:00
Kurt Partridge 424a976e58 Merge "Ensure Preference listener is unregistered" 2013-02-27 03:49:40 +00:00
Kurt Partridge 96d019f183 [TestPrep18] Make class public for testing
Change-Id: I4b457f44dd6a5a595c61a62061ea02c251fa9ab1
2013-02-26 19:22:56 -08:00
Kurt Partridge 5ee261a990 [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
2013-02-26 19:22:55 -08:00
Kurt Partridge 7e2c1e69bf Ensure Preference listener is unregistered
Change-Id: I1a4d1e7bc45fc30cb1b63ea6020f0eee6e804333
2013-02-26 18:40:34 -08:00
Kurt Partridge f170f145af [TestPrep11] Only use mHasWrittenData to control JsonWriter#endArray() call
Change-Id: If2107e38575b009a4c372194ecd827e27bdbb2b4
2013-02-26 15:02:52 -08:00
Kurt Partridge a5e564bea0 [TestPrep10] Add some comments
Change-Id: Ia8e0bd72b0dc09bfc256ec5d1996637554376b5f
2013-02-26 15:02:52 -08:00
Kurt Partridge 744b363ae8 [TestPrep8] Narrow try/catch scope
Change-Id: If15f250feb81c2ad55ce1bc7dc3dafa57de87aef
2013-02-21 17:01:08 -08:00
Kurt Partridge 78c1ad32e6 [TestPrep7] Encapsulate JsonWriter creation
Change-Id: I4e97fa28dd0bb1101edc0db03f024432fee6f6fe
2013-02-21 17:01:08 -08:00
Kurt Partridge ab0bda1499 [TestPrep5] Parameterize MainLogBuffer
Change-Id: I6d84f490922cd1f40e44ca4f95c9d950fba38290
2013-02-20 19:37:12 -08:00
Kurt Partridge 22acdb540c [TestPrep4] Add some finals
Change-Id: Ib437a6ad7fd6a897e2bbc65afe881ae8a3b1cbb0
2013-02-20 19:37:12 -08:00
Kurt Partridge 19e05359e6 [TestPrep3] Add helper method to retrive dictionary
Change-Id: Id6e03c6f8a3e96979d589f0605ac056fcad7e1ff
2013-02-20 19:36:56 -08:00
Kurt Partridge b6d05aeb7c [TestPrep2] Rename a method
Change-Id: Id9a72045afa3558b20b9d63c8720fb7443d34fd9
2013-02-20 17:13:00 -08:00
Kurt Partridge 8d429bf1a8 [TestPrep1] Move MotionEvent.Action strings to LoggingUtils
Change-Id: I7b9ed800552f2fd546ed21e9dc06ea1ff5798337
2013-02-20 17:12:56 -08:00
Kurt Partridge 531dd150eb Cleanup in preparation for tests
multi-project commit with I1212da392ecda0ad78962da68941870b5a651eee

Change-Id: Ie74af59d4e45bf954723fee9dcf350a36468c381
2013-02-12 20:48:44 -08:00
Kurt Partridge 04de6802cc Merge "Add batchMode field to PickSuggestionManually" 2013-02-12 16:54:35 +00:00
Kurt Partridge 2cabb7aed0 Close file properly
Change-Id: Ied55b6a6f1e64bbca558316d8d3d207d7655cf91
2013-02-08 11:43:51 -08:00
Kurt Partridge c52569ffcb Add batchMode field to PickSuggestionManually
Change-Id: Iaaffc71378154240538bf90f0b85c3f17f3f78b3
2013-02-08 11:39:04 -08:00
Kurt Partridge b02a19c49d Refactor LogStatement publishing method
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
2013-02-05 15:18:20 -08:00
Kurt Partridge 445d8e8bf6 Merge "[Rlog79b] Save channel name during internal use" 2013-02-04 19:16:33 +00:00
Kurt Partridge 7708bcf6fb [Rlog48c] Replay historical motion data
Change-Id: Ib398ea61ff048b1a4ac3b7f7b4a772e173a7b294
2013-02-04 06:13:51 -08:00
Kurt Partridge d34347bd4b [Rlog79b] Save channel name during internal use
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
2013-02-04 06:09:45 -08:00
Kurt Partridge ce9e7f667d [Rlog48b] Better visual indicator for logging state
Now applies yellow bars if recording, green bars if replaying.

Change-Id: I39d39de6254fd57107ea5355c43b154244520985
2013-02-01 17:10:56 -08:00
Kurt Partridge ceffa0bec9 Merge "[Rlog79a] Disallow empty feedback messages" 2013-02-01 17:15:07 +00:00
Kurt Partridge 0cafd6580c Merge "[Rlog48a] Update and make logging strings consistent" 2013-02-01 16:33:42 +00:00
Kurt Partridge d3f718fccd [Rlog79a] Disallow empty feedback messages
Change-Id: I30f7c07606e466c3c9538adad94024d00f0901de
2013-02-01 07:08:32 -08:00
Kurt Partridge 5bdd7bab11 Merge "[Rlog47] Replayer service, inspect-researchLog.py" 2013-02-01 15:05:58 +00:00
Kurt Partridge c20a415e15 [Rlog48a] Update and make logging strings consistent
Change-Id: Iae04115921aaf6bbc3c6ad6e7d2d0e7401af41f8
2013-01-31 19:08:54 -08:00
Kurt Partridge 40be4c3bdb ResearchLogger invocation tests
- Start with just a smoke test.
- Sets up a private SharedPreferences

multi-project commit with I81cceba23692d64c2ea58a46351fc36d118ff825

Change-Id: I96e02d9a8de70cb5c03fd7411b886903e7a83673
2013-01-31 14:54:14 -08:00
Kurt Partridge 588d9b5c8d [Rlog47] Replayer service, inspect-researchLog.py
multi-project commit with Ia2dd81afb4ea124094a20a39e31ffd193edff3d2

Change-Id: I80fe8f2ce137fedf48038955d5f3d9deed04f763
2013-01-31 12:13:08 -08:00
Kurt Partridge e8a0bfb315 [Rlog39] Remove unnecessary commitCurrentLogUnit() call
Change-Id: I1983095058d004476065328ad34bb9e325af7062
2013-01-30 17:39:42 -08:00
Kurt Partridge faf35c323b [Rlog29] User interface for recording
- 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
2013-01-29 15:46:16 -08:00
Kurt Partridge f3731188e5 [Rlog27] Add replay capability
- 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
2013-01-29 09:33:25 -08:00
Kurt Partridge 2baa4b0701 [Rlog83] Fix missing uses of hasWord() abstraction
Change-Id: I78e286723b1b8c8bcc7aea0cc81ef2ee66a193ac
2013-01-23 09:21:56 -08:00
Kurt Partridge edb5c4638b Merge "[Rlog81a] Determine correction type of words" 2013-01-23 17:12:02 +00:00
Kurt Partridge 0c16a5c6ee [Rlog81a] Determine correction type of words
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
2013-01-22 11:41:52 -08:00
Kurt Partridge 4cb853191c [Rlog15] ResearchLogger option to include account name in feedback
multi-project commit with I0a293f392bd605c8203dc9a62993345ad58dcfbe

Change-Id: Ief5b940a62dbaeaecdf1c55f2ffdd1e0fdaea2b9
2013-01-21 12:18:43 -08:00
Kurt Partridge 8b788374de Merge "[Rlog78b] Make log privacy filtering decisions on n-grams" 2013-01-21 19:39:38 +00:00
Kurt Partridge 80685aa4b9 [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
2013-01-21 10:50:32 -08:00
Kurt Partridge 08d9c996dc Merge "[Rlog81b] Log more data with handleSeparator" 2013-01-21 18:48:16 +00:00
Tadashi G. Takaoka 8aa9963a89 Fix Apache license comment
Change-Id: Ic56167f952a7f4449da366e1e81610e72c966086
2013-01-21 22:23:37 +09:00
Kurt Partridge 80375649d3 [Rlog81b] Log more data with handleSeparator
Change-Id: I4b2ebaa2398ac2f669e1e009e00842e55979e866
2013-01-18 11:51:26 -08:00
Kurt Partridge 345ef67627 [Rlog78a] Annotate logUnits with corrections
If the user makes a correction to a word, this is now explicitly indicated
in the logUnit.

Change-Id: I8638aadd7b8c8e32bbc9c4b020548d786513d887
2013-01-17 14:05:02 -08:00
Kurt Partridge e6a9655a03 Merge "Consolidate SuggestedWords.getWordInfo and .getInfo" 2013-01-17 22:01:26 +00:00
Kurt Partridge 937877b877 Merge "[Rlog14] Increase feedback buffer to cover whole session" 2013-01-17 21:21:49 +00:00
Kurt Partridge 63ed9abbe8 Merge "[Rlog13] ResearchLogger fix feedback" 2013-01-17 19:56:25 +00:00
Kurt Partridge f881f10e90 Merge "Fix commit partial text logStatement" 2013-01-17 19:15:32 +00:00
Kurt Partridge 34ecd12a05 Merge "Add comment" 2013-01-17 17:50:42 +00:00
Kurt Partridge b5ac8ef586 Consolidate SuggestedWords.getWordInfo and .getInfo
Change-Id: I959cf049f550b7be3ec002281ca7457e566b0214
2013-01-17 07:50:15 -08:00
Kurt Partridge 5213559e0e Fix commit partial text logStatement
- No longer suggests that it is called from a non-existent method
  in RichInputConnection

Change-Id: I25fe4a0f232a4320ca113598bbcdd029ca319944
2013-01-17 07:46:06 -08:00
Kurt Partridge 7f8c096bf2 [Rlog13] ResearchLogger fix feedback
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
2013-01-16 21:29:51 -08:00
Kurt Partridge 14b800d858 [Rlog14] Increase feedback buffer to cover whole session
Change-Id: I55b61d9ca6eecd56181b8d2913f71559555cd89e
2013-01-15 18:34:13 -08:00
Kurt Partridge 9579936bcf [Rlog67] Renaming clarification
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
2013-01-15 08:57:52 -08:00
Kurt Partridge 019bcc62b9 Merge "[Rlog68] Logger; make filenames more unique to prevent filesys conflicts" 2013-01-14 10:02:16 -08:00
Kurt Partridge 5b611e184b Merge "[Rlog63] Log whether a manual suggestion is a prediction" 2013-01-14 09:30:12 -08:00
Kurt Partridge 0a292ad883 Add comment
Change-Id: If21222aa678a827c1fcad5cacac0fa20655e4e5e
2013-01-14 09:08:51 -08:00
Kurt Partridge 939e3f3152 Merge "[Rlog59d] Pass separatorString through revertCommit" 2013-01-14 08:59:04 -08:00
Kurt Partridge 67a61fc6be [Rlog68] Logger; make filenames more unique to prevent filesys conflicts
multi-project commit with If6b9f8990d7cdbf570740a81096513698d0e0f4c

Change-Id: I124aed24be0beb4c472869594184ecf003c2fed4
2013-01-14 07:11:42 -08:00
Kurt Partridge 31156c816e [Rlog59d] Pass separatorString through revertCommit
Change-Id: I5ef20476318979f99f543f9300cf6198d18f6244
2013-01-14 07:01:49 -08:00
Kurt Partridge 3e05370d53 Merge "[Rlog59c] More detailed logging of backspace" 2013-01-13 11:13:37 -08:00
Kurt Partridge 916c0a08c6 Merge "[Rlog60] Log if a logUnit is uncommitted" 2013-01-12 12:57:19 -08:00
Kurt Partridge ef3936bc54 [Rlog59c] More detailed logging of backspace
- Normal delete events are recorded
- Includes number of characters deleted for both batch and normal delete

Change-Id: I422da3ddc94fa0ccd6c7586eaacf14c62dd16679
2013-01-12 12:54:59 -08:00
Kurt Partridge 343a852cd9 Merge "[Rlog59b] Log CodeInput and KeyCode properly" 2013-01-12 10:18:57 -08:00
Kurt Partridge b75e2380e2 Merge "[Rlog58b] Log user pauses" 2013-01-11 10:19:13 -08:00
Kurt Partridge 3338703a2f [Rlog63] Log whether a manual suggestion is a prediction
Change-Id: Ia6f793611d4b18aecb1a635655af5edb639e1ecf
2013-01-11 09:55:09 -08:00
Kurt Partridge 5523a6818d Merge "[Rlog59a] Split logUnits correctly around separators" 2013-01-11 09:18:10 -08:00
Kurt Partridge 99931201d0 [Rlog59b] Log CodeInput and KeyCode properly
- 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
2013-01-10 23:39:11 -08:00
Kurt Partridge b4fe364b39 [Rlog60] Log if a logUnit is uncommitted
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
2013-01-10 23:18:40 -08:00
Kurt Partridge 05ee6ad843 [Rlog58b] Log user pauses
Change-Id: I7802f07192a4cba4f3cfb5c08ce6d5d2d85a46c1
2013-01-10 19:54:40 -08:00
Kurt Partridge aa9db1e259 Merge "[Rlog] Fix some potential NPEs" 2013-01-10 17:14:10 -08:00
Kurt Partridge 90aaa2d0a5 [Rlog59a] Split logUnits correctly around separators
Change-Id: I65ecdead7e7bdeb8a5f1748e27068ddbd5d3ce00
2013-01-10 16:36:18 -08:00
Kurt Partridge 211103d7fe [Rlog58a] Fix privacy leak of word in logUnitStart
Change-Id: Idcea4cd0256581e9868ac987fd1fa281ff074483
2013-01-10 16:06:01 -08:00
Kurt Partridge 4acdd3ad69 [Rlog] Fix some potential NPEs
Change-Id: I07b18b5db81784dca32683e5f208088181c5eed9
2013-01-10 16:04:23 -08:00
Kurt Partridge 75e69753b7 [Rlog57b] fix logging of reverts
Change-Id: I07c817061a0cc060197e0fea45195ca07a9bf276
2013-01-10 15:00:28 -08:00
Kurt Partridge b74a0a78c2 [Rlog57a] include logUnit boundaries in output
Change-Id: I4d1647b971b0e7a4cf1a96f341236f6ab1d2ab16
2013-01-09 22:38:27 -08:00
Kurt Partridge 403c423940 [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
2013-01-09 21:09:19 -08:00
Kurt Partridge 8bda35809b [Rlog52z] Cleanup and small bug fixes
Change-Id: Ia3fca4881370ffcdd5f2b14d2d1094c51f4330ae
2013-01-09 21:07:51 -08:00
Kurt Partridge 3b95eaf70b [Rlog50] capture bigrams properly even with deletions
multi-project commit with Ia4ec213e8356897807cb6a278fccdbaa945732f0

Change-Id: Ib3fe886dc889954a31586ab81d00a21d8d55efd2
2013-01-09 16:02:37 -08:00
Kurt Partridge e9c6455881 [Rlog48] Better logging of MotionEvents
- Now includes all historical data stored in a motionEvent
- Simpler API, refactored to move extraction code to JsonUtils

Change-Id: I52d9756ddbeaa14d1704787da59bf1aad18f0335
2013-01-08 08:50:06 -08:00
Kurt Partridge 9bad176ebe Merge "[Rlog32] ResearchLogger segment motion data around gestures correctly" 2013-01-08 08:10:31 -08:00
Kurt Partridge b7fb16e8cc Merge "[Rlog27] Refactor LogBuffer" 2013-01-08 07:40:57 -08:00
Kurt Partridge 99f3189645 [Rlog32] ResearchLogger segment motion data around gestures correctly
multi-project commit with I684ba5fed8c653777942e6b0366113ca40dfa37c

Change-Id: Id3804e6cfa97b4cdde212b8eebc413f76fa4772c
2013-01-07 20:06:29 -08:00
Tadashi G. Takaoka f90fc105ab Simplify singleton class initialization
Change-Id: I16a27f2ed6ea66184bfdc9903180372cd7ea2fd1
2013-01-07 19:05:31 +09:00
Kurt Partridge f77dd424b0 [Rlog27] Refactor LogBuffer
Cleanup and prepare for replaying

Change-Id: Ie09e912c6e9c0d7375168c575ccf1cfd9375dd31
2013-01-03 16:36:32 -08:00
Kurt Partridge f763dc5915 [Rlog24] ResearchLogger detect word boundaries in callers above commitText
multi project commit with I5847d4aba97a7224ae170a7153811c5a11816449

Change-Id: Ie6fbf6f19f0193451fe6f3ddf9d4ef1637a35db1
2012-12-23 12:33:16 -08:00
Kurt Partridge 13b1be988d Merge "Log LatinIME.commitCurrentAutoCorrection()" 2012-12-23 11:47:47 -08:00
Kurt Partridge c1b4d14394 Merge "Differentiate LOG_EVERYTHING and LOG_FULL_TEXTVIEW_CONTENTS" 2012-12-23 11:20:34 -08:00
Kurt Partridge 5e9a5ca998 Merge "[Rlog36z] Pass LatinIME instance to logger as LatinIME class" 2012-12-23 10:37:31 -08:00
Kurt Partridge dce58fe895 Merge "[Rlog24z] Initialize statistics variables" 2012-12-23 09:51:22 -08:00