Skip to content

Commit e8fc646

Browse files
sentinelwebsentinelweb
authored andcommitted
#496 - refresh remote transfer on select
1 parent 36e20b4 commit e8fc646

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

shared/src/commonMain/kotlin/uk/co/sentinelweb/cuer/app/service/transfers/MemoryTransfersService.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,24 @@ class MemoryTransfersService(
277277
}
278278
}
279279

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+
280298
private fun cleanTransfer(domain: TransferDomain): TransferDomain = domain.copy(
281299
target = domain.target?.copy(
282300
path = ((domain.target?.path as? PlaylistDomain)

shared/src/commonMain/kotlin/uk/co/sentinelweb/cuer/app/ui/filebrowser/transfers/TransfersContract.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ interface TransfersContract {
3939
}
4040
}
4141

42+
fun updateIfRemoteTransfer(transfer: TransferDomain)
4243
}
4344

4445
interface DataStore {

shared/src/commonMain/kotlin/uk/co/sentinelweb/cuer/app/ui/filebrowser/transfers/TransfersViewModel.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ class TransfersViewModel(
172172
}
173173

174174
override fun onSelectTransfer(transfer: TransferDomain?) {
175+
transfer?.also { service.updateIfRemoteTransfer(it) }
175176
_stateObservable.update { last ->
176177
last.copy(selectedTransfer = transfer)
177178
}

0 commit comments

Comments
 (0)