summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/utils/kairos/src/com/android/systemui/kairos/TFlow.kt10
1 files changed, 4 insertions, 6 deletions
diff --git a/packages/SystemUI/utils/kairos/src/com/android/systemui/kairos/TFlow.kt b/packages/SystemUI/utils/kairos/src/com/android/systemui/kairos/TFlow.kt
index 7ba1aca31eae..c773d9c0f254 100644
--- a/packages/SystemUI/utils/kairos/src/com/android/systemui/kairos/TFlow.kt
+++ b/packages/SystemUI/utils/kairos/src/com/android/systemui/kairos/TFlow.kt
@@ -520,16 +520,14 @@ internal constructor(internal val network: Network, internal val impl: InputNode
@ExperimentalFrpApi
suspend fun emit(value: T) {
coroutineScope {
+ var jobOrNull: Job? = null
val newEmit =
async(start = CoroutineStart.LAZY) {
+ jobOrNull?.join()
network.transaction { impl.visit(this, value) }.await()
}
- val jobOrNull = storage.getAndSet(newEmit)
- if (jobOrNull?.isActive != true) {
- newEmit.await()
- } else {
- jobOrNull.join()
- }
+ jobOrNull = storage.getAndSet(newEmit)
+ newEmit.await()
}
}