diff options
13 files changed, 34 insertions, 20 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt index df9f7053c3f3..071cf8a46b9f 100644 --- a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt +++ b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt @@ -95,9 +95,10 @@ constructor( private val broadcastDispatcher: BroadcastDispatcher, private val batteryController: BatteryController, private val keyguardUpdateMonitor: KeyguardUpdateMonitor, + // TODO b/362719719 - We should use the configuration controller associated with the display. private val configurationController: ConfigurationController, @DisplaySpecific private val resources: Resources, - private val context: Context, + @DisplaySpecific val context: Context, @Main private val mainExecutor: DelayableExecutor, @Background private val bgExecutor: Executor, private val clockBuffers: ClockMessageBuffers, diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java b/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java index add459b84ac1..1083136b570a 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java @@ -44,6 +44,7 @@ import com.android.systemui.dagger.qualifiers.UiBackground; import com.android.systemui.navigationbar.NavigationBarController; import com.android.systemui.navigationbar.views.NavigationBarView; import com.android.systemui.settings.DisplayTracker; +import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.shade.data.repository.ShadeDisplaysRepository; import com.android.systemui.shade.shared.flag.ShadeWindowGoesAround; import com.android.systemui.statusbar.policy.KeyguardStateController; @@ -103,7 +104,8 @@ public class KeyguardDisplayManager { }; @Inject - public KeyguardDisplayManager(Context context, + public KeyguardDisplayManager( + @ShadeDisplayAware Context context, Lazy<NavigationBarController> navigationBarControllerLazy, DisplayTracker displayTracker, @Main Executor mainExecutor, @@ -331,7 +333,8 @@ public class KeyguardDisplayManager { private boolean mIsInConcurrentDisplayState; @Inject - DeviceStateHelper(Context context, + DeviceStateHelper( + @ShadeDisplayAware Context context, DeviceStateManager deviceStateManager, @Main Executor mainExecutor) { diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUnfoldTransition.kt b/packages/SystemUI/src/com/android/keyguard/KeyguardUnfoldTransition.kt index 5a02486d5096..07bd813c2420 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUnfoldTransition.kt +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUnfoldTransition.kt @@ -25,6 +25,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.res.R import com.android.systemui.shared.R as sharedR import com.android.systemui.shade.NotificationShadeWindowView +import com.android.systemui.shade.ShadeDisplayAware import com.android.systemui.shared.animation.UnfoldConstantTranslateAnimator import com.android.systemui.shared.animation.UnfoldConstantTranslateAnimator.Direction.END import com.android.systemui.shared.animation.UnfoldConstantTranslateAnimator.Direction.START @@ -43,7 +44,7 @@ import javax.inject.Inject class KeyguardUnfoldTransition @Inject constructor( - private val context: Context, + @ShadeDisplayAware private val context: Context, private val keyguardRootView: KeyguardRootView, private val shadeWindowView: NotificationShadeWindowView, statusBarStateController: StatusBarStateController, diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index fd796f657e11..a703b027b691 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -152,6 +152,7 @@ import com.android.systemui.scene.domain.interactor.SceneInteractor; import com.android.systemui.scene.shared.flag.SceneContainerFlag; import com.android.systemui.scene.shared.model.Scenes; import com.android.systemui.settings.UserTracker; +import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.shared.system.TaskStackChangeListener; import com.android.systemui.shared.system.TaskStackChangeListeners; import com.android.systemui.statusbar.StatusBarState; @@ -2163,7 +2164,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @VisibleForTesting @Inject protected KeyguardUpdateMonitor( - Context context, + @ShadeDisplayAware Context context, UserTracker userTracker, @Main Looper mainLooper, BroadcastDispatcher broadcastDispatcher, diff --git a/packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java b/packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java index fc42045c02c8..0305b5e5ab63 100644 --- a/packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java +++ b/packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java @@ -30,6 +30,7 @@ import com.android.systemui.keyguard.MigrateClocksToBlueprint; import com.android.systemui.plugins.PluginManager; import com.android.systemui.plugins.clocks.ClockMessageBuffers; import com.android.systemui.res.R; +import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.shared.clocks.ClockRegistry; import com.android.systemui.shared.clocks.DefaultClockProvider; import com.android.systemui.util.ThreadAssert; @@ -47,7 +48,7 @@ public abstract class ClockRegistryModule { @Provides @SysUISingleton public static ClockRegistry getClockRegistry( - @Application Context context, + @ShadeDisplayAware Context context, PluginManager pluginManager, @Application CoroutineScope scope, @Main CoroutineDispatcher mainDispatcher, diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImplController.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImplController.java index 7ccdf0ac301a..946eccd05177 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImplController.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImplController.java @@ -25,6 +25,7 @@ import android.view.View; import com.android.systemui.plugins.FalsingManager; import com.android.systemui.qs.dagger.QSScope; import com.android.systemui.scene.shared.flag.SceneContainerFlag; +import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.util.ViewController; @@ -65,7 +66,7 @@ public class QSContainerImplController extends ViewController<QSContainerImpl> { QSContainerImpl view, QSPanelController qsPanelController, QuickStatusBarHeaderController quickStatusBarHeaderController, - ConfigurationController configurationController, + @ShadeDisplayAware ConfigurationController configurationController, FalsingManager falsingManager) { super(view); mQsPanelController = qsPanelController; diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizerController.java b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizerController.java index a222b3cbd08c..c606ce422d9a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizerController.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizerController.java @@ -43,6 +43,7 @@ import com.android.systemui.qs.QSHost; import com.android.systemui.qs.dagger.QSScope; import com.android.systemui.res.R; import com.android.systemui.scene.shared.flag.SceneContainerFlag; +import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.statusbar.phone.LightBarController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; @@ -107,7 +108,8 @@ public class QSCustomizerController extends ViewController<QSCustomizer> { protected QSCustomizerController(QSCustomizer view, TileQueryHelper tileQueryHelper, QSHost qsHost, TileAdapter tileAdapter, ScreenLifecycle screenLifecycle, KeyguardStateController keyguardStateController, LightBarController lightBarController, - ConfigurationController configurationController, UiEventLogger uiEventLogger) { + @ShadeDisplayAware ConfigurationController configurationController, + UiEventLogger uiEventLogger) { super(view); mTileQueryHelper = tileQueryHelper; mQsHost = qsHost; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/UiModeNightTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/UiModeNightTile.java index bec6581e54c9..0cee7ddfeaa0 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/UiModeNightTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/UiModeNightTile.java @@ -42,6 +42,7 @@ import com.android.systemui.qs.QsEventLogger; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.res.R; +import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.LocationController; @@ -78,7 +79,7 @@ public class UiModeNightTile extends QSTileImpl<QSTile.BooleanState> implements StatusBarStateController statusBarStateController, ActivityStarter activityStarter, QSLogger qsLogger, - ConfigurationController configurationController, + @ShadeDisplayAware ConfigurationController configurationController, BatteryController batteryController, LocationController locationController ) { diff --git a/packages/SystemUI/src/com/android/systemui/shade/display/ShadeDisplayPolicy.kt b/packages/SystemUI/src/com/android/systemui/shade/display/ShadeDisplayPolicy.kt index 275aaee83f8c..bb96b0b3ce50 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/display/ShadeDisplayPolicy.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/display/ShadeDisplayPolicy.kt @@ -31,9 +31,12 @@ interface ShadeDisplayPolicy { @Module interface ShadeDisplayPolicyModule { + + @Binds fun provideDefaultPolicy(impl: StatusBarTouchShadeDisplayPolicy): ShadeDisplayPolicy + @IntoSet @Binds - fun provideDefaultPolicyToSet(impl: DefaultShadeDisplayPolicy): ShadeDisplayPolicy + fun provideDefaultDisplayPolicyToSet(impl: DefaultDisplayShadePolicy): ShadeDisplayPolicy @IntoSet @Binds @@ -46,6 +49,4 @@ interface ShadeDisplayPolicyModule { fun provideStatusBarTouchShadeDisplayPolicy( impl: StatusBarTouchShadeDisplayPolicy ): ShadeDisplayPolicy - - @Binds fun provideDefaultPolicy(impl: DefaultShadeDisplayPolicy): ShadeDisplayPolicy } diff --git a/packages/SystemUI/src/com/android/systemui/shade/display/SpecificDisplayIdPolicy.kt b/packages/SystemUI/src/com/android/systemui/shade/display/SpecificDisplayIdPolicy.kt index 13e766409bab..d43aad70368e 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/display/SpecificDisplayIdPolicy.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/display/SpecificDisplayIdPolicy.kt @@ -22,12 +22,11 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow /** Policy to specify a display id explicitly. */ -open class SpecificDisplayIdPolicy(displayId: Int) : ShadeDisplayPolicy { - override val name: String - get() = "display_${displayId}_policy" +open class SpecificDisplayIdPolicy(id: Int) : ShadeDisplayPolicy { + override val name: String = "display_${id}_policy" - override val displayId: StateFlow<Int> = MutableStateFlow(displayId) + override val displayId: StateFlow<Int> = MutableStateFlow(id) } -class DefaultShadeDisplayPolicy @Inject constructor() : +class DefaultDisplayShadePolicy @Inject constructor() : SpecificDisplayIdPolicy(Display.DEFAULT_DISPLAY) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/InstantAppNotifier.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/InstantAppNotifier.java index 60d846ebacac..2d6ed70eb905 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/InstantAppNotifier.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/InstantAppNotifier.java @@ -55,6 +55,7 @@ import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.UiBackground; import com.android.systemui.res.R; import com.android.systemui.settings.UserTracker; +import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.NotificationChannels; @@ -84,7 +85,7 @@ public class InstantAppNotifier @Inject public InstantAppNotifier( - Context context, + @ShadeDisplayAware Context context, CommandQueue commandQueue, UserTracker userTracker, @Main Executor mainExecutor, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragController.java index 11db2fc77170..d5551b16842e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragController.java @@ -50,6 +50,7 @@ import com.android.internal.logging.InstanceId; import com.android.internal.logging.InstanceIdSequence; import com.android.systemui.res.R; import com.android.systemui.shade.ShadeController; +import com.android.systemui.shade.ShadeDisplayAware; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.notification.logging.NotificationPanelLogger; import com.android.systemui.statusbar.notification.headsup.HeadsUpManager; @@ -69,7 +70,8 @@ public class ExpandableNotificationRowDragController { private NotificationPanelLogger mNotificationPanelLogger; @Inject - public ExpandableNotificationRowDragController(Context context, + public ExpandableNotificationRowDragController( + @ShadeDisplayAware Context context, HeadsUpManager headsUpManager, ShadeController shadeController, NotificationPanelLogger notificationPanelLogger) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt index 01efd5de93ed..f8f29ff59154 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt @@ -117,7 +117,7 @@ constructor( private val interactor: SharedNotificationContainerInteractor, dumpManager: DumpManager, @Application applicationScope: CoroutineScope, - private val context: Context, + @ShadeDisplayAware private val context: Context, @ShadeDisplayAware configurationInteractor: ConfigurationInteractor, private val keyguardInteractor: KeyguardInteractor, private val keyguardTransitionInteractor: KeyguardTransitionInteractor, |