mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2024-11-18 14:23:50 +00:00
commit
c116b270b6
@ -1,5 +1,11 @@
|
||||
# Changelog
|
||||
|
||||
## 0.11.8
|
||||
|
||||
* `Repos`:
|
||||
* `Common`:
|
||||
* Fixes in `FileKeyValueRepo`
|
||||
|
||||
## 0.11.7
|
||||
|
||||
* `Common`:
|
||||
|
@ -14,5 +14,5 @@ crypto_js_version=4.1.1
|
||||
# Project data
|
||||
|
||||
group=dev.inmo
|
||||
version=0.11.7
|
||||
android_code_version=131
|
||||
version=0.11.8
|
||||
android_code_version=132
|
||||
|
@ -99,7 +99,9 @@ class FileWriteKeyValueRepo(
|
||||
override val onValueRemoved: Flow<String> = _onValueRemoved.asSharedFlow()
|
||||
|
||||
init {
|
||||
folder.mkdirs()
|
||||
if (!folder.mkdirs() && !folder.exists()) {
|
||||
error("Unable to create folder ${folder.absolutePath}")
|
||||
}
|
||||
filesChangedProcessingScope ?.let {
|
||||
it.launch {
|
||||
try {
|
||||
@ -144,15 +146,17 @@ class FileWriteKeyValueRepo(
|
||||
}
|
||||
|
||||
override suspend fun set(toSet: Map<String, File>) {
|
||||
supervisorScope {
|
||||
toSet.map { (filename, fileSource) ->
|
||||
launch {
|
||||
val file = File(folder, filename)
|
||||
val scope = CoroutineScope(currentCoroutineContext())
|
||||
toSet.map { (filename, fileSource) ->
|
||||
scope.launch {
|
||||
val file = File(folder, filename)
|
||||
|
||||
file.delete()
|
||||
fileSource.copyTo(file, overwrite = true)
|
||||
_onNewValue.emit(filename to file)
|
||||
file.delete()
|
||||
fileSource.copyTo(file, overwrite = true)
|
||||
if (!file.exists()) {
|
||||
error("Can't create file $file with new content")
|
||||
}
|
||||
_onNewValue.emit(filename to file)
|
||||
}
|
||||
}.joinAll()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user