aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/research (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | Modify isAllowedToLogKurt Partridge2013-05-213-6/+71
|/ | | | | | | | | | | | | | | | 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
* Fix punctuation loggingKurt Partridge2013-05-171-10/+36
| | | | | | | | | | | | | | | | | | 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
* Merge "Remove unnecessary commit/uncommit"Kurt Partridge2013-05-151-1/+0
|\
| * Remove unnecessary commit/uncommitKurt Partridge2013-05-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Add claifying comment"Kurt Partridge2013-05-151-0/+16
|\ \ | |/ |/|
| * Add claifying commentKurt Partridge2013-05-141-0/+16
| | | | | | | | | | | | This is a follow-up to I7c01c3dd3ac33d7e96c00836256bae9c14b124ed Change-Id: I9e3f8968c4bbf9525d5dfe101f71373c42f88361
* | Merge "Rename a var to match semantics"Kurt Partridge2013-05-141-2/+2
|\ \
| * | Rename a var to match semanticsKurt Partridge2013-05-131-2/+2
| |/ | | | | | | | | | | | | The IS_INHIBITING_AUTO_UPLOAD flag is tested in isPossibleToUpload, so it inhibits all uploads, not just automatic ones. Renaming to IS_INHIBITING_UPLOAD. Change-Id: Iceed79260d4b062147f40c09f0c5bb06b2519b1b
* / Remove FeedbackLog instance variables.Kurt Partridge2013-05-131-42/+7
|/ | | | | | | | | | | | | | | | | 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
* Avoid JsonWriter multi-write errorKurt Partridge2013-05-104-49/+55
| | | | | | | | | | | 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
* Merge "Remove unused code"Kurt Partridge2013-05-101-11/+1
|\
| * Remove unused codeKurt Partridge2013-05-091-11/+1
| | | | | | | | Change-Id: I192c67e9e8de44f073abc70ec85ebcdb36356c2e
* | Merge "Remove ref to LatinImeLogger preference."Kurt Partridge2013-05-101-5/+0
|\ \
| * | Remove ref to LatinImeLogger preference.Kurt Partridge2013-05-091-5/+0
| |/ | | | | | | | | | | | | 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
* | Merge "Avoid NPE by fixing ResearchLogger initialization"Kurt Partridge2013-05-101-93/+62
|\ \ | |/ |/|
| * Avoid NPE by fixing ResearchLogger initializationKurt Partridge2013-05-091-93/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix looping logic bugs.Kurt Partridge2013-05-072-24/+30
|/ | | | | | shiftOut() is getting called once too often through these for loops. Change-Id: I9a68b49e6cc1469bcddd673ab1567e238cf192b8
* Allow LogUnits to hold >1 wordKurt Partridge2013-04-194-86/+147
| | | | | | | | | | | | | | 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
* Merge "Fix bug in counting words between samples"Kurt Partridge2013-04-182-20/+23
|\
| * Fix bug in counting words between samplesKurt Partridge2013-04-172-20/+23
| | | | | | | | | | | | | | | | 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
* | Merge "Fix user recording dialog"Kurt Partridge2013-04-181-28/+9
|\ \
| * | Fix user recording dialogKurt Partridge2013-04-171-28/+9
| |/ | | | | | | | | | | | | | | Clicking the "include recording" checkbox in the user feedback dialog did nothing. The code was relying on the state of the checkbox, rather than keeping its own state. Fixing this addresses the bug. Change-Id: I559d57a4e11f869f6e6f5e5de7878f765531a203
* | Merge "Fix alarm bug"Kurt Partridge2013-04-181-19/+6
|\ \
| * | Fix alarm bugKurt Partridge2013-04-171-19/+6
| |/ | | | | | | | | | | The AlarmManager takes absolute times as an argument, not durations. Change-Id: I419434ba5908c5f4070608070bbecf753088ecc8
* | Merge "Label logUnits after LatinImeOnEndBatchInput"Kurt Partridge2013-04-171-0/+3
|\ \
| * | Label logUnits after LatinImeOnEndBatchInputKurt Partridge2013-04-171-0/+3
| |/ | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Fix NPE"Kurt Partridge2013-04-171-1/+1
|\ \
| * | Fix NPEKurt Partridge2013-04-161-1/+1
| |/ | | | | | | Change-Id: I8a091fb63dab12a0d2ba69e2fe393249bc68d103
* | Merge "Clean up unnecessary log messages"Kurt Partridge2013-04-171-2/+0
|\ \
| * | Clean up unnecessary log messagesKurt Partridge2013-04-161-2/+0
| |/ | | | | | | Change-Id: I6c3252f3b31c5874ea2f909f636f58b579c06b8d
* | Merge "Fix logic error"Kurt Partridge2013-04-171-1/+1
|\ \
| * | Fix logic errorKurt Partridge2013-04-161-1/+1
| |/ | | | | | | Change-Id: Ia36660c66504ba2fbb7f125704926a08726df87a
* | Merge "Fix JsonWriter bug"Kurt Partridge2013-04-171-3/+13
|\ \
| * | Fix JsonWriter bugKurt Partridge2013-04-171-3/+13
| |/ | | | | | | | | | | | | JsonWriter requires that data be written to it, else close() will throw an exception. Change-Id: I596c5363e063cc75bcda55e0a506eefb3f17bd67
* | Merge "Small dot in corner was not visible"Kurt Partridge2013-04-171-1/+1
|\ \
| * | Small dot in corner was not visibleKurt Partridge2013-04-161-1/+1
| |/ | | | | | | | | | | Framework change perhaps? Even if not, this makes it more visible Change-Id: Ib6d36b5a30136c4516adac666bdff36d1cd9b337
* / Include nanoTime in filenameKurt Partridge2013-04-162-9/+11
|/ | | | | | | System is fast enough that sometimes SystemClock.currentTimeMillis() is duplicated when used to make a unique filename. Change-Id: I9454fbb5e10265d36b8e17cba183a1591d52cc7b
* Merge "Avoid NPE"Kurt Partridge2013-04-121-3/+3
|\
| * Avoid NPEKurt Partridge2013-03-261-3/+3
| | | | | | | | | | | | Initialize FeedbackLog earlier to avoid NPE Change-Id: I646944c68a7d092345def16060b2a4edd8c7dbef
* | Restart suggestions when the cursor moves.Jean Chalard2013-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Better isolate ResearchLogging data"Kurt Partridge2013-04-111-0/+3
|\ \
| * | Better isolate ResearchLogging dataKurt Partridge2013-04-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Preserve a class for testing"Kurt Partridge2013-04-101-0/+3
|\ \ \ | |/ / |/| |
| * | Preserve a class for testingKurt Partridge2013-04-101-0/+3
| | | | | | | | | | | | | | | | | | Addresses b/8583091 Change-Id: I89605223784312d9572dfc7c8aaa7e5eba44c4f6
* | | Better release build reportingKurt Partridge2013-04-101-4/+21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "[FileEncap18] Clean up uploading scheduling"Kurt Partridge2013-04-093-31/+51
|\ \
| * | [FileEncap18] Clean up uploading schedulingKurt Partridge2013-03-253-31/+51
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | Merge "Allow logging while replaying"Kurt Partridge2013-04-091-2/+1
|\ \
| * | Allow logging while replayingKurt Partridge2013-04-011-2/+1
| | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Split LogUnits differently."Kurt Partridge2013-04-011-2/+1
|\ \ \ | |/ / |/| |