diff options
author | 2012-12-22 18:02:25 -0800 | |
---|---|---|
committer | 2012-12-22 18:02:25 -0800 | |
commit | 9e12ba6c95edad2877b3320b5d1d30df2a2efa66 (patch) | |
tree | 24e59416c434378cf864259fcd2cc1ed36352f76 /java/src | |
parent | 18b01e88acda36185242fdfdfe15b42945d5e523 (diff) | |
parent | 583a1edc4aafb021f8f79d73dcc126da43560cef (diff) | |
download | latinime-9e12ba6c95edad2877b3320b5d1d30df2a2efa66.tar.gz latinime-9e12ba6c95edad2877b3320b5d1d30df2a2efa66.tar.xz latinime-9e12ba6c95edad2877b3320b5d1d30df2a2efa66.zip |
Merge "[Rlog22] ResearchLogger fixed debug printing"
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/research/LogUnit.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/research/LogUnit.java b/java/src/com/android/inputmethod/research/LogUnit.java index 884ade06b..27c4027de 100644 --- a/java/src/com/android/inputmethod/research/LogUnit.java +++ b/java/src/com/android/inputmethod/research/LogUnit.java @@ -24,10 +24,12 @@ import android.view.inputmethod.CompletionInfo; import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; +import com.android.inputmethod.latin.Utils; import com.android.inputmethod.latin.define.ProductionFlag; import com.android.inputmethod.research.ResearchLogger.LogStatement; import java.io.IOException; +import java.io.StringWriter; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -95,6 +97,22 @@ import java.util.Map; */ public synchronized void publishTo(final ResearchLog researchLog, final boolean isIncludingPrivateData) { + // Prepare debugging output if necessary + final StringWriter debugStringWriter; + final JsonWriter debugJsonWriter; + if (DEBUG) { + debugStringWriter = new StringWriter(); + debugJsonWriter = new JsonWriter(debugStringWriter); + debugJsonWriter.setIndent(" "); + try { + debugJsonWriter.beginArray(); + } catch (IOException e) { + Log.e(TAG, "Could not open array in JsonWriter", e); + } + } else { + debugStringWriter = null; + debugJsonWriter = null; + } final int size = mLogStatementList.size(); // Write out any logStatement that passes the privacy filter. for (int i = 0; i < size; i++) { @@ -110,6 +128,23 @@ import java.util.Map; final JsonWriter jsonWriter = researchLog.getValidJsonWriterLocked(); outputLogStatementToLocked(jsonWriter, mLogStatementList.get(i), mValuesList.get(i), mTimeList.get(i)); + if (DEBUG) { + outputLogStatementToLocked(debugJsonWriter, mLogStatementList.get(i), + mValuesList.get(i), mTimeList.get(i)); + } + } + if (DEBUG) { + try { + debugJsonWriter.endArray(); + debugJsonWriter.flush(); + } catch (IOException e) { + Log.e(TAG, "Could not close array in JsonWriter", e); + } + final String bigString = debugStringWriter.getBuffer().toString(); + final String[] lines = bigString.split("\n"); + for (String line : lines) { + Log.d(TAG, line); + } } } |