am d3c9ec81: Merge "Close file properly"
# Via Android (Google) Code Review (1) and Kurt Partridge (1) * commit 'd3c9ec8133ae203b10eafc8547cbda51d995a44e': Close file properlymain
commit
71bc485b09
|
@ -763,18 +763,26 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
|
||||||
if (isIncludingRecording) {
|
if (isIncludingRecording) {
|
||||||
// Try to read recording from recently written json file
|
// Try to read recording from recently written json file
|
||||||
if (mUserRecordingFile != null) {
|
if (mUserRecordingFile != null) {
|
||||||
|
FileChannel channel = null;
|
||||||
try {
|
try {
|
||||||
final FileChannel channel =
|
channel = new FileInputStream(mUserRecordingFile).getChannel();
|
||||||
new FileInputStream(mUserRecordingFile).getChannel();
|
|
||||||
final MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0,
|
final MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0,
|
||||||
channel.size());
|
channel.size());
|
||||||
// Android's openFileOutput() creates the file, so we use Android's default
|
// Android's openFileOutput() creates the file, so we use Android's default
|
||||||
// Charset (UTF-8) here to read it.
|
// Charset (UTF-8) here to read it.
|
||||||
recording = Charset.defaultCharset().decode(buffer).toString();
|
recording = Charset.defaultCharset().decode(buffer).toString();
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
e.printStackTrace();
|
Log.e(TAG, "Could not find recording file", e);
|
||||||
} catch (IOException 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue