Merge changes from topic "cd_use_main" into main
* changes:
Annotate remaining shade and notification classes
Annotate resources in biometrics package
Replace GlobalConfig with Main for ShadeDisplayAwareDetector
Provide @Main decorated context for the default display
Replace @GlobalConfig with @Main
diff --git a/packages/SystemUI/checks/src/com/android/internal/systemui/lint/ShadeDisplayAwareDetector.kt b/packages/SystemUI/checks/src/com/android/internal/systemui/lint/ShadeDisplayAwareDetector.kt
index 92b6fd4..2a27a30 100644
--- a/packages/SystemUI/checks/src/com/android/internal/systemui/lint/ShadeDisplayAwareDetector.kt
+++ b/packages/SystemUI/checks/src/com/android/internal/systemui/lint/ShadeDisplayAwareDetector.kt
@@ -59,9 +59,9 @@
private const val INJECT_ANNOTATION = "javax.inject.Inject"
private const val APPLICATION_ANNOTATION =
"com.android.systemui.dagger.qualifiers.Application"
- private const val GLOBAL_CONFIG_ANNOTATION = "com.android.systemui.common.ui.GlobalConfig"
private const val SHADE_DISPLAY_AWARE_ANNOTATION =
"com.android.systemui.shade.ShadeDisplayAware"
+ private const val MAIN_ANNOTATION = "com.android.systemui.dagger.qualifiers.Main"
private const val CONTEXT = "android.content.Context"
private const val WINDOW_MANAGER = "android.view.WindowManager"
@@ -108,13 +108,10 @@
// check if the parameter is a context-dependent class relevant to shade
if (className !in CONTEXT_DEPENDENT_SHADE_CLASSES) return false
- // check if it has @ShadeDisplayAware
- if (hasAnnotation(SHADE_DISPLAY_AWARE_ANNOTATION)) return false
+ if (hasAnnotation(SHADE_DISPLAY_AWARE_ANNOTATION) || hasAnnotation(MAIN_ANNOTATION))
+ return false
// check if its a @Application-annotated Context
if (className == CONTEXT && hasAnnotation(APPLICATION_ANNOTATION)) return false
- // check if its a @GlobalConfig-annotated ConfigurationState, ConfigurationController
- // or ConfigurationInteractor
- if (className in CONFIG_CLASSES && hasAnnotation(GLOBAL_CONFIG_ANNOTATION)) return false
return true
}
diff --git a/packages/SystemUI/checks/tests/com/android/internal/systemui/lint/ShadeDisplayAwareDetectorTest.kt b/packages/SystemUI/checks/tests/com/android/internal/systemui/lint/ShadeDisplayAwareDetectorTest.kt
index 79f1907..638d7cb7 100644
--- a/packages/SystemUI/checks/tests/com/android/internal/systemui/lint/ShadeDisplayAwareDetectorTest.kt
+++ b/packages/SystemUI/checks/tests/com/android/internal/systemui/lint/ShadeDisplayAwareDetectorTest.kt
@@ -73,12 +73,12 @@
)
.indented()
- private val globalConfigStub: TestFile =
+ private val mainStub: TestFile =
kotlin(
"""
- package com.android.systemui.common.ui
+ package com.android.systemui.dagger.qualifiers
- @Retention(AnnotationRetention.RUNTIME) annotation class GlobalConfig
+ @Retention(AnnotationRetention.RUNTIME) annotation class Main
"""
)
.indented()
@@ -119,7 +119,7 @@
qsContext,
shadeDisplayAwareStub,
applicationStub,
- globalConfigStub,
+ mainStub,
configStateStub,
configControllerStub,
configInteractorStub,
@@ -308,7 +308,7 @@
}
@Test
- fun injectedConstructor_inRelevantPackage_withGlobalConfigAnnotatedConfigurationClass() {
+ fun injectedConstructor_inRelevantPackage_withMainAnnotatedConfigurationClass() {
lint()
.files(
TestFiles.kotlin(
@@ -317,11 +317,11 @@
import javax.inject.Inject
import com.android.systemui.common.ui.ConfigurationState
- import com.android.systemui.common.ui.GlobalConfig
+ import com.android.systemui.dagger.qualifiers.Main
class ExampleClass
@Inject
- constructor(@GlobalConfig private val configState: ConfigurationState)
+ constructor(@Main private val configState: ConfigurationState)
"""
.trimIndent()
),
diff --git a/packages/SystemUI/lint-baseline.xml b/packages/SystemUI/lint-baseline.xml
index 09abc37..523adc6 100644
--- a/packages/SystemUI/lint-baseline.xml
+++ b/packages/SystemUI/lint-baseline.xml
@@ -33959,5 +33959,6 @@
file="frameworks/base/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractor.kt"
line="53"
column="5"/>
+ </issue>
</issues>
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
index 316849d..d0cb507 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
@@ -714,12 +714,12 @@
onDialogDismissed(reason);
}
@Inject
- public AuthController(Context context,
+ public AuthController(@Main Context context,
@Application CoroutineScope applicationCoroutineScope,
Execution execution,
CommandQueue commandQueue,
ActivityTaskManager activityTaskManager,
- @NonNull WindowManager windowManager,
+ @NonNull @Main WindowManager windowManager,
@Nullable FingerprintManager fingerprintManager,
@Nullable FaceManager faceManager,
Optional<AuthContextPlugins> contextPlugins,
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt
index f6cc724..22d2aaf 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt
@@ -36,6 +36,7 @@
import com.android.systemui.biometrics.data.repository.FacePropertyRepository
import com.android.systemui.biometrics.shared.model.UdfpsOverlayParams
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.deviceentry.domain.interactor.AuthRippleInteractor
import com.android.systemui.keyguard.WakefulnessLifecycle
import com.android.systemui.keyguard.shared.model.BiometricUnlockSource
@@ -69,9 +70,9 @@
class AuthRippleController
@Inject
constructor(
- private val sysuiContext: Context,
+ @Main private val sysuiContext: Context,
private val authController: AuthController,
- private val configurationController: ConfigurationController,
+ @Main private val configurationController: ConfigurationController,
private val keyguardUpdateMonitor: KeyguardUpdateMonitor,
private val keyguardStateController: KeyguardStateController,
private val wakefulnessLifecycle: WakefulnessLifecycle,
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationBroadcastReceiver.java b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationBroadcastReceiver.java
index 027f674..8376850 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationBroadcastReceiver.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationBroadcastReceiver.java
@@ -22,6 +22,7 @@
import android.hardware.biometrics.BiometricSourceType;
import com.android.systemui.dagger.SysUISingleton;
+import com.android.systemui.dagger.qualifiers.Main;
import javax.inject.Inject;
@@ -43,7 +44,7 @@
private final BiometricNotificationDialogFactory mNotificationDialogFactory;
@Inject
BiometricNotificationBroadcastReceiver(
- Context context,
+ @Main Context context,
BiometricNotificationDialogFactory notificationDialogFactory) {
mContext = context;
mNotificationDialogFactory = notificationDialogFactory;
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationService.java b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationService.java
index 3b49ce2..e5c2267 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationService.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricNotificationService.java
@@ -45,6 +45,7 @@
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.CoreStartable;
import com.android.systemui.dagger.SysUISingleton;
+import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.res.R;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -145,7 +146,7 @@
};
@Inject
- public BiometricNotificationService(@NonNull Context context,
+ public BiometricNotificationService(@NonNull @Main Context context,
@NonNull KeyguardUpdateMonitor keyguardUpdateMonitor,
@NonNull KeyguardStateController keyguardStateController,
@NonNull Handler handler, @NonNull NotificationManager notificationManager,
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/FingerprintPropertyInteractor.kt b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/FingerprintPropertyInteractor.kt
index 178e111..d9ed9ca 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/FingerprintPropertyInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/FingerprintPropertyInteractor.kt
@@ -24,7 +24,7 @@
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
-import com.android.systemui.shade.ShadeDisplayAware
+import com.android.systemui.dagger.qualifiers.Main
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.Flow
@@ -43,7 +43,7 @@
@Application private val applicationScope: CoroutineScope,
@Application private val context: Context,
repository: FingerprintPropertyRepository,
- @ShadeDisplayAware configurationInteractor: ConfigurationInteractor,
+ @Main configurationInteractor: ConfigurationInteractor,
displayStateInteractor: DisplayStateInteractor,
udfpsOverlayInteractor: UdfpsOverlayInteractor,
) {
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractor.kt b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractor.kt
index c3dc2d4..52e8557 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractor.kt
@@ -26,6 +26,7 @@
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
import com.android.systemui.biometrics.shared.model.isDefaultOrientation
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.keyguard.data.repository.BiometricSettingsRepository
import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor
import com.android.systemui.keyguard.shared.model.KeyguardState
@@ -48,9 +49,9 @@
class SideFpsSensorInteractor
@Inject
constructor(
- private val context: Context,
+ @Main private val context: Context,
fingerprintPropertyRepository: FingerprintPropertyRepository,
- windowManager: WindowManager,
+ @Main windowManager: WindowManager,
displayStateInteractor: DisplayStateInteractor,
fingerprintInteractiveToAuthProvider: Optional<FingerprintInteractiveToAuthProvider>,
biometricSettingsRepository: BiometricSettingsRepository,
diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/data/repository/EmergencyServicesRepository.kt b/packages/SystemUI/src/com/android/systemui/bouncer/data/repository/EmergencyServicesRepository.kt
index a42ae03..cdd1b3c 100644
--- a/packages/SystemUI/src/com/android/systemui/bouncer/data/repository/EmergencyServicesRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/bouncer/data/repository/EmergencyServicesRepository.kt
@@ -18,7 +18,6 @@
import android.content.res.Resources
import com.android.internal.R
-import com.android.systemui.common.ui.GlobalConfig
import com.android.systemui.common.ui.data.repository.ConfigurationRepository
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
@@ -37,7 +36,7 @@
constructor(
@Application private val applicationScope: CoroutineScope,
@Main private val resources: Resources,
- @GlobalConfig configurationRepository: ConfigurationRepository,
+ @Main configurationRepository: ConfigurationRepository,
) {
/**
* Whether to enable emergency services calls while the SIM card is locked. This is disabled in
@@ -49,7 +48,7 @@
.stateIn(
scope = applicationScope,
started = SharingStarted.Eagerly,
- initialValue = getEnableEmergencyCallWhileSimLocked()
+ initialValue = getEnableEmergencyCallWhileSimLocked(),
)
private fun getEnableEmergencyCallWhileSimLocked(): Boolean {
diff --git a/packages/SystemUI/src/com/android/systemui/common/ui/ConfigurationModule.kt b/packages/SystemUI/src/com/android/systemui/common/ui/ConfigurationModule.kt
index 7f50e4a..ad504d5 100644
--- a/packages/SystemUI/src/com/android/systemui/common/ui/ConfigurationModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/common/ui/ConfigurationModule.kt
@@ -21,21 +21,11 @@
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractorImpl
import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.dagger.qualifiers.Application
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.statusbar.policy.ConfigurationController
import dagger.Binds
import dagger.Module
import dagger.Provides
-import javax.inject.Qualifier
-
-/**
- * Annotates elements that provide information from the global configuration.
- *
- * The global configuration is the one associated with the main display. Secondary displays will
- * apply override to the global configuration. Elements annotated with this shouldn't be used for
- * secondary displays.
- */
-@Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class GlobalConfig
@Module
interface ConfigurationModule {
@@ -45,32 +35,32 @@
* now, without annotation the global config associated state is provided.
*/
@Binds
- @Deprecated("Use the @GlobalConfig annotated one instead of this.")
+ @Deprecated("Use the @Main annotated one instead of this.")
fun provideGlobalConfigurationState(
- @GlobalConfig configurationState: ConfigurationState
+ @Main configurationState: ConfigurationState
): ConfigurationState
@Binds
- @Deprecated("Use the @GlobalConfig annotated one instead of this.")
+ @Deprecated("Use the @Main annotated one instead of this.")
fun provideDefaultConfigurationState(
- @GlobalConfig configurationState: ConfigurationInteractor
+ @Main configurationState: ConfigurationInteractor
): ConfigurationInteractor
companion object {
@SysUISingleton
@Provides
- @GlobalConfig
+ @Main
fun provideGlobalConfigurationState(
configStateFactory: ConfigurationStateImpl.Factory,
configurationController: ConfigurationController,
- @Application context: Context,
+ @Main context: Context,
): ConfigurationState {
return configStateFactory.create(context, configurationController)
}
@SysUISingleton
@Provides
- @GlobalConfig
+ @Main
fun provideGlobalConfigurationInteractor(
configurationRepository: ConfigurationRepository
): ConfigurationInteractor {
diff --git a/packages/SystemUI/src/com/android/systemui/common/ui/data/repository/ConfigurationRepository.kt b/packages/SystemUI/src/com/android/systemui/common/ui/data/repository/ConfigurationRepository.kt
index df89152..4d804d0 100644
--- a/packages/SystemUI/src/com/android/systemui/common/ui/data/repository/ConfigurationRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/common/ui/data/repository/ConfigurationRepository.kt
@@ -23,9 +23,9 @@
import androidx.annotation.DimenRes
import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging
import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow
-import com.android.systemui.common.ui.GlobalConfig
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.wrapper.DisplayUtilsWrapper
import dagger.Binds
@@ -162,19 +162,19 @@
* injected.
*/
@Binds
- @Deprecated("Use the ConfigurationRepository annotated with @GlobalConfig instead.")
+ @Deprecated("Use the ConfigurationRepository annotated with @Main instead.")
@SysUISingleton
abstract fun provideDefaultConfigRepository(
- @GlobalConfig configurationRepository: ConfigurationRepository
+ @Main configurationRepository: ConfigurationRepository
): ConfigurationRepository
companion object {
@Provides
- @GlobalConfig
+ @Main
@SysUISingleton
fun provideGlobalConfigRepository(
context: Context,
- @GlobalConfig configurationController: ConfigurationController,
+ @Main configurationController: ConfigurationController,
factory: ConfigurationRepositoryImpl.Factory,
): ConfigurationRepository {
return factory.create(context, configurationController)
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java b/packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java
index 78a8a42..9ae106c 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java
@@ -708,6 +708,14 @@
return context.getSystemService(WindowManager.class);
}
+ /** A window manager working for the default display only. */
+ @Provides
+ @Singleton
+ @Main
+ static WindowManager provideMainWindowManager(WindowManager windowManager) {
+ return windowManager;
+ }
+
@Provides
@Singleton
static ViewCaptureAwareWindowManager provideViewCaptureAwareWindowManager(
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/GlobalModule.java b/packages/SystemUI/src/com/android/systemui/dagger/GlobalModule.java
index 3072f74..ddc88a8 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/GlobalModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/GlobalModule.java
@@ -21,6 +21,7 @@
import android.view.Display;
import com.android.systemui.dagger.qualifiers.Application;
+import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.PluginsModule;
import com.android.systemui.unfold.UnfoldTransitionModule;
import com.android.systemui.util.concurrency.GlobalConcurrencyModule;
@@ -62,6 +63,13 @@
return context.getApplicationContext();
}
+ /** Provides the default content with the main annotation. */
+ @Provides
+ @Main
+ public Context provideMainContext(Context context) {
+ return context;
+ }
+
/**
* @deprecated Deprecdated because {@link Display#getMetrics} is deprecated.
*/
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java b/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java
index 580896c..00eead6 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java
@@ -21,7 +21,7 @@
import com.android.systemui.Dependency;
import com.android.systemui.InitController;
import com.android.systemui.SystemUIAppComponentFactoryBase;
-import com.android.systemui.common.ui.GlobalConfig;
+import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.PerUser;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.keyguard.KeyguardSliceProvider;
@@ -128,14 +128,14 @@
* Creates a ConfigurationController.
*/
@SysUISingleton
- @GlobalConfig
+ @Main
ConfigurationController getConfigurationController();
/**
* Creates a ConfigurationForwarder.
*/
@SysUISingleton
- @GlobalConfig
+ @Main
ConfigurationForwarder getConfigurationForwarder();
/**
diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/docking/ui/viewmodel/KeyboardDockingIndicationViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyboard/docking/ui/viewmodel/KeyboardDockingIndicationViewModel.kt
index 84a423e..c3e6f0c 100644
--- a/packages/SystemUI/src/com/android/systemui/keyboard/docking/ui/viewmodel/KeyboardDockingIndicationViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyboard/docking/ui/viewmodel/KeyboardDockingIndicationViewModel.kt
@@ -21,11 +21,10 @@
import android.view.WindowManager
import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.settingslib.Utils
-import com.android.systemui.common.ui.GlobalConfig
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
import com.android.systemui.dagger.SysUISingleton
-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.keyboard.docking.domain.interactor.KeyboardDockingIndicationInteractor
import com.android.systemui.surfaceeffects.glowboxeffect.GlowBoxConfig
import javax.inject.Inject
@@ -37,10 +36,10 @@
class KeyboardDockingIndicationViewModel
@Inject
constructor(
- private val windowManager: WindowManager,
- @Application private val context: Context,
+ @Main private val windowManager: WindowManager,
+ @Main private val context: Context,
keyboardDockingIndicationInteractor: KeyboardDockingIndicationInteractor,
- @GlobalConfig configurationInteractor: ConfigurationInteractor,
+ @Main configurationInteractor: ConfigurationInteractor,
@Background private val backgroundScope: CoroutineScope,
) {
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeDisplayAwareModule.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeDisplayAwareModule.kt
index 0954e5e..d31868c 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/ShadeDisplayAwareModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeDisplayAwareModule.kt
@@ -26,12 +26,12 @@
import com.android.systemui.CoreStartable
import com.android.systemui.common.ui.ConfigurationState
import com.android.systemui.common.ui.ConfigurationStateImpl
-import com.android.systemui.common.ui.GlobalConfig
import com.android.systemui.common.ui.data.repository.ConfigurationRepository
import com.android.systemui.common.ui.data.repository.ConfigurationRepositoryImpl
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractorImpl
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.res.R
import com.android.systemui.scene.ui.view.WindowRootView
import com.android.systemui.shade.data.repository.MutableShadeDisplaysRepository
@@ -134,7 +134,7 @@
fun provideShadeWindowConfigurationController(
@ShadeDisplayAware shadeContext: Context,
factory: ConfigurationControllerImpl.Factory,
- @GlobalConfig globalConfigController: ConfigurationController,
+ @Main globalConfigController: ConfigurationController,
): ConfigurationController {
return if (ShadeWindowGoesAround.isEnabled) {
factory.create(shadeContext)
@@ -160,7 +160,7 @@
factory: ConfigurationStateImpl.Factory,
@ShadeDisplayAware configurationController: ConfigurationController,
@ShadeDisplayAware context: Context,
- @GlobalConfig configurationState: ConfigurationState,
+ @Main configurationState: ConfigurationState,
): ConfigurationState {
return if (ShadeWindowGoesAround.isEnabled) {
factory.create(context, configurationController)
@@ -176,7 +176,7 @@
factory: ConfigurationRepositoryImpl.Factory,
@ShadeDisplayAware configurationController: ConfigurationController,
@ShadeDisplayAware context: Context,
- @GlobalConfig globalConfigurationRepository: ConfigurationRepository,
+ @Main globalConfigurationRepository: ConfigurationRepository,
): ConfigurationRepository {
return if (ShadeWindowGoesAround.isEnabled) {
factory.create(context, configurationController)
@@ -190,7 +190,7 @@
@ShadeDisplayAware
fun provideShadeAwareConfigurationInteractor(
@ShadeDisplayAware configurationRepository: ConfigurationRepository,
- @GlobalConfig configurationInteractor: ConfigurationInteractor,
+ @Main configurationInteractor: ConfigurationInteractor,
): ConfigurationInteractor {
return if (ShadeWindowGoesAround.isEnabled) {
ConfigurationInteractorImpl(configurationRepository)
diff --git a/packages/SystemUI/src/com/android/systemui/shade/StatusBarLongPressGestureDetector.kt b/packages/SystemUI/src/com/android/systemui/shade/StatusBarLongPressGestureDetector.kt
index ae36e81..29c7aa0 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/StatusBarLongPressGestureDetector.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/StatusBarLongPressGestureDetector.kt
@@ -21,13 +21,18 @@
import android.view.GestureDetector.SimpleOnGestureListener
import android.view.MotionEvent
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Main
import javax.inject.Inject
/** Accepts touch events, detects long press, and calls ShadeViewController#onStatusBarLongPress. */
@SysUISingleton
class StatusBarLongPressGestureDetector
@Inject
-constructor(context: Context, val shadeViewController: ShadeViewController) {
+constructor(
+ // TODO b/383125226 - Make this class per-display
+ @Main context: Context,
+ val shadeViewController: ShadeViewController,
+) {
val gestureDetector =
GestureDetector(
context,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarConfigurationControllerStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarConfigurationControllerStore.kt
index 280d66b..6cf2c73 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarConfigurationControllerStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarConfigurationControllerStore.kt
@@ -18,9 +18,9 @@
import android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR
import com.android.systemui.CoreStartable
-import com.android.systemui.common.ui.GlobalConfig
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Background
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.display.data.repository.DisplayRepository
import com.android.systemui.display.data.repository.DisplayWindowPropertiesRepository
import com.android.systemui.display.data.repository.PerDisplayStore
@@ -74,7 +74,7 @@
@SysUISingleton
class SingleDisplayStatusBarConfigurationControllerStore
@Inject
-constructor(@GlobalConfig globalConfigurationController: ConfigurationController) :
+constructor(@Main globalConfigurationController: ConfigurationController) :
StatusBarConfigurationControllerStore,
PerDisplayStore<StatusBarConfigurationController> by SingleDisplayStore(
globalConfigurationController as StatusBarConfigurationController
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerImpl.java
index 0b188afa..d0c02f7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerImpl.java
@@ -183,7 +183,7 @@
@Inject
public HeadsUpManagerImpl(
- @NonNull final Context context,
+ @NonNull @ShadeDisplayAware final Context context,
HeadsUpManagerLogger logger,
StatusBarStateController statusBarStateController,
KeyguardBypassController bypassController,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/IconBuilder.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/IconBuilder.kt
index 0f19d72..9dc3ed2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/IconBuilder.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/IconBuilder.kt
@@ -18,13 +18,14 @@
import android.app.Notification
import android.content.Context
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.statusbar.StatusBarIconView
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.contentDescForNotification
import javax.inject.Inject
/** Testable wrapper around Context. */
-class IconBuilder @Inject constructor(private val context: Context) {
+class IconBuilder @Inject constructor(@Main private val context: Context) {
@JvmOverloads
fun createIconView(
entry: NotificationEntry,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogController.kt
index a8d59d8..6bfc9f0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogController.kt
@@ -40,6 +40,7 @@
import com.android.internal.annotations.VisibleForTesting
import com.android.systemui.res.R
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.shade.ShadeDisplayAware
import javax.inject.Inject
private const val TAG = "ChannelDialogController"
@@ -58,11 +59,10 @@
*/
@SysUISingleton
class ChannelEditorDialogController @Inject constructor(
- c: Context,
+ @ShadeDisplayAware private val context: Context,
private val noMan: INotificationManager,
private val dialogBuilder: ChannelEditorDialog.Builder
) {
- val context: Context = c.applicationContext
private var prepared = false
private lateinit var dialog: ChannelEditorDialog
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerStartable.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerStartable.kt
index 8f4279e..a324e6d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerStartable.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ConfigurationControllerStartable.kt
@@ -17,8 +17,8 @@
package com.android.systemui.statusbar.phone
import com.android.systemui.CoreStartable
-import com.android.systemui.common.ui.GlobalConfig
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener
import javax.inject.Inject
@@ -27,8 +27,8 @@
class ConfigurationControllerStartable
@Inject
constructor(
- @GlobalConfig private val configurationController: ConfigurationController,
- private val listeners: Set<@JvmSuppressWildcards ConfigurationListener>
+ @Main private val configurationController: ConfigurationController,
+ private val listeners: Set<@JvmSuppressWildcards ConfigurationListener>,
) : CoreStartable {
override fun start() {
listeners.forEach { configurationController.addCallback(it) }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/dagger/StatusBarPolicyModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/dagger/StatusBarPolicyModule.java
index 9187e3c..d1e807f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/dagger/StatusBarPolicyModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/dagger/StatusBarPolicyModule.java
@@ -23,7 +23,6 @@
import com.android.internal.R;
import com.android.settingslib.devicestate.DeviceStateRotationLockSettingsManager;
import com.android.settingslib.notification.modes.ZenIconLoader;
-import com.android.systemui.common.ui.GlobalConfig;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Application;
import com.android.systemui.dagger.qualifiers.Main;
@@ -111,7 +110,7 @@
* wrong updates in case of secondary displays.
*/
@Binds
- ConfigurationController bindConfigurationController(@GlobalConfig ConfigurationController impl);
+ ConfigurationController bindConfigurationController(@Main ConfigurationController impl);
/** */
@Binds
@@ -189,14 +188,14 @@
/** */
@Binds
@SysUISingleton
- @GlobalConfig
+ @Main
ConfigurationForwarder provideGlobalConfigurationForwarder(
- @GlobalConfig ConfigurationController configurationController);
+ @Main ConfigurationController configurationController);
/** */
@Provides
@SysUISingleton
- @GlobalConfig
+ @Main
static ConfigurationController provideGlobalConfigurationController(
@Application Context context, ConfigurationControllerImpl.Factory factory) {
return factory.create(context);