diff options
author | 2013-02-15 12:43:51 -0800 | |
---|---|---|
committer | 2013-02-21 17:01:08 -0800 | |
commit | 78c1ad32e67fcb11448e23661aec33675f3dfa3b (patch) | |
tree | 5ad53f7bba9fd423df18895a0a14bfe593a9e34d /java/src | |
parent | 07050549b1f91a787fadb553cc834f9833617041 (diff) | |
download | latinime-78c1ad32e67fcb11448e23661aec33675f3dfa3b.tar.gz latinime-78c1ad32e67fcb11448e23661aec33675f3dfa3b.tar.xz latinime-78c1ad32e67fcb11448e23661aec33675f3dfa3b.zip |
[TestPrep7] Encapsulate JsonWriter creation
Change-Id: I4e97fa28dd0bb1101edc0db03f024432fee6f6fe
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)))); + } } |