diff --git a/vector/src/main/java/im/vector/app/features/media/domain/usecase/VectorInOutUseCase.kt b/vector/src/main/java/im/vector/app/core/usecase/VectorBaseInOutUseCase.kt similarity index 84% rename from vector/src/main/java/im/vector/app/features/media/domain/usecase/VectorInOutUseCase.kt rename to vector/src/main/java/im/vector/app/core/usecase/VectorBaseInOutUseCase.kt index d7c7585250..277da6794a 100644 --- a/vector/src/main/java/im/vector/app/features/media/domain/usecase/VectorInOutUseCase.kt +++ b/vector/src/main/java/im/vector/app/core/usecase/VectorBaseInOutUseCase.kt @@ -14,9 +14,8 @@ * limitations under the License. */ -package im.vector.app.features.media.domain.usecase +package im.vector.app.core.usecase -// TODO move into Core packages -interface VectorInOutUseCase { +interface VectorBaseInOutUseCase { suspend fun execute(input: T): Result } diff --git a/vector/src/main/java/im/vector/app/features/media/domain/usecase/DownloadMediaUseCase.kt b/vector/src/main/java/im/vector/app/features/media/domain/usecase/DownloadMediaUseCase.kt index f493058281..6da4e5b419 100644 --- a/vector/src/main/java/im/vector/app/features/media/domain/usecase/DownloadMediaUseCase.kt +++ b/vector/src/main/java/im/vector/app/features/media/domain/usecase/DownloadMediaUseCase.kt @@ -20,6 +20,7 @@ import android.content.Context import androidx.core.net.toUri import dagger.hilt.android.qualifiers.ApplicationContext import im.vector.app.core.intent.getMimeTypeFromUri +import im.vector.app.core.usecase.VectorBaseInOutUseCase import im.vector.app.core.utils.saveMedia import im.vector.app.features.notifications.NotificationUtils import kotlinx.coroutines.Dispatchers @@ -30,13 +31,13 @@ import javax.inject.Inject class DownloadMediaUseCase @Inject constructor( @ApplicationContext private val appContext: Context, private val notificationUtils: NotificationUtils -) : VectorInOutUseCase { +) : VectorBaseInOutUseCase { /* ========================================================================================== * Public API * ========================================================================================== */ - // TODO find a way to provide Dispatchers via Interface to be able to unit tests + // TODO declare Dispatcher via an Interface provider to be able to unit tests override suspend fun execute(input: File): Result = withContext(Dispatchers.IO) { runCatching { saveMedia(