First attempt

This commit is contained in:
Benoit Marty 2025-11-19 16:56:01 +01:00
parent 2767f178a5
commit cb9d116af8
4 changed files with 51 additions and 31 deletions

View file

@ -11,5 +11,5 @@ package io.element.android.libraries.workmanager.api
import androidx.work.WorkRequest
interface WorkManagerRequest {
fun build(): Result<WorkRequest>
fun build(): List<Result<WorkRequest>>
}

View file

@ -27,14 +27,16 @@ class DefaultWorkManagerScheduler(
private val workManager by lazy { WorkManager.getInstance(context) }
override fun submit(workManagerRequest: WorkManagerRequest) {
workManagerRequest.build().fold(
onSuccess = {
workManager.enqueue(it)
},
onFailure = {
Timber.e(it, "Failed to build WorkManager request $workManagerRequest")
}
)
workManagerRequest.build().forEach {
it.fold(
onSuccess = { workRequest ->
workManager.enqueue(workRequest)
},
onFailure = {
Timber.e(it, "Failed to build WorkManager request $workManagerRequest")
}
)
}
}
override fun cancel(sessionId: SessionId) {