diff options
| author | 2024-12-10 15:35:47 +0000 | |
|---|---|---|
| committer | 2024-12-10 15:35:47 +0000 | |
| commit | 0740f70d985d4fb20c8857f58e2eabd0e7d91503 (patch) | |
| tree | 292f8b788bb1a6f1a21faf0eac9963cabf3cb400 | |
| parent | f0b78a46c293dac5f3e04e16ef46004ca0346e1c (diff) | |
| parent | f2a580027cb5cd4684dbf6e39aab53c1e6eb7077 (diff) | |
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
24 files changed, 88 insertions, 77 deletions
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 92b6fd44e2f2..2a27a3033cf9 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 @@ class ShadeDisplayAwareDetector : Detector(), SourceCodeScanner { 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 @@ class ShadeDisplayAwareDetector : Detector(), SourceCodeScanner { // 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 79f190782ee8..638d7cb7ee58 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 @@ class ShadeDisplayAwareDetectorTest : SystemUILintDetectorTest() { ) .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 @@ class ShadeDisplayAwareDetectorTest : SystemUILintDetectorTest() { qsContext, shadeDisplayAwareStub, applicationStub, - globalConfigStub, + mainStub, configStateStub, configControllerStub, configInteractorStub, @@ -308,7 +308,7 @@ class ShadeDisplayAwareDetectorTest : SystemUILintDetectorTest() { } @Test - fun injectedConstructor_inRelevantPackage_withGlobalConfigAnnotatedConfigurationClass() { + fun injectedConstructor_inRelevantPackage_withMainAnnotatedConfigurationClass() { lint() .files( TestFiles.kotlin( @@ -317,11 +317,11 @@ class ShadeDisplayAwareDetectorTest : SystemUILintDetectorTest() { 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 09abc3762511..523adc6d3144 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 316849d90cf3..d0cb507789a1 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 @@ public class AuthController implements 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 f6cc72431db0..22d2aaf2a8e7 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.Flags.lightRevealMigration 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 @@ import javax.inject.Provider 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 027f6744d4d7..8376850c1a28 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.content.Intent; 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 @@ public class BiometricNotificationBroadcastReceiver extends BroadcastReceiver { 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 3b49ce2f10f7..e5c22677dbcc 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.KeyguardUpdateMonitor; 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 @@ public class BiometricNotificationService implements CoreStartable { }; @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 178e1112fa6f..d9ed9ca1f07b 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.biometrics.shared.model.SensorLocation 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 @@ constructor( @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 c3dc2d406cbc..52e85576e756 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.DisplayRotation 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 @@ import kotlinx.coroutines.flow.onEach 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 a42ae03b2c4e..cdd1b3c3cf54 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 @@ package com.android.systemui.bouncer.data.repository 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 @@ class EmergencyServicesRepository 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 @@ constructor( .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 7f50e4a06022..ad504d502847 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.data.repository.ConfigurationRepository 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 @@ interface ConfigurationModule { * 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 df891523798f..4d804d06fe87 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 android.view.DisplayInfo 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 @@ abstract class ConfigurationRepositoryModule { * 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 78a8a42e2743..9ae106c3ab39 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 @@ public class FrameworkServicesModule { 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 3072f74dff2b..ddc88a839a63 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.util.DisplayMetrics; 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 @@ public class GlobalModule { 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 580896cb534e..00eead6eb7fc 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.CoreStartable; 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 @@ public interface SysUIComponent { * 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 84a423e226b4..c3e6f0c6b280 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.Surface 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 @@ import kotlinx.coroutines.flow.asStateFlow 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 0954e5e35770..d31868ca0217 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 android.window.WindowContext 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 @@ object ShadeDisplayAwareModule { 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 @@ object ShadeDisplayAwareModule { 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 @@ object ShadeDisplayAwareModule { 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 @@ object ShadeDisplayAwareModule { @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 ae36e81c7b1f..29c7aa0680d3 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 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 280d66bcb827..6cf2c73a7138 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 @@ package com.android.systemui.statusbar.data.repository 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 @@ constructor( @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 0b188afa1c35..d0c02f77f382 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 @@ public class HeadsUpManagerImpl @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 0f19d7288f6f..9dc3ed29570b 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 @@ package com.android.systemui.statusbar.notification.icon 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 a8d59d83d1e9..6bfc9f07ffc4 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 android.widget.TextView 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 @@ private const val TAG = "ChannelDialogController" */ @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 8f4279e80376..a324e6df8a33 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 @@ import javax.inject.Inject 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 9187e3c43380..d1e807f18196 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 android.os.UserManager; 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 @@ public interface StatusBarPolicyModule { * wrong updates in case of secondary displays. */ @Binds - ConfigurationController bindConfigurationController(@GlobalConfig ConfigurationController impl); + ConfigurationController bindConfigurationController(@Main ConfigurationController impl); /** */ @Binds @@ -189,14 +188,14 @@ public interface StatusBarPolicyModule { /** */ @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); |