Skip to content

Commit adbfd86

Browse files
authored
Merge pull request #826 from android/tj/workmanager-flows
Consume Flows from WorkManager for work status
2 parents 5904810 + 3c5e83c commit adbfd86

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ androidxTestRunner = "1.5.1"
2727
androidxTracing = "1.1.0"
2828
androidxUiAutomator = "2.2.0"
2929
androidxWindowManager = "1.0.0"
30-
androidxWork = "2.7.1"
30+
androidxWork = "2.9.0-alpha01"
3131
coil = "2.2.2"
3232
firebaseBom = "31.2.0"
3333
firebaseCrashlyticsPlugin = "2.9.2"

sync/work/src/main/java/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
package com.google.samples.apps.nowinandroid.sync.status
1818

1919
import android.content.Context
20-
import androidx.lifecycle.asFlow
21-
import androidx.lifecycle.map
2220
import androidx.work.ExistingWorkPolicy
2321
import androidx.work.WorkInfo
2422
import androidx.work.WorkInfo.State
@@ -29,6 +27,7 @@ import com.google.samples.apps.nowinandroid.sync.workers.SyncWorker
2927
import dagger.hilt.android.qualifiers.ApplicationContext
3028
import kotlinx.coroutines.flow.Flow
3129
import kotlinx.coroutines.flow.conflate
30+
import kotlinx.coroutines.flow.map
3231
import javax.inject.Inject
3332

3433
/**
@@ -38,9 +37,8 @@ class WorkManagerSyncManager @Inject constructor(
3837
@ApplicationContext private val context: Context,
3938
) : SyncManager {
4039
override val isSyncing: Flow<Boolean> =
41-
WorkManager.getInstance(context).getWorkInfosForUniqueWorkLiveData(SyncWorkName)
42-
.map(MutableList<WorkInfo>::anyRunning)
43-
.asFlow()
40+
WorkManager.getInstance(context).getWorkInfosForUniqueWorkFlow(SyncWorkName)
41+
.map(List<WorkInfo>::anyRunning)
4442
.conflate()
4543

4644
override fun requestSync() {
@@ -54,4 +52,4 @@ class WorkManagerSyncManager @Inject constructor(
5452
}
5553
}
5654

57-
private val List<WorkInfo>.anyRunning get() = any { it.state == State.RUNNING }
55+
private fun List<WorkInfo>.anyRunning() = any { it.state == State.RUNNING }

0 commit comments

Comments
 (0)