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
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
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
- 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
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
- 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
- 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
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
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
- Start with just a smoke test.
- Sets up a private SharedPreferences
multi-project commit with I81cceba23692d64c2ea58a46351fc36d118ff825
Change-Id: I96e02d9a8de70cb5c03fd7411b886903e7a83673
- 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
- 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
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
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