diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3be086b09..731198efb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -27,7 +27,7 @@ androidxTestRunner = "1.5.1" androidxTracing = "1.1.0" androidxUiAutomator = "2.2.0" androidxWindowManager = "1.0.0" -androidxWork = "2.7.1" +androidxWork = "2.9.0-alpha01" coil = "2.2.2" firebaseBom = "31.2.0" firebaseCrashlyticsPlugin = "2.9.2" diff --git a/sync/work/src/main/java/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt b/sync/work/src/main/java/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt index 9bb57ccf0..9131e4888 100644 --- a/sync/work/src/main/java/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt +++ b/sync/work/src/main/java/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt @@ -17,8 +17,6 @@ package com.google.samples.apps.nowinandroid.sync.status import android.content.Context -import androidx.lifecycle.asFlow -import androidx.lifecycle.map import androidx.work.ExistingWorkPolicy import androidx.work.WorkInfo import androidx.work.WorkInfo.State @@ -29,6 +27,7 @@ import com.google.samples.apps.nowinandroid.sync.workers.SyncWorker import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.conflate +import kotlinx.coroutines.flow.map import javax.inject.Inject /** @@ -38,9 +37,8 @@ class WorkManagerSyncManager @Inject constructor( @ApplicationContext private val context: Context, ) : SyncManager { override val isSyncing: Flow = - WorkManager.getInstance(context).getWorkInfosForUniqueWorkLiveData(SyncWorkName) - .map(MutableList::anyRunning) - .asFlow() + WorkManager.getInstance(context).getWorkInfosForUniqueWorkFlow(SyncWorkName) + .map(List::anyRunning) .conflate() override fun requestSync() { @@ -54,4 +52,4 @@ class WorkManagerSyncManager @Inject constructor( } } -private val List.anyRunning get() = any { it.state == State.RUNNING } +private fun List.anyRunning() = any { it.state == State.RUNNING }