Loading packages/SystemUI/utils/kairos/src/com/android/systemui/kairos/KairosNetwork.kt +5 −3 Original line number Diff line number Diff line Loading @@ -143,8 +143,9 @@ suspend fun <R> KairosNetwork.activateSpec( internal class LocalNetwork( private val network: Network, private val scope: CoroutineScope, private val endSignal: Events<Any>, private val endSignalLazy: Lazy<Events<Any>>, ) : KairosNetwork { override suspend fun <R> transact(block: TransactionScope.() -> R): R = network.transaction("KairosNetwork.transact") { block() }.awaitOrCancel() Loading @@ -160,7 +161,8 @@ internal class LocalNetwork( stateScope = StateScopeImpl( evalScope = this, endSignalLazy = lazy { mergeLeft(stopEmitter, endSignal) }, endSignalLazy = lazy { mergeLeft(stopEmitter, endSignalLazy.value) }, ), coroutineScope = this@coroutineScope, ) Loading Loading @@ -225,7 +227,7 @@ internal class LocalNetwork( @ExperimentalKairosApi class RootKairosNetwork internal constructor(private val network: Network, private val scope: CoroutineScope, job: Job) : Job by job, KairosNetwork by LocalNetwork(network, scope, emptyEvents) Job by job, KairosNetwork by LocalNetwork(network, scope, lazyOf(emptyEvents)) /** Constructs a new [RootKairosNetwork] in the given [CoroutineScope]. */ @ExperimentalKairosApi Loading packages/SystemUI/utils/kairos/src/com/android/systemui/kairos/internal/BuildScopeImpl.kt +3 −3 Original line number Diff line number Diff line Loading @@ -61,8 +61,8 @@ internal class BuildScopeImpl(val stateScope: StateScopeImpl, val coroutineScope private val job: Job get() = coroutineScope.coroutineContext.job override val kairosNetwork: KairosNetwork by lazy { LocalNetwork(network, coroutineScope, endSignal) override val kairosNetwork: LocalNetwork by lazy { LocalNetwork(network, coroutineScope, stateScope.endSignalLazy) } override fun <T> events(builder: suspend EventProducerScope<T>.() -> Unit): Events<T> = Loading Loading @@ -129,7 +129,7 @@ internal class BuildScopeImpl(val stateScope: StateScopeImpl, val coroutineScope } // When our scope is cancelled, deactivate this observer. cancelHandle = childScope.coroutineContext.job.invokeOnCompletion { handle.dispose() } val localNetwork = LocalNetwork(network, childScope, endSignal) val localNetwork = LocalNetwork(network, childScope, stateScope.endSignalLazy) val outputNode = Output<A>( interceptor = Loading Loading
packages/SystemUI/utils/kairos/src/com/android/systemui/kairos/KairosNetwork.kt +5 −3 Original line number Diff line number Diff line Loading @@ -143,8 +143,9 @@ suspend fun <R> KairosNetwork.activateSpec( internal class LocalNetwork( private val network: Network, private val scope: CoroutineScope, private val endSignal: Events<Any>, private val endSignalLazy: Lazy<Events<Any>>, ) : KairosNetwork { override suspend fun <R> transact(block: TransactionScope.() -> R): R = network.transaction("KairosNetwork.transact") { block() }.awaitOrCancel() Loading @@ -160,7 +161,8 @@ internal class LocalNetwork( stateScope = StateScopeImpl( evalScope = this, endSignalLazy = lazy { mergeLeft(stopEmitter, endSignal) }, endSignalLazy = lazy { mergeLeft(stopEmitter, endSignalLazy.value) }, ), coroutineScope = this@coroutineScope, ) Loading Loading @@ -225,7 +227,7 @@ internal class LocalNetwork( @ExperimentalKairosApi class RootKairosNetwork internal constructor(private val network: Network, private val scope: CoroutineScope, job: Job) : Job by job, KairosNetwork by LocalNetwork(network, scope, emptyEvents) Job by job, KairosNetwork by LocalNetwork(network, scope, lazyOf(emptyEvents)) /** Constructs a new [RootKairosNetwork] in the given [CoroutineScope]. */ @ExperimentalKairosApi Loading
packages/SystemUI/utils/kairos/src/com/android/systemui/kairos/internal/BuildScopeImpl.kt +3 −3 Original line number Diff line number Diff line Loading @@ -61,8 +61,8 @@ internal class BuildScopeImpl(val stateScope: StateScopeImpl, val coroutineScope private val job: Job get() = coroutineScope.coroutineContext.job override val kairosNetwork: KairosNetwork by lazy { LocalNetwork(network, coroutineScope, endSignal) override val kairosNetwork: LocalNetwork by lazy { LocalNetwork(network, coroutineScope, stateScope.endSignalLazy) } override fun <T> events(builder: suspend EventProducerScope<T>.() -> Unit): Events<T> = Loading Loading @@ -129,7 +129,7 @@ internal class BuildScopeImpl(val stateScope: StateScopeImpl, val coroutineScope } // When our scope is cancelled, deactivate this observer. cancelHandle = childScope.coroutineContext.job.invokeOnCompletion { handle.dispose() } val localNetwork = LocalNetwork(network, childScope, endSignal) val localNetwork = LocalNetwork(network, childScope, stateScope.endSignalLazy) val outputNode = Output<A>( interceptor = Loading