Close file properly
Change-Id: Ied55b6a6f1e64bbca558316d8d3d207d7655cf91
diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java
index 364ab2d..90541e8 100644
--- a/java/src/com/android/inputmethod/research/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/research/ResearchLogger.java
@@ -763,18 +763,26 @@
if (isIncludingRecording) {
// Try to read recording from recently written json file
if (mUserRecordingFile != null) {
+ FileChannel channel = null;
try {
- final FileChannel channel =
- new FileInputStream(mUserRecordingFile).getChannel();
+ channel = new FileInputStream(mUserRecordingFile).getChannel();
final MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0,
channel.size());
// Android's openFileOutput() creates the file, so we use Android's default
// Charset (UTF-8) here to read it.
recording = Charset.defaultCharset().decode(buffer).toString();
} catch (FileNotFoundException e) {
- e.printStackTrace();
+ Log.e(TAG, "Could not find recording file", e);
} catch (IOException e) {
- e.printStackTrace();
+ Log.e(TAG, "Error reading recording file", e);
+ } finally {
+ if (channel != null) {
+ try {
+ channel.close();
+ } catch (IOException e) {
+ Log.e(TAG, "Error closing recording file", e);
+ }
+ }
}
}
}