Loading packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java +0 −5 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import com.android.systemui.media.taptotransfer.MediaTttCommandLineHelper; import com.android.systemui.media.taptotransfer.receiver.MediaTttChipControllerReceiver; import com.android.systemui.media.taptotransfer.sender.MediaTttChipControllerSender; import com.android.systemui.people.PeopleProvider; import com.android.systemui.statusbar.pipeline.ConnectivityInfoProcessor; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.unfold.FoldStateLogger; import com.android.systemui.unfold.FoldStateLoggingProvider; Loading Loading @@ -131,7 +130,6 @@ public interface SysUIComponent { getMediaTttCommandLineHelper(); getMediaMuteAwaitConnectionCli(); getNearbyMediaDevicesManager(); getConnectivityInfoProcessor(); getUnfoldLatencyTracker().init(); getFoldStateLoggingProvider().ifPresent(FoldStateLoggingProvider::init); getFoldStateLogger().ifPresent(FoldStateLogger::init); Loading Loading @@ -214,9 +212,6 @@ public interface SysUIComponent { /** */ Optional<NearbyMediaDevicesManager> getNearbyMediaDevicesManager(); /** */ Optional<ConnectivityInfoProcessor> getConnectivityInfoProcessor(); /** * Returns {@link CoreStartable}s that should be started with the application. */ Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/ConnectivityInfoProcessor.kt +17 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.statusbar.pipeline import android.content.Context import com.android.systemui.CoreStartable import com.android.systemui.dagger.SysUISingleton import javax.inject.Inject Loading @@ -27,4 +29,18 @@ import javax.inject.Inject * displayed in the RHS of the status bar. */ @SysUISingleton class ConnectivityInfoProcessor @Inject constructor() class ConnectivityInfoProcessor @Inject constructor( context: Context, private val statusBarPipelineFlags: StatusBarPipelineFlags, ) : CoreStartable(context) { override fun start() { if (statusBarPipelineFlags.isNewPipelineEnabled()) { init() } } /** Initializes this processor and everything it depends on. */ private fun init() { // TODO(b/238425913): Register all the connectivity callbacks here. } } packages/SystemUI/src/com/android/systemui/statusbar/pipeline/StatusBarPipelineFlags.kt 0 → 100644 +37 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.systemui.statusbar.pipeline import com.android.systemui.dagger.SysUISingleton import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import javax.inject.Inject /** All flagging methods related to the new status bar pipeline (see b/238425913). */ @SysUISingleton class StatusBarPipelineFlags @Inject constructor(private val featureFlags: FeatureFlags) { /** * Returns true if we should run the new pipeline. * * TODO(b/238425913): We may want to split this out into: * (1) isNewPipelineLoggingEnabled(), where the new pipeline runs and logs its decisions but * doesn't change the UI at all. * (2) isNewPipelineEnabled(), where the new pipeline runs and does change the UI (and the old * pipeline doesn't change the UI). */ fun isNewPipelineEnabled(): Boolean = featureFlags.isEnabled(Flags.NEW_STATUS_BAR_PIPELINE) } packages/SystemUI/src/com/android/systemui/statusbar/pipeline/dagger/StatusBarPipelineModule.kt +10 −19 Original line number Diff line number Diff line Loading @@ -16,27 +16,18 @@ package com.android.systemui.statusbar.pipeline.dagger import com.android.systemui.dagger.SysUISingleton import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.CoreStartable import com.android.systemui.statusbar.pipeline.ConnectivityInfoProcessor import dagger.Lazy import dagger.Binds import dagger.Module import dagger.Provides import java.util.Optional import dagger.multibindings.ClassKey import dagger.multibindings.IntoMap @Module class StatusBarPipelineModule { @Provides @SysUISingleton fun provideConnectivityInfoProcessor( featureFlags: FeatureFlags, processorLazy: Lazy<ConnectivityInfoProcessor> ): Optional<ConnectivityInfoProcessor> { return if (featureFlags.isEnabled(Flags.NEW_STATUS_BAR_PIPELINE)) { Optional.of(processorLazy.get()) } else { Optional.empty() } } abstract class StatusBarPipelineModule { /** Inject into ConnectivityInfoProcessor. */ @Binds @IntoMap @ClassKey(ConnectivityInfoProcessor::class) abstract fun bindConnectivityInfoProcessor(cip: ConnectivityInfoProcessor): CoreStartable } Loading
packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java +0 −5 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import com.android.systemui.media.taptotransfer.MediaTttCommandLineHelper; import com.android.systemui.media.taptotransfer.receiver.MediaTttChipControllerReceiver; import com.android.systemui.media.taptotransfer.sender.MediaTttChipControllerSender; import com.android.systemui.people.PeopleProvider; import com.android.systemui.statusbar.pipeline.ConnectivityInfoProcessor; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.unfold.FoldStateLogger; import com.android.systemui.unfold.FoldStateLoggingProvider; Loading Loading @@ -131,7 +130,6 @@ public interface SysUIComponent { getMediaTttCommandLineHelper(); getMediaMuteAwaitConnectionCli(); getNearbyMediaDevicesManager(); getConnectivityInfoProcessor(); getUnfoldLatencyTracker().init(); getFoldStateLoggingProvider().ifPresent(FoldStateLoggingProvider::init); getFoldStateLogger().ifPresent(FoldStateLogger::init); Loading Loading @@ -214,9 +212,6 @@ public interface SysUIComponent { /** */ Optional<NearbyMediaDevicesManager> getNearbyMediaDevicesManager(); /** */ Optional<ConnectivityInfoProcessor> getConnectivityInfoProcessor(); /** * Returns {@link CoreStartable}s that should be started with the application. */ Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/ConnectivityInfoProcessor.kt +17 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.statusbar.pipeline import android.content.Context import com.android.systemui.CoreStartable import com.android.systemui.dagger.SysUISingleton import javax.inject.Inject Loading @@ -27,4 +29,18 @@ import javax.inject.Inject * displayed in the RHS of the status bar. */ @SysUISingleton class ConnectivityInfoProcessor @Inject constructor() class ConnectivityInfoProcessor @Inject constructor( context: Context, private val statusBarPipelineFlags: StatusBarPipelineFlags, ) : CoreStartable(context) { override fun start() { if (statusBarPipelineFlags.isNewPipelineEnabled()) { init() } } /** Initializes this processor and everything it depends on. */ private fun init() { // TODO(b/238425913): Register all the connectivity callbacks here. } }
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/StatusBarPipelineFlags.kt 0 → 100644 +37 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.systemui.statusbar.pipeline import com.android.systemui.dagger.SysUISingleton import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import javax.inject.Inject /** All flagging methods related to the new status bar pipeline (see b/238425913). */ @SysUISingleton class StatusBarPipelineFlags @Inject constructor(private val featureFlags: FeatureFlags) { /** * Returns true if we should run the new pipeline. * * TODO(b/238425913): We may want to split this out into: * (1) isNewPipelineLoggingEnabled(), where the new pipeline runs and logs its decisions but * doesn't change the UI at all. * (2) isNewPipelineEnabled(), where the new pipeline runs and does change the UI (and the old * pipeline doesn't change the UI). */ fun isNewPipelineEnabled(): Boolean = featureFlags.isEnabled(Flags.NEW_STATUS_BAR_PIPELINE) }
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/dagger/StatusBarPipelineModule.kt +10 −19 Original line number Diff line number Diff line Loading @@ -16,27 +16,18 @@ package com.android.systemui.statusbar.pipeline.dagger import com.android.systemui.dagger.SysUISingleton import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.CoreStartable import com.android.systemui.statusbar.pipeline.ConnectivityInfoProcessor import dagger.Lazy import dagger.Binds import dagger.Module import dagger.Provides import java.util.Optional import dagger.multibindings.ClassKey import dagger.multibindings.IntoMap @Module class StatusBarPipelineModule { @Provides @SysUISingleton fun provideConnectivityInfoProcessor( featureFlags: FeatureFlags, processorLazy: Lazy<ConnectivityInfoProcessor> ): Optional<ConnectivityInfoProcessor> { return if (featureFlags.isEnabled(Flags.NEW_STATUS_BAR_PIPELINE)) { Optional.of(processorLazy.get()) } else { Optional.empty() } } abstract class StatusBarPipelineModule { /** Inject into ConnectivityInfoProcessor. */ @Binds @IntoMap @ClassKey(ConnectivityInfoProcessor::class) abstract fun bindConnectivityInfoProcessor(cip: ConnectivityInfoProcessor): CoreStartable }