Loading packages/SystemUI/src/com/android/systemui/qs/QSHostAdapter.kt +7 −7 Original line number Diff line number Diff line Loading @@ -22,13 +22,12 @@ import androidx.annotation.GuardedBy import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dump.DumpManager import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.qs.QSTileView import com.android.systemui.qs.external.TileServiceRequestController import com.android.systemui.qs.pipeline.data.repository.TileSpecRepository.Companion.POSITION_AT_END import com.android.systemui.qs.pipeline.domain.interactor.CurrentTilesInteractor import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import com.android.systemui.qs.pipeline.shared.TileSpec import javax.inject.Inject import kotlinx.coroutines.CoroutineScope Loading @@ -37,10 +36,11 @@ import kotlinx.coroutines.launch /** * Adapter to determine what real class to use for classes that depend on [QSHost]. * * When [Flags.QS_PIPELINE_NEW_HOST] is off, all calls will be routed to [QSTileHost]. * * When [Flags.QS_PIPELINE_NEW_HOST] is on, calls regarding the current set of tiles will be * routed to [CurrentTilesInteractor]. Other calls (like [createTileView]) will still be routed to * * When [QSPipelineFlagsRepository.pipelineHostEnabled] is false, all calls will be routed to * [QSTileHost]. * * When [QSPipelineFlagsRepository.pipelineHostEnabled] is true, calls regarding the current set * of tiles will be routed to [CurrentTilesInteractor]. Other calls (like [createTileView]) will * still be routed to [QSTileHost]. * * This routing also includes dumps. */ Loading @@ -53,7 +53,7 @@ constructor( private val context: Context, private val tileServiceRequestControllerBuilder: TileServiceRequestController.Builder, @Application private val scope: CoroutineScope, private val featureFlags: FeatureFlags, flags: QSPipelineFlagsRepository, dumpManager: DumpManager, ) : QSHost { Loading @@ -61,7 +61,7 @@ constructor( private const val TAG = "QSTileHost" } private val useNewHost = featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST) private val useNewHost = flags.pipelineHostEnabled @GuardedBy("callbacksMap") private val callbacksMap = mutableMapOf<QSHost.Callback, Job>() Loading packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java +5 −6 Original line number Diff line number Diff line Loading @@ -35,8 +35,6 @@ import com.android.systemui.R; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dump.nano.SystemUIProtoDump; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.plugins.PluginListener; import com.android.systemui.plugins.PluginManager; import com.android.systemui.plugins.qs.QSFactory; Loading @@ -50,6 +48,7 @@ import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.nano.QsTileState; import com.android.systemui.qs.pipeline.data.repository.CustomTileAddedRepository; import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor; import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository; import com.android.systemui.settings.UserFileManager; import com.android.systemui.settings.UserTracker; import com.android.systemui.shade.ShadeController; Loading Loading @@ -119,7 +118,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P private TileLifecycleManager.Factory mTileLifeCycleManagerFactory; private final FeatureFlags mFeatureFlags; private final QSPipelineFlagsRepository mFeatureFlags; @Inject public QSTileHost(Context context, Loading @@ -135,7 +134,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P CustomTileStatePersister customTileStatePersister, TileLifecycleManager.Factory tileLifecycleManagerFactory, UserFileManager userFileManager, FeatureFlags featureFlags QSPipelineFlagsRepository featureFlags ) { mContext = context; mUserContext = context; Loading @@ -162,7 +161,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P // finishes before creating any tiles. tunerService.addTunable(this, TILES_SETTING); // AutoTileManager can modify mTiles so make sure mTiles has already been initialized. if (!mFeatureFlags.isEnabled(Flags.QS_PIPELINE_AUTO_ADD)) { if (!mFeatureFlags.getPipelineAutoAddEnabled()) { mAutoTiles = autoTiles.get(); } }); Loading Loading @@ -283,7 +282,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P } } // Do not process tiles if the flag is enabled. if (mFeatureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST)) { if (mFeatureFlags.getPipelineHostEnabled()) { return; } if (newValue == null && UserManager.isDeviceInDemoMode(mContext)) { Loading packages/SystemUI/src/com/android/systemui/qs/dagger/QSHostModule.kt +5 −6 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.systemui.qs.dagger import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.qs.QSHost import com.android.systemui.qs.QSHostAdapter import com.android.systemui.qs.QSTileHost Loading @@ -27,6 +25,7 @@ import com.android.systemui.qs.pipeline.data.repository.CustomTileAddedRepositor import com.android.systemui.qs.pipeline.data.repository.CustomTileAddedSharedPrefsRepository import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractorImpl import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import dagger.Binds import dagger.Module import dagger.Provides Loading @@ -45,11 +44,11 @@ interface QSHostModule { @Provides @JvmStatic fun providePanelInteractor( featureFlags: FeatureFlags, featureFlags: QSPipelineFlagsRepository, qsHost: QSTileHost, panelInteractorImpl: PanelInteractorImpl ): PanelInteractor { return if (featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST)) { return if (featureFlags.pipelineHostEnabled) { panelInteractorImpl } else { qsHost Loading @@ -59,11 +58,11 @@ interface QSHostModule { @Provides @JvmStatic fun provideCustomTileAddedRepository( featureFlags: FeatureFlags, featureFlags: QSPipelineFlagsRepository, qsHost: QSTileHost, customTileAddedRepository: CustomTileAddedSharedPrefsRepository ): CustomTileAddedRepository { return if (featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST)) { return if (featureFlags.pipelineHostEnabled) { customTileAddedRepository } else { qsHost Loading packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt +3 −4 Original line number Diff line number Diff line Loading @@ -27,8 +27,6 @@ import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.nano.SystemUIProtoDump import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.plugins.qs.QSFactory import com.android.systemui.plugins.qs.QSTile import com.android.systemui.qs.external.CustomTile Loading @@ -39,6 +37,7 @@ import com.android.systemui.qs.pipeline.data.repository.CustomTileAddedRepositor import com.android.systemui.qs.pipeline.data.repository.InstalledTilesComponentRepository import com.android.systemui.qs.pipeline.data.repository.TileSpecRepository import com.android.systemui.qs.pipeline.domain.model.TileModel import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.pipeline.shared.logging.QSPipelineLogger import com.android.systemui.qs.toProto Loading Loading @@ -139,7 +138,7 @@ constructor( @Background private val backgroundDispatcher: CoroutineDispatcher, @Application private val scope: CoroutineScope, private val logger: QSPipelineLogger, featureFlags: FeatureFlags, featureFlags: QSPipelineFlagsRepository, ) : CurrentTilesInteractor { private val _currentSpecsAndTiles: MutableStateFlow<List<TileModel>> = Loading Loading @@ -171,7 +170,7 @@ constructor( } init { if (featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST)) { if (featureFlags.pipelineHostEnabled) { startTileCollection() } } Loading packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/startable/QSPipelineCoreStartable.kt +3 −7 Original line number Diff line number Diff line Loading @@ -18,10 +18,9 @@ package com.android.systemui.qs.pipeline.domain.startable import com.android.systemui.CoreStartable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.qs.pipeline.domain.interactor.AutoAddInteractor import com.android.systemui.qs.pipeline.domain.interactor.CurrentTilesInteractor import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import javax.inject.Inject @SysUISingleton Loading @@ -30,14 +29,11 @@ class QSPipelineCoreStartable constructor( private val currentTilesInteractor: CurrentTilesInteractor, private val autoAddInteractor: AutoAddInteractor, private val featureFlags: FeatureFlags, private val featureFlags: QSPipelineFlagsRepository, ) : CoreStartable { override fun start() { if ( featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST) && featureFlags.isEnabled(Flags.QS_PIPELINE_AUTO_ADD) ) { if (featureFlags.pipelineAutoAddEnabled) { autoAddInteractor.init(currentTilesInteractor) } } Loading Loading
packages/SystemUI/src/com/android/systemui/qs/QSHostAdapter.kt +7 −7 Original line number Diff line number Diff line Loading @@ -22,13 +22,12 @@ import androidx.annotation.GuardedBy import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dump.DumpManager import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.qs.QSTileView import com.android.systemui.qs.external.TileServiceRequestController import com.android.systemui.qs.pipeline.data.repository.TileSpecRepository.Companion.POSITION_AT_END import com.android.systemui.qs.pipeline.domain.interactor.CurrentTilesInteractor import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import com.android.systemui.qs.pipeline.shared.TileSpec import javax.inject.Inject import kotlinx.coroutines.CoroutineScope Loading @@ -37,10 +36,11 @@ import kotlinx.coroutines.launch /** * Adapter to determine what real class to use for classes that depend on [QSHost]. * * When [Flags.QS_PIPELINE_NEW_HOST] is off, all calls will be routed to [QSTileHost]. * * When [Flags.QS_PIPELINE_NEW_HOST] is on, calls regarding the current set of tiles will be * routed to [CurrentTilesInteractor]. Other calls (like [createTileView]) will still be routed to * * When [QSPipelineFlagsRepository.pipelineHostEnabled] is false, all calls will be routed to * [QSTileHost]. * * When [QSPipelineFlagsRepository.pipelineHostEnabled] is true, calls regarding the current set * of tiles will be routed to [CurrentTilesInteractor]. Other calls (like [createTileView]) will * still be routed to [QSTileHost]. * * This routing also includes dumps. */ Loading @@ -53,7 +53,7 @@ constructor( private val context: Context, private val tileServiceRequestControllerBuilder: TileServiceRequestController.Builder, @Application private val scope: CoroutineScope, private val featureFlags: FeatureFlags, flags: QSPipelineFlagsRepository, dumpManager: DumpManager, ) : QSHost { Loading @@ -61,7 +61,7 @@ constructor( private const val TAG = "QSTileHost" } private val useNewHost = featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST) private val useNewHost = flags.pipelineHostEnabled @GuardedBy("callbacksMap") private val callbacksMap = mutableMapOf<QSHost.Callback, Job>() Loading
packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java +5 −6 Original line number Diff line number Diff line Loading @@ -35,8 +35,6 @@ import com.android.systemui.R; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dump.nano.SystemUIProtoDump; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.plugins.PluginListener; import com.android.systemui.plugins.PluginManager; import com.android.systemui.plugins.qs.QSFactory; Loading @@ -50,6 +48,7 @@ import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.nano.QsTileState; import com.android.systemui.qs.pipeline.data.repository.CustomTileAddedRepository; import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor; import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository; import com.android.systemui.settings.UserFileManager; import com.android.systemui.settings.UserTracker; import com.android.systemui.shade.ShadeController; Loading Loading @@ -119,7 +118,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P private TileLifecycleManager.Factory mTileLifeCycleManagerFactory; private final FeatureFlags mFeatureFlags; private final QSPipelineFlagsRepository mFeatureFlags; @Inject public QSTileHost(Context context, Loading @@ -135,7 +134,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P CustomTileStatePersister customTileStatePersister, TileLifecycleManager.Factory tileLifecycleManagerFactory, UserFileManager userFileManager, FeatureFlags featureFlags QSPipelineFlagsRepository featureFlags ) { mContext = context; mUserContext = context; Loading @@ -162,7 +161,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P // finishes before creating any tiles. tunerService.addTunable(this, TILES_SETTING); // AutoTileManager can modify mTiles so make sure mTiles has already been initialized. if (!mFeatureFlags.isEnabled(Flags.QS_PIPELINE_AUTO_ADD)) { if (!mFeatureFlags.getPipelineAutoAddEnabled()) { mAutoTiles = autoTiles.get(); } }); Loading Loading @@ -283,7 +282,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, P } } // Do not process tiles if the flag is enabled. if (mFeatureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST)) { if (mFeatureFlags.getPipelineHostEnabled()) { return; } if (newValue == null && UserManager.isDeviceInDemoMode(mContext)) { Loading
packages/SystemUI/src/com/android/systemui/qs/dagger/QSHostModule.kt +5 −6 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.systemui.qs.dagger import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.qs.QSHost import com.android.systemui.qs.QSHostAdapter import com.android.systemui.qs.QSTileHost Loading @@ -27,6 +25,7 @@ import com.android.systemui.qs.pipeline.data.repository.CustomTileAddedRepositor import com.android.systemui.qs.pipeline.data.repository.CustomTileAddedSharedPrefsRepository import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractorImpl import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import dagger.Binds import dagger.Module import dagger.Provides Loading @@ -45,11 +44,11 @@ interface QSHostModule { @Provides @JvmStatic fun providePanelInteractor( featureFlags: FeatureFlags, featureFlags: QSPipelineFlagsRepository, qsHost: QSTileHost, panelInteractorImpl: PanelInteractorImpl ): PanelInteractor { return if (featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST)) { return if (featureFlags.pipelineHostEnabled) { panelInteractorImpl } else { qsHost Loading @@ -59,11 +58,11 @@ interface QSHostModule { @Provides @JvmStatic fun provideCustomTileAddedRepository( featureFlags: FeatureFlags, featureFlags: QSPipelineFlagsRepository, qsHost: QSTileHost, customTileAddedRepository: CustomTileAddedSharedPrefsRepository ): CustomTileAddedRepository { return if (featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST)) { return if (featureFlags.pipelineHostEnabled) { customTileAddedRepository } else { qsHost Loading
packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt +3 −4 Original line number Diff line number Diff line Loading @@ -27,8 +27,6 @@ import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.nano.SystemUIProtoDump import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.plugins.qs.QSFactory import com.android.systemui.plugins.qs.QSTile import com.android.systemui.qs.external.CustomTile Loading @@ -39,6 +37,7 @@ import com.android.systemui.qs.pipeline.data.repository.CustomTileAddedRepositor import com.android.systemui.qs.pipeline.data.repository.InstalledTilesComponentRepository import com.android.systemui.qs.pipeline.data.repository.TileSpecRepository import com.android.systemui.qs.pipeline.domain.model.TileModel import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.pipeline.shared.logging.QSPipelineLogger import com.android.systemui.qs.toProto Loading Loading @@ -139,7 +138,7 @@ constructor( @Background private val backgroundDispatcher: CoroutineDispatcher, @Application private val scope: CoroutineScope, private val logger: QSPipelineLogger, featureFlags: FeatureFlags, featureFlags: QSPipelineFlagsRepository, ) : CurrentTilesInteractor { private val _currentSpecsAndTiles: MutableStateFlow<List<TileModel>> = Loading Loading @@ -171,7 +170,7 @@ constructor( } init { if (featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST)) { if (featureFlags.pipelineHostEnabled) { startTileCollection() } } Loading
packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/startable/QSPipelineCoreStartable.kt +3 −7 Original line number Diff line number Diff line Loading @@ -18,10 +18,9 @@ package com.android.systemui.qs.pipeline.domain.startable import com.android.systemui.CoreStartable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.qs.pipeline.domain.interactor.AutoAddInteractor import com.android.systemui.qs.pipeline.domain.interactor.CurrentTilesInteractor import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository import javax.inject.Inject @SysUISingleton Loading @@ -30,14 +29,11 @@ class QSPipelineCoreStartable constructor( private val currentTilesInteractor: CurrentTilesInteractor, private val autoAddInteractor: AutoAddInteractor, private val featureFlags: FeatureFlags, private val featureFlags: QSPipelineFlagsRepository, ) : CoreStartable { override fun start() { if ( featureFlags.isEnabled(Flags.QS_PIPELINE_NEW_HOST) && featureFlags.isEnabled(Flags.QS_PIPELINE_AUTO_ADD) ) { if (featureFlags.pipelineAutoAddEnabled) { autoAddInteractor.init(currentTilesInteractor) } } Loading