diff options
author | 2013-02-22 14:12:49 +0000 | |
---|---|---|
committer | 2013-02-22 14:12:49 +0000 | |
commit | c3252cfaf750d706f7280d32d1259e4367670bd9 (patch) | |
tree | e09eb74b403e096b6e44cd47c81ab4c63bef2f14 /java/src | |
parent | c95d005c8aae0f55135efdba5564c58f83219f62 (diff) | |
parent | 78c1ad32e67fcb11448e23661aec33675f3dfa3b (diff) | |
download | latinime-c3252cfaf750d706f7280d32d1259e4367670bd9.tar.gz latinime-c3252cfaf750d706f7280d32d1259e4367670bd9.tar.xz latinime-c3252cfaf750d706f7280d32d1259e4367670bd9.zip |
Merge "[TestPrep7] Encapsulate JsonWriter creation"
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/research/ResearchLog.java | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/research/ResearchLog.java b/java/src/com/android/inputmethod/research/ResearchLog.java index 4dff17530..2303ebcfe 100644 --- a/java/src/com/android/inputmethod/research/ResearchLog.java +++ b/java/src/com/android/inputmethod/research/ResearchLog.java @@ -209,26 +209,37 @@ public class ResearchLog { public JsonWriter getInitializedJsonWriterLocked() { try { if (mJsonWriter == NULL_JSON_WRITER && mFile != null) { - final FileOutputStream fos = - mContext.openFileOutput(mFile.getName(), Context.MODE_PRIVATE); - mJsonWriter = new JsonWriter(new BufferedWriter(new OutputStreamWriter(fos))); - mJsonWriter.beginArray(); - mHasWrittenData = true; + final JsonWriter jsonWriter = createJsonWriter(mContext, mFile); + if (jsonWriter != null) { + jsonWriter.beginArray(); + mJsonWriter = jsonWriter; + mHasWrittenData = true; + } } } catch (IOException e) { - e.printStackTrace(); - Log.w(TAG, "Error in JsonWriter; disabling logging"); + Log.w(TAG, "Error in JsonWriter; disabling logging", e); try { mJsonWriter.close(); } catch (IllegalStateException e1) { // Assume that this is just the json not being terminated properly. // Ignore } catch (IOException e1) { - e1.printStackTrace(); + Log.w(TAG, "Error in closing JsonWriter; disabling logging", e1); } finally { mJsonWriter = NULL_JSON_WRITER; } } return mJsonWriter; } + + /** + * Create the JsonWriter to write the ResearchLog to. + * + * This method may be overriden in testing to redirect the output. + */ + /* package for test */ JsonWriter createJsonWriter(final Context context, final File file) + throws IOException { + return new JsonWriter(new BufferedWriter(new OutputStreamWriter( + context.openFileOutput(file.getName(), Context.MODE_PRIVATE)))); + } } |