File tree Expand file tree Collapse file tree 1 file changed +4
-22
lines changed
core/src/main/java/com/segment/analytics/kotlin/core/utilities Expand file tree Collapse file tree 1 file changed +4
-22
lines changed Original file line number Diff line number Diff line change 1
1
package com.segment.analytics.kotlin.core.utilities
2
2
3
- import kotlinx.coroutines.runBlocking
4
3
import java.io.File
5
4
import java.io.FileOutputStream
6
5
import java.time.Instant
@@ -40,13 +39,10 @@ class EventsFileManager(
40
39
41
40
init {
42
41
createDirectory(directory)
43
- registerShutdownHook()
44
42
}
45
43
46
44
private val fileIndexKey = " segment.events.file.index.$writeKey "
47
45
48
- private var os: FileOutputStream ? = null
49
-
50
46
companion object {
51
47
const val MAX_FILE_SIZE = 475_000 // 475KB
52
48
}
@@ -124,8 +120,6 @@ class EventsFileManager(
124
120
val contents = """ ],"sentAt":"${Instant .now()} "}"""
125
121
writeToFile(contents.toByteArray(), file)
126
122
file.renameTo(File (directory, file.nameWithoutExtension))
127
- os?.close()
128
- os = null
129
123
incrementFileIndex()
130
124
}
131
125
@@ -138,22 +132,10 @@ class EventsFileManager(
138
132
// Atomic write to underlying file
139
133
// TODO make atomic
140
134
private fun writeToFile (content : ByteArray , file : File ) {
141
- os = os ? : FileOutputStream (file, true )
142
- os?.run {
143
- write(content)
144
- flush()
145
- }
146
- }
147
-
148
- private fun registerShutdownHook () {
149
- // close the stream if the app shuts down
150
- Runtime .getRuntime().addShutdownHook(object : Thread () {
151
- override fun run () {
152
- runBlocking {
153
- os?.close()
154
- }
155
- }
156
- })
135
+ val os = FileOutputStream (file, true )
136
+ os.write(content)
137
+ os.flush()
138
+ os.close()
157
139
}
158
140
}
159
141
You can’t perform that action at this time.
0 commit comments