diff options
author | 2013-05-09 14:25:28 -0700 | |
---|---|---|
committer | 2013-05-10 18:21:08 -0700 | |
commit | 7d72ca0b20334aba077e3a01d7b12f6f34618076 (patch) | |
tree | ca073e975d11d989859bd3e86f07c8d1084f4f56 /java/src/com/android/inputmethod/research/ResearchLogger.java | |
parent | 260df8419739f92d4c64abfedec448a7f447b3a1 (diff) | |
download | latinime-7d72ca0b20334aba077e3a01d7b12f6f34618076.tar.gz latinime-7d72ca0b20334aba077e3a01d7b12f6f34618076.tar.xz latinime-7d72ca0b20334aba077e3a01d7b12f6f34618076.zip |
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
Diffstat (limited to 'java/src/com/android/inputmethod/research/ResearchLogger.java')
-rw-r--r-- | java/src/com/android/inputmethod/research/ResearchLogger.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java index 4e839f972..b3c0faf29 100644 --- a/java/src/com/android/inputmethod/research/ResearchLogger.java +++ b/java/src/com/android/inputmethod/research/ResearchLogger.java @@ -422,11 +422,19 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang // Commit mCurrentLogUnit before closing. commitCurrentLogUnit(); - mMainLogBuffer.shiftAndPublishAll(); + try { + mMainLogBuffer.shiftAndPublishAll(); + } catch (final IOException e) { + Log.w(TAG, "IOException when publishing LogBuffer", e); + } logStatistics(); commitCurrentLogUnit(); mMainLogBuffer.setIsStopping(); - mMainLogBuffer.shiftAndPublishAll(); + try { + mMainLogBuffer.shiftAndPublishAll(); + } catch (final IOException e) { + Log.w(TAG, "IOException when publishing LogBuffer", e); + } mMainResearchLog.blockingClose(RESEARCHLOG_CLOSE_TIMEOUT_IN_MS); mFeedbackLog.blockingClose(RESEARCHLOG_CLOSE_TIMEOUT_IN_MS); |