@@ -15,6 +15,7 @@ import uk.co.sentinelweb.cuer.core.wrapper.createLogger
15
15
import uk.co.sentinelweb.cuer.domain.*
16
16
import uk.co.sentinelweb.cuer.domain.PlatformDomain.FILESYSTEM
17
17
import uk.co.sentinelweb.cuer.domain.PlaylistDomain.PlaylistTypeDomain.FOLDER
18
+ import uk.co.sentinelweb.cuer.domain.TransferDomain.AddressDomain
18
19
import uk.co.sentinelweb.cuer.domain.TransferDomain.Status.Confirmed
19
20
import uk.co.sentinelweb.cuer.domain.TransferDomain.Status.Initial
20
21
import uk.co.sentinelweb.cuer.domain.ext.mapFilePath
@@ -87,19 +88,31 @@ class TransfersViewModel(
87
88
88
89
private fun onSet (isSource : Boolean ) {
89
90
val copy = if (isSource)
90
- { t: TransferDomain , a: TransferDomain . AddressDomain -> t.copy(source = a) }
91
+ { t: TransferDomain , a: AddressDomain ? -> t.copy(source = a) }
91
92
else
92
- { t: TransferDomain , a: TransferDomain . AddressDomain -> t.copy(target = a) }
93
+ { t: TransferDomain , a: AddressDomain ? -> t.copy(target = a) }
93
94
94
95
val fileNodeSelected: (NodeDomain , Domain ? ) -> Unit = { fbNode, fbPath ->
95
- val updated = _stateObservable .value.selectedTransfer
96
- ?.let { copy(it, TransferDomain .AddressDomain (fbNode, fbPath)) }
97
- ?.also { service.addReplaceTransfer(it) }
98
-
99
- _stateObservable .update { last ->
100
- last.copy(selectedTransfer = updated)
96
+ log.d(" fileNodeSelected \n $fbNode \n $fbPath " )
97
+ if (fbPath != null ) {
98
+ val updated = _stateObservable .value.selectedTransfer
99
+ ?.let { copy(it, AddressDomain (fbNode, fbPath)) }
100
+ ?.also { service.addReplaceTransfer(it) }
101
+
102
+ _stateObservable .update { last ->
103
+ last.copy(selectedTransfer = updated)
104
+ }
105
+ filesDialogLauncher.hideDialog()
106
+ } else {
107
+ log.d(" fileNodeSelected path is null" )
108
+ val updated = _stateObservable .value.selectedTransfer
109
+ ?.let { copy(it, null ) }
110
+ _stateObservable .updateAndGet { last ->
111
+ last.copy(selectedTransfer = updated)
112
+ }
113
+ filesDialogLauncher.hideDialog()
114
+ onSet(isSource)
101
115
}
102
- filesDialogLauncher.hideDialog()
103
116
}
104
117
105
118
val address = _stateObservable .value.selectedTransfer
@@ -108,7 +121,7 @@ class TransfersViewModel(
108
121
}
109
122
110
123
private fun showDialog (
111
- address : TransferDomain . AddressDomain ? ,
124
+ address : AddressDomain ? ,
112
125
fileSelected : (NodeDomain , Domain ? ) -> Unit
113
126
) {
114
127
val path = address?.path
0 commit comments