@@ -22,6 +22,7 @@ import java.io.IOException
2222import java.nio.file.Files
2323import java.nio.file.Path
2424import java.nio.file.Paths
25+ import java.util.concurrent.ConcurrentHashMap
2526import java.util.concurrent.atomic.AtomicBoolean
2627
2728@Suppress(" NestedBlockDepth" , " TooGenericExceptionCaught" , " ThrowsCount" )
@@ -30,7 +31,7 @@ class DownloadFileRemoteOperation(
3031 private val remotePath : String ,
3132 private val temporalFolderPath : String?
3233) : RemoteOperation<Any>() {
33- private val dataTransferListeners: MutableSet <OnDatatransferProgressListener ?> = HashSet ()
34+ private val dataTransferListeners = ConcurrentHashMap .newKeySet <OnDatatransferProgressListener > ()
3435 private val cancellationRequested = AtomicBoolean (false )
3536 var modificationTimestamp: Long = 0
3637 private set
@@ -134,11 +135,11 @@ class DownloadFileRemoteOperation(
134135
135136 // region public methods
136137 fun addProgressListener (listener : OnDatatransferProgressListener ) {
137- synchronized( dataTransferListeners) { dataTransferListeners .add(listener) }
138+ dataTransferListeners.add(listener)
138139 }
139140
140141 fun removeProgressListener (listener : OnDatatransferProgressListener ) {
141- synchronized( dataTransferListeners) { dataTransferListeners .remove(listener) }
142+ dataTransferListeners.remove(listener)
142143 }
143144
144145 fun cancel () {
0 commit comments