File tree Expand file tree Collapse file tree 3 files changed +20
-0
lines changed
shared/src/commonMain/kotlin/uk/co/sentinelweb/cuer/app Expand file tree Collapse file tree 3 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -277,6 +277,24 @@ class MemoryTransfersService(
277
277
}
278
278
}
279
279
280
+ override fun updateIfRemoteTransfer (transfer : TransferDomain ) {
281
+ transfer.target?.node
282
+ ?.takeIf { it.ipport() != localRepository.localNode.ipport() }
283
+ ?.also {
284
+ scope.launch {
285
+ remoteFilesInteractor.transfers(it.locator())
286
+ .takeIf { it.isSuccessful }
287
+ ?.data
288
+ ?.let { remoteState ->
289
+ remoteState.run {
290
+ queue.find { it.id == transfer.id }
291
+ ? : completed.find { it.id == transfer.id }
292
+ }?.also { transfer -> addReplaceTransfer(transfer) }
293
+ }
294
+ }
295
+ }
296
+ }
297
+
280
298
private fun cleanTransfer (domain : TransferDomain ): TransferDomain = domain.copy(
281
299
target = domain.target?.copy(
282
300
path = ((domain.target?.path as ? PlaylistDomain )
Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ interface TransfersContract {
39
39
}
40
40
}
41
41
42
+ fun updateIfRemoteTransfer (transfer : TransferDomain )
42
43
}
43
44
44
45
interface DataStore {
Original file line number Diff line number Diff line change @@ -172,6 +172,7 @@ class TransfersViewModel(
172
172
}
173
173
174
174
override fun onSelectTransfer (transfer : TransferDomain ? ) {
175
+ transfer?.also { service.updateIfRemoteTransfer(it) }
175
176
_stateObservable .update { last ->
176
177
last.copy(selectedTransfer = transfer)
177
178
}
You can’t perform that action at this time.
0 commit comments