aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/research/ResearchLogger.java (follow)
Commit message (Expand)AuthorAgeFilesLines
* Merge "Uncommit an extra LogUnit"Kurt Partridge2013-06-031-1/+6
|\
| * Uncommit an extra LogUnit•••The period-generating double-space adds an extra LogUnit -- it must be removed when reverting. Bug: 9088919 Change-Id: Ic148f40b4030a9b4a0651029bda87f7b94a52252 Kurt Partridge2013-06-021-1/+6
* | Merge "Compare scrubbed strings when uncommitting LogUnits"Kurt Partridge2013-06-031-1/+4
|\ \
| * | Compare scrubbed strings when uncommitting LogUnits•••A LogUnit is only uncommitted if the LogUnit's word matches what is expected. But a LogUnit never stores numbers, only scrubbed words that replace numbers with a special character. So when uncommitting, the text from the TextView must also be scrubbed for the comparison to pass correctly. Bug: 9088919 Change-Id: I9b56f10afce6d0cc84eb9ead3b9a9b1e061ae39c Kurt Partridge2013-06-021-1/+4
| |/
* | Merge "Uncommit separator LogUnits"Kurt Partridge2013-06-031-3/+14
|\ \
| * | Uncommit separator LogUnits•••Now that separators have their own LogUnits, they must be uncommitted from the LogBuffer when backspacing over them. Bug: 9088919 Change-Id: Ib36cc94939b93abe18850a06bced17caf8aaa5b9 Kurt Partridge2013-06-021-3/+14
| |/
* / Uncommit LogUnits when reverting textInput•••Bug: 9088919 Change-Id: I17187aa0afc1c3e9d32269c65f66cfb3a08663cb Kurt Partridge2013-06-011-0/+10
|/
* Merge "Remove unused method"Kurt Partridge2013-05-291-19/+0
|\
| * Remove unused method•••The removed method was used in old versions of ALK, never in master. Change-Id: I607009d4fcca7c7c8493fee51ecd923e6a6b3890 Kurt Partridge2013-05-281-19/+0
* | Rename containsCorrection to containsUserDeletions•••This change renames containsCorrection to avoid confusion with CorrectionInfo, and to better clarify its meaning. Change-Id: I5d8f8e2b03133c15a60d4e8b0f395cda1fff5447 Kurt Partridge2013-05-281-7/+7
|/
* Log reasons for punting n-gram logging•••Addresses b/9074239 Change-Id: I91a3bfcbd32b03e4891ff5f65be01383a3fb8975 Kurt Partridge2013-05-231-2/+24
* Merge "Always record word boundaries"Kurt Partridge2013-05-221-2/+14
|\
| * Always record word boundaries•••Word boundaries are currently logged, but only if all the details of a word pass the privacy filter and are logged. This change records when a word is committed in all cases, but does not disclose the word contents or any data used in its construction. Addresses b/9070768 Change-Id: I573679d0685c088aca65af99e46337a2f429f816 Kurt Partridge2013-05-211-2/+14
* | Modify isAllowedToLog•••Currently isAllowedToLog only checks the state of the ResearchLogger, and does not consider which log the data is going to. This causes problems with the logs for Feedback. The Feedback log should inhibit normal logging procedures, but the system needs to be able to write specific data directly to it. This change renames to isAllowedToLogTo and adds the destination ResearchLog as a parameter. A FeedbackLog is also added as a new class so it can be distinguished from other ResearchLogs. Change-Id: I5a1eea05bb040c26bf816b89179f44b3024fa2ad Kurt Partridge2013-05-211-6/+28
|/
* Fix punctuation logging•••Punctuation is currently put into the same LogUnit as the following word. This is counter-intuitive and makes post-processing more complicated. This change causes punctuation to be put into its own LogUnit. A tricky case is the phantom space. A phantom space is inserted right before other text, whose MotionEvents have already been collected and inserted into mCurrentLogBuffer. Phantom spaces are handled by creating their own LogUnit and inserting it into the LogBuffer right before mCurrentLogBuffer is shifted in. Change-Id: I102d7cd93982ad37ba0abb6c1ac0f66b85b5f95d Kurt Partridge2013-05-171-10/+36
* Remove unnecessary commit/uncommit•••When the user reverts a commit, this causes the committed word to be changed. The user usually then goes back to edit that word. Going back to edit causes an uncommit, so that the editing actions are added onto the LogUnit containing the operations used to construct the word. But currently, reverting also involves its own commit/uncommit pair, with the caller performing the uncommit, and the commit happening inside the revert command. This may have been necessary in the past, when revert was called in different situations, but is unnecessary now. Furthermore, the guarding conditions are currently such that the uncommit doesn't always undo the effects of the commit, corrupting the log output. Change-Id: I74af41f4f1db2fcabfa496dcc4a2d7bd0af19b3a Kurt Partridge2013-05-141-1/+0
* Remove FeedbackLog instance variables.•••For a while, the ResearchLogger supported comprehensive recording of the last few words in case the user wished to upload this data to give developers feedback. However, this mechanism was not implemented well (keeping a separate copy of the data), did not make the collected data clear to the user, and was not working properly in the latest build (NPEs). The mechanism in fact was deprecated in favor of the "userRecording" mechanism in which the user explicitly turned on comprehensive recording, demonstrated the issue they were experiencing, and then turned it off. This change removes the vestiges of the FeedbackLogging mechanism. A feedback log is still used to hold the user's message, but it is created in a local variable as-needed, and not persisted in ResearchLogger. Change-Id: I6a09d0ed36e1eddb6e57895e7428d22107f75f49 Kurt Partridge2013-05-131-42/+7
* 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 Kurt Partridge2013-05-101-2/+10
* Merge "Remove unused code"Kurt Partridge2013-05-101-11/+1
|\
| * Remove unused code•••Change-Id: I192c67e9e8de44f073abc70ec85ebcdb36356c2e Kurt Partridge2013-05-091-11/+1
* | Merge "Remove ref to LatinImeLogger preference."Kurt Partridge2013-05-101-5/+0
|\ \
| * | Remove ref to LatinImeLogger preference.•••This is a bug; the ResearchLogger uses ResearchSettings.readResearchLoggerEnabledFlag() instead, which the user cannot change. (We assume they will just switch to a different keyboard.) Change-Id: Ib5731c9eeb2bc29d9cf8608033326674f5eb6f7b Kurt Partridge2013-05-091-5/+0
| |/
* / Avoid NPE by fixing ResearchLogger initialization•••Previously, mMainResearchLog and mMainLogBuffer were set up when the user moved to a new TextView, and set to null when the user left the TextView. This change causes mMainResearchLog, mMainLogBuffer, mFeedbackLog, and mFeedbackLogBuffer to be non-null forever after init() is called. start() no longer sets up these fields; instead they are cleared and reset every time stop() is called. Checks for null values are now removed. The earlier code just didn't initialize these variables if the user disabled logging, but since the new version invariantly keeps these variables valid, we add a check for whether the user has enabled logging in publishLogUnits(). Change-Id: Ifde3517f1cf924cfa33cda95fec24529b52b3c08 Kurt Partridge2013-05-091-93/+62
|/
* 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 Kurt Partridge2013-04-191-18/+21
* Merge "Label logUnits after LatinImeOnEndBatchInput"Kurt Partridge2013-04-171-0/+3
|\
| * Label logUnits after LatinImeOnEndBatchInput•••Previously only a commitText would cause a LogUnit to be labeled with the word that the data generates. In the case of gestured text, this information is available when LatinIME#onEndBatchInput is called. Labeling the LogUnit at this time means that the Log will have labeled words even if stop() is called before commit. Change-Id: Idb2f99a9c159a1b1aa00448a2ecddeca6c351c3e Kurt Partridge2013-04-171-0/+3
* | Merge "Fix NPE"Kurt Partridge2013-04-171-1/+1
|\ \
| * | Fix NPE•••Change-Id: I8a091fb63dab12a0d2ba69e2fe393249bc68d103 Kurt Partridge2013-04-161-1/+1
| |/
* | Merge "Fix logic error"Kurt Partridge2013-04-171-1/+1
|\ \
| * | Fix logic error•••Change-Id: Ia36660c66504ba2fbb7f125704926a08726df87a Kurt Partridge2013-04-161-1/+1
| |/
* | Merge "Small dot in corner was not visible"Kurt Partridge2013-04-171-1/+1
|\ \
| * | Small dot in corner was not visible•••Framework change perhaps? Even if not, this makes it more visible Change-Id: Ib6d36b5a30136c4516adac666bdff36d1cd9b337 Kurt Partridge2013-04-161-1/+1
| |/
* / Include nanoTime in filename•••System is fast enough that sometimes SystemClock.currentTimeMillis() is duplicated when used to make a unique filename. Change-Id: I9454fbb5e10265d36b8e17cba183a1591d52cc7b Kurt Partridge2013-04-161-3/+3
|/
* Merge "Avoid NPE"Kurt Partridge2013-04-121-3/+3
|\
| * Avoid NPE•••Initialize FeedbackLog earlier to avoid NPE Change-Id: I646944c68a7d092345def16060b2a4edd8c7dbef Kurt Partridge2013-03-261-3/+3
* | Restart suggestions when the cursor moves.•••This uses the old suggestions. It does not try to recompute new suggestions if there are no old suggestions yet: this is coming in a later change. If there are no suggestions, this shows the word itself as a suggestion. Bug: 8084810 Change-Id: I4c2e25df0ff3673be1825f57a0c19a9d23d47a48 Jean Chalard2013-04-121-1/+1
* | Better isolate ResearchLogging data•••Calls to LatinIME#onStartInputViewInternal log important information about the context in which an IME is used. This is reported as a single LogStatement. Previously, this was not placed into a separate LogUnit, and was mixed in with general word data. This change wraps this LogStatement in its own LogUnit. Change-Id: I0fecd41c8a1de622a764cc4b5d6902336697046c Kurt Partridge2013-04-101-0/+3
* | Better release build reporting•••The ResearchLogger reports whether a build is a release build or not to avoid polluting data with IME debugging work by developers. Previously this was done by checking a constant flag, which was also serving the dual purpose of masking out debug code in release builds. This change introduces a heuristic to determine whether a build was created by a developer (using the package versionName), and annotating the data sent to the server appropriately. Change-Id: Icbad17c66b703cabf6d23d05e2c7c41bcceaae45 Kurt Partridge2013-04-101-4/+21
* | Merge "[FileEncap18] Clean up uploading scheduling"Kurt Partridge2013-04-091-29/+2
|\ \
| * | [FileEncap18] Clean up uploading scheduling•••- Move scheduling logic from ResearchLogger.java to UploaderService.java - Switch to a one-shot timer. Previously the uploader was scheduled on an inexact repeating schedule. It's better to reschedule the next upload after the current one is finished to reduce the chances of multiple uploads happening at the same time. - Avoid double-execution - Previously a scheduled upload might run right after an explicit one if they occured at the same time. This change reduces the chances of this. - Some method extraction and naming Change-Id: I9efda11be77d334c7f61bd40a36d65f0421ebde4 Kurt Partridge2013-03-251-29/+2
| |/
* | Merge "Allow logging while replaying"Kurt Partridge2013-04-091-2/+1
|\ \
| * | Allow logging while replaying•••Previously logging was disabled during replay. This makes it impossible to use logged data as a regression test, since the new log was unavailable. This change corrects this problem. Change-Id: I19dc31def2f2f87fd219dc561c739d18e4ab9c9c Kurt Partridge2013-04-011-2/+1
* | | Merge "Split LogUnits differently."Kurt Partridge2013-04-011-2/+1
|\ \ \ | |/ / |/| |
| * | Split LogUnits differently.•••Previously an autocorrection caused a new LogUnit to be started, splitting off the previous LogUnit right at the autocorrection method time. This change causes the split to happen before the MotionEvents that led to the autocorrection being called. Change-Id: I2504df8eb47ee77e5f46bac34a8450636c03fd9f Kurt Partridge2013-03-261-2/+1
| |/
* / Close ResearchLogger upon onFinishInputView•••Previously, ResearchLogger#stop() was called both in LatinIME#onFinishInputView() and in LatinIME#onWindowHidden(). This resulted in multiple logs being written. Since onFinishInputView is the more reliable of the two (it is called in InputMethodService#onDestroy; onWindowHidden is not), the code now uses onFinishInputView as a stopping signal. Change-Id: Iae4b8c3bdab226027624eeab19b3737367e4a108 Kurt Partridge2013-03-251-12/+14
|/
* resolved conflicts for merge of 5b048292 to master•••Change-Id: I67ebab46954cd7b8e3e79e7fed523bafb15f8835 Tadashi G. Takaoka2013-03-191-9/+11
|\
| * Rename ProductionFlag.IS_EXPERIMENTAL to USES_DEVELOPMENT_ONLY_DIAGNOSTICS•••bug: 8393568 Change-Id: Ie5edf44a3627aca9416145aff56bf05bbf2a05f3 Ken Wakasa2013-03-181-9/+11
* | [FileEncap9] Extract ResearchLogDirectory class•••Previously used a monotonically increasing int. Now uses uuid and nanoseconds. squashed in: [FileEncap11] Read preference from ResearchSettings Change-Id: Ic779e0a69db6b16e92c6f4b63dbe7b7add566ab6 [FileEncap12] Simplify directory cleanup invocation Change-Id: I688047409c0343d32b11447fb625dfb726c731ec [FileEncap14] Change log filename syntax Change-Id: I9243b20b2eb392f81ab8c5c3d19315211240e0bc Change-Id: I5c9d70e0cb7b0965158e17dd71dfab796bd9a440 Kurt Partridge2013-03-141-68/+25
* | [Lazy1] Switch to blocking log closures•••Change-Id: I4daec20b7b47b0d71c5aab6e17cd660015e19e71 Jean Chalard2013-03-121-27/+13
* | Little cleanups•••Change-Id: I2ded3d0a29610941fac27c9b26168dd6c06ceccc Kurt Partridge2013-03-051-7/+4