Loading packages/SystemUI/src/com/android/systemui/KairosActivatable.kt +0 −2 Original line number Diff line number Diff line Loading @@ -142,8 +142,6 @@ interface KairosBuilder : KairosActivatable { @OptIn(ExperimentalKairosApi::class) private class KairosBuilderImpl @Inject constructor() : KairosBuilder { // TODO: atomic? // TODO: are two lists really necessary? private var _builds: MutableList<KairosActivatable>? = mutableListOf() private var _startables: MutableList<KairosActivatable>? = mutableListOf() Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/dagger/StatusBarPipelineModule.kt +16 −4 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import com.android.systemui.CoreStartable import com.android.systemui.Flags import com.android.systemui.dagger.SysUISingleton import com.android.systemui.kairos.ExperimentalKairosApi import com.android.systemui.kairos.KairosNetwork import com.android.systemui.kairos.toColdConflatedFlow import com.android.systemui.log.LogBuffer import com.android.systemui.log.LogBufferFactory import com.android.systemui.log.table.TableLogBuffer Loading Loading @@ -48,6 +50,7 @@ import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIc import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractorKairosAdapter import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractorKairosImpl import com.android.systemui.statusbar.pipeline.mobile.ui.MobileUiAdapter import com.android.systemui.statusbar.pipeline.mobile.ui.MobileUiAdapterKairos import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.MobileIconsViewModel import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.MobileIconsViewModelKairos import com.android.systemui.statusbar.pipeline.mobile.util.MobileMappingsProxy Loading Loading @@ -99,6 +102,7 @@ import kotlinx.coroutines.flow.Flow MobileConnectionRepositoryKairosFactoryImpl.Module::class, MobileConnectionsRepositoryKairosAdapter.Module::class, MobileIconsInteractorKairosAdapter.Module::class, MobileUiAdapterKairos.Module::class, ] ) abstract class StatusBarPipelineModule { Loading Loading @@ -217,11 +221,19 @@ abstract class StatusBarPipelineModule { @SysUISingleton @Named(FIRST_MOBILE_SUB_SHOWING_NETWORK_TYPE_ICON) fun provideFirstMobileSubShowingNetworkTypeIconProvider( mobileIconsViewModel: MobileIconsViewModel mobileIconsViewModel: Provider<MobileIconsViewModel>, kairosViewModel: Provider<MobileIconsViewModelKairos>, kairosNetwork: KairosNetwork, ): Supplier<Flow<Boolean>> { // TODO: kairos-ify return Supplier<Flow<Boolean>> { mobileIconsViewModel.firstMobileSubShowingNetworkTypeIcon return if (Flags.statusBarMobileIconKairos()) { Supplier { kairosViewModel .get() .firstMobileSubShowingNetworkTypeIcon .toColdConflatedFlow(kairosNetwork) } } else { Supplier { mobileIconsViewModel.get().firstMobileSubShowingNetworkTypeIcon } } } Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/MobileUiAdapterKairos.kt +14 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.statusbar.pipeline.mobile.ui import com.android.systemui.Dumpable import com.android.systemui.Flags import com.android.systemui.KairosActivatable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dump.DumpManager Loading @@ -29,8 +30,11 @@ import com.android.systemui.shade.carrier.ShadeCarrierGroupController import com.android.systemui.statusbar.phone.ui.StatusBarIconController import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractorKairos import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.MobileIconsViewModelKairos import dagger.Provides import dagger.multibindings.ElementsIntoSet import java.io.PrintWriter import javax.inject.Inject import javax.inject.Provider /** * This class is intended to provide a context to collect on the Loading Loading @@ -92,4 +96,14 @@ constructor( pw.println("isCollecting=$isCollecting") pw.println("Last values sent to icon controller: $lastValue") } @dagger.Module object Module { @Provides @ElementsIntoSet fun kairosActivatable( impl: Provider<MobileUiAdapterKairos> ): Set<@JvmSuppressWildcards KairosActivatable> = if (Flags.statusBarMobileIconKairos()) setOf(impl.get()) else emptySet() } } Loading
packages/SystemUI/src/com/android/systemui/KairosActivatable.kt +0 −2 Original line number Diff line number Diff line Loading @@ -142,8 +142,6 @@ interface KairosBuilder : KairosActivatable { @OptIn(ExperimentalKairosApi::class) private class KairosBuilderImpl @Inject constructor() : KairosBuilder { // TODO: atomic? // TODO: are two lists really necessary? private var _builds: MutableList<KairosActivatable>? = mutableListOf() private var _startables: MutableList<KairosActivatable>? = mutableListOf() Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/dagger/StatusBarPipelineModule.kt +16 −4 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import com.android.systemui.CoreStartable import com.android.systemui.Flags import com.android.systemui.dagger.SysUISingleton import com.android.systemui.kairos.ExperimentalKairosApi import com.android.systemui.kairos.KairosNetwork import com.android.systemui.kairos.toColdConflatedFlow import com.android.systemui.log.LogBuffer import com.android.systemui.log.LogBufferFactory import com.android.systemui.log.table.TableLogBuffer Loading Loading @@ -48,6 +50,7 @@ import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIc import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractorKairosAdapter import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractorKairosImpl import com.android.systemui.statusbar.pipeline.mobile.ui.MobileUiAdapter import com.android.systemui.statusbar.pipeline.mobile.ui.MobileUiAdapterKairos import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.MobileIconsViewModel import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.MobileIconsViewModelKairos import com.android.systemui.statusbar.pipeline.mobile.util.MobileMappingsProxy Loading Loading @@ -99,6 +102,7 @@ import kotlinx.coroutines.flow.Flow MobileConnectionRepositoryKairosFactoryImpl.Module::class, MobileConnectionsRepositoryKairosAdapter.Module::class, MobileIconsInteractorKairosAdapter.Module::class, MobileUiAdapterKairos.Module::class, ] ) abstract class StatusBarPipelineModule { Loading Loading @@ -217,11 +221,19 @@ abstract class StatusBarPipelineModule { @SysUISingleton @Named(FIRST_MOBILE_SUB_SHOWING_NETWORK_TYPE_ICON) fun provideFirstMobileSubShowingNetworkTypeIconProvider( mobileIconsViewModel: MobileIconsViewModel mobileIconsViewModel: Provider<MobileIconsViewModel>, kairosViewModel: Provider<MobileIconsViewModelKairos>, kairosNetwork: KairosNetwork, ): Supplier<Flow<Boolean>> { // TODO: kairos-ify return Supplier<Flow<Boolean>> { mobileIconsViewModel.firstMobileSubShowingNetworkTypeIcon return if (Flags.statusBarMobileIconKairos()) { Supplier { kairosViewModel .get() .firstMobileSubShowingNetworkTypeIcon .toColdConflatedFlow(kairosNetwork) } } else { Supplier { mobileIconsViewModel.get().firstMobileSubShowingNetworkTypeIcon } } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/MobileUiAdapterKairos.kt +14 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.statusbar.pipeline.mobile.ui import com.android.systemui.Dumpable import com.android.systemui.Flags import com.android.systemui.KairosActivatable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dump.DumpManager Loading @@ -29,8 +30,11 @@ import com.android.systemui.shade.carrier.ShadeCarrierGroupController import com.android.systemui.statusbar.phone.ui.StatusBarIconController import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractorKairos import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.MobileIconsViewModelKairos import dagger.Provides import dagger.multibindings.ElementsIntoSet import java.io.PrintWriter import javax.inject.Inject import javax.inject.Provider /** * This class is intended to provide a context to collect on the Loading Loading @@ -92,4 +96,14 @@ constructor( pw.println("isCollecting=$isCollecting") pw.println("Last values sent to icon controller: $lastValue") } @dagger.Module object Module { @Provides @ElementsIntoSet fun kairosActivatable( impl: Provider<MobileUiAdapterKairos> ): Set<@JvmSuppressWildcards KairosActivatable> = if (Flags.statusBarMobileIconKairos()) setOf(impl.get()) else emptySet() } }