diff --git a/packages/CarSystemUI/src/com/android/systemui/CarSysUIComponent.java b/packages/CarSystemUI/src/com/android/systemui/CarSysUIComponent.java index 90396717de9f9..1a6fdfa9c996f 100644 --- a/packages/CarSystemUI/src/com/android/systemui/CarSysUIComponent.java +++ b/packages/CarSystemUI/src/com/android/systemui/CarSysUIComponent.java @@ -16,7 +16,6 @@ package com.android.systemui; -import com.android.systemui.dagger.DependencyBinder; import com.android.systemui.dagger.DependencyProvider; import com.android.systemui.dagger.SysUIComponent; import com.android.systemui.dagger.SysUISingleton; @@ -32,7 +31,6 @@ import dagger.Subcomponent; @Subcomponent(modules = { CarComponentBinder.class, DependencyProvider.class, - DependencyBinder.class, PipModule.class, SystemUIModule.class, CarSystemUIModule.class, diff --git a/packages/SystemUI/src/com/android/systemui/appops/dagger/AppOpsModule.java b/packages/SystemUI/src/com/android/systemui/appops/dagger/AppOpsModule.java new file mode 100644 index 0000000000000..d4cc3f37b8dd6 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/appops/dagger/AppOpsModule.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.appops.dagger; + +import com.android.systemui.appops.AppOpsController; +import com.android.systemui.appops.AppOpsControllerImpl; + +import dagger.Binds; +import dagger.Module; + +/** Dagger Module for code in the appops package. */ +@Module +public interface AppOpsModule { + /** */ + @Binds + AppOpsController provideAppOpsController(AppOpsControllerImpl controllerImpl); + +} diff --git a/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java b/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java deleted file mode 100644 index e2a6d6c51d4d5..0000000000000 --- a/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.dagger; - -import com.android.systemui.ActivityStarterDelegate; -import com.android.systemui.appops.AppOpsController; -import com.android.systemui.appops.AppOpsControllerImpl; -import com.android.systemui.classifier.FalsingManagerProxy; -import com.android.systemui.controls.dagger.ControlsModule; -import com.android.systemui.globalactions.GlobalActionsComponent; -import com.android.systemui.globalactions.GlobalActionsImpl; -import com.android.systemui.plugins.ActivityStarter; -import com.android.systemui.plugins.DarkIconDispatcher; -import com.android.systemui.plugins.FalsingManager; -import com.android.systemui.plugins.GlobalActions; -import com.android.systemui.plugins.VolumeDialogController; -import com.android.systemui.plugins.statusbar.StatusBarStateController; -import com.android.systemui.power.PowerNotificationWarnings; -import com.android.systemui.power.PowerUI; -import com.android.systemui.qs.QSHost; -import com.android.systemui.qs.QSTileHost; -import com.android.systemui.statusbar.NotificationRemoteInputManager; -import com.android.systemui.statusbar.StatusBarStateControllerImpl; -import com.android.systemui.statusbar.SysuiStatusBarStateController; -import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; -import com.android.systemui.statusbar.phone.ManagedProfileController; -import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl; -import com.android.systemui.statusbar.phone.StatusBarIconController; -import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl; -import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback; -import com.android.systemui.statusbar.policy.BluetoothController; -import com.android.systemui.statusbar.policy.BluetoothControllerImpl; -import com.android.systemui.statusbar.policy.CastController; -import com.android.systemui.statusbar.policy.CastControllerImpl; -import com.android.systemui.statusbar.policy.ExtensionController; -import com.android.systemui.statusbar.policy.ExtensionControllerImpl; -import com.android.systemui.statusbar.policy.FlashlightController; -import com.android.systemui.statusbar.policy.FlashlightControllerImpl; -import com.android.systemui.statusbar.policy.HotspotController; -import com.android.systemui.statusbar.policy.HotspotControllerImpl; -import com.android.systemui.statusbar.policy.KeyguardStateController; -import com.android.systemui.statusbar.policy.KeyguardStateControllerImpl; -import com.android.systemui.statusbar.policy.LocationController; -import com.android.systemui.statusbar.policy.LocationControllerImpl; -import com.android.systemui.statusbar.policy.NetworkController; -import com.android.systemui.statusbar.policy.NetworkControllerImpl; -import com.android.systemui.statusbar.policy.NextAlarmController; -import com.android.systemui.statusbar.policy.NextAlarmControllerImpl; -import com.android.systemui.statusbar.policy.RotationLockController; -import com.android.systemui.statusbar.policy.RotationLockControllerImpl; -import com.android.systemui.statusbar.policy.SecurityController; -import com.android.systemui.statusbar.policy.SecurityControllerImpl; -import com.android.systemui.statusbar.policy.SensorPrivacyController; -import com.android.systemui.statusbar.policy.SensorPrivacyControllerImpl; -import com.android.systemui.statusbar.policy.UserInfoController; -import com.android.systemui.statusbar.policy.UserInfoControllerImpl; -import com.android.systemui.statusbar.policy.ZenModeController; -import com.android.systemui.statusbar.policy.ZenModeControllerImpl; -import com.android.systemui.tuner.TunerService; -import com.android.systemui.tuner.TunerServiceImpl; -import com.android.systemui.util.RingerModeTracker; -import com.android.systemui.util.RingerModeTrackerImpl; -import com.android.systemui.volume.VolumeComponent; -import com.android.systemui.volume.VolumeDialogComponent; -import com.android.systemui.volume.VolumeDialogControllerImpl; - -import dagger.Binds; -import dagger.Module; - -/** - * Maps interfaces to implementations for use with Dagger. - */ -@Module(includes = {ControlsModule.class}) -public abstract class DependencyBinder { - - /** - */ - @Binds - public abstract ActivityStarter provideActivityStarter(ActivityStarterDelegate delegate); - - /** - */ - @Binds - public abstract BluetoothController provideBluetoothController( - BluetoothControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract GlobalActions provideGlobalActions(GlobalActionsImpl controllerImpl); - - /** - */ - @Binds - public abstract GlobalActions.GlobalActionsManager provideGlobalActionsManager( - GlobalActionsComponent controllerImpl); - - /** - */ - @Binds - public abstract LocationController provideLocationController( - LocationControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract RotationLockController provideRotationLockController( - RotationLockControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract NetworkController provideNetworkController( - NetworkControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract ZenModeController provideZenModeController( - ZenModeControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract HotspotController provideHotspotController( - HotspotControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract AppOpsController provideAppOpsController( - AppOpsControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract NotificationRemoteInputManager.Callback provideNotificationRemoteInputManager( - StatusBarRemoteInputCallback callbackImpl); - - /** - */ - @Binds - public abstract CastController provideCastController(CastControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract FlashlightController provideFlashlightController( - FlashlightControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract KeyguardStateController provideKeyguardMonitor( - KeyguardStateControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract UserInfoController provideUserInfoContrller( - UserInfoControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract ManagedProfileController provideManagedProfileController( - ManagedProfileControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract NextAlarmController provideNextAlarmController( - NextAlarmControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract SecurityController provideSecurityController( - SecurityControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract TunerService provideTunerService(TunerServiceImpl controllerImpl); - - /** - */ - @Binds - public abstract DarkIconDispatcher provideDarkIconDispatcher( - DarkIconDispatcherImpl controllerImpl); - - /** - */ - @Binds - public abstract StatusBarStateController provideStatusBarStateController( - StatusBarStateControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract SysuiStatusBarStateController providesSysuiStatusBarStateController( - StatusBarStateControllerImpl statusBarStateControllerImpl); - - /** - */ - @Binds - public abstract StatusBarIconController provideStatusBarIconController( - StatusBarIconControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract ExtensionController provideExtensionController( - ExtensionControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract VolumeDialogController provideVolumeDialogController( - VolumeDialogControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract PowerUI.WarningsUI provideWarningsUi(PowerNotificationWarnings controllerImpl); - - /** - */ - @Binds - public abstract SensorPrivacyController provideSensorPrivacyControllerImpl( - SensorPrivacyControllerImpl controllerImpl); - - /** - */ - @Binds - public abstract QSHost provideQsHost(QSTileHost controllerImpl); - - /** - */ - @Binds - public abstract FalsingManager provideFalsingManager(FalsingManagerProxy falsingManagerImpl); - - /** - */ - @Binds - public abstract VolumeComponent provideVolumeComponent( - VolumeDialogComponent volumeDialogComponent); - - /** - */ - @Binds - public abstract RingerModeTracker provideRingerModeTracker( - RingerModeTrackerImpl ringerModeTrackerImpl); -} diff --git a/packages/SystemUI/src/com/android/systemui/dagger/PluginModule.java b/packages/SystemUI/src/com/android/systemui/dagger/PluginModule.java new file mode 100644 index 0000000000000..406981d0c4adc --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/dagger/PluginModule.java @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.dagger; + +import com.android.systemui.ActivityStarterDelegate; +import com.android.systemui.classifier.FalsingManagerProxy; +import com.android.systemui.globalactions.GlobalActionsComponent; +import com.android.systemui.globalactions.GlobalActionsImpl; +import com.android.systemui.plugins.ActivityStarter; +import com.android.systemui.plugins.DarkIconDispatcher; +import com.android.systemui.plugins.FalsingManager; +import com.android.systemui.plugins.GlobalActions; +import com.android.systemui.plugins.VolumeDialogController; +import com.android.systemui.plugins.statusbar.StatusBarStateController; +import com.android.systemui.statusbar.StatusBarStateControllerImpl; +import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; +import com.android.systemui.volume.VolumeDialogControllerImpl; + +import dagger.Binds; +import dagger.Module; + +/** + * Module for binding Plugin implementations. + * + * TODO(b/166258224): Many of these should be moved closer to their implementations. + */ +@Module +public interface PluginModule { + + /** */ + @Binds + ActivityStarter provideActivityStarter(ActivityStarterDelegate delegate); + + /** */ + @Binds + DarkIconDispatcher provideDarkIconDispatcher(DarkIconDispatcherImpl controllerImpl); + + /** */ + @Binds + FalsingManager provideFalsingManager(FalsingManagerProxy falsingManagerImpl); + + /** */ + @Binds + GlobalActions provideGlobalActions(GlobalActionsImpl controllerImpl); + + /** */ + @Binds + GlobalActions.GlobalActionsManager provideGlobalActionsManager( + GlobalActionsComponent controllerImpl); + + /** */ + @Binds + StatusBarStateController provideStatusBarStateController( + StatusBarStateControllerImpl controllerImpl); + + /** */ + @Binds + VolumeDialogController provideVolumeDialogController(VolumeDialogControllerImpl controllerImpl); + +} diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java b/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java index e4e3d7aacdf06..a8ed043c43617 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java @@ -35,7 +35,6 @@ import dagger.Subcomponent; @Subcomponent(modules = { DefaultComponentBinder.class, DependencyProvider.class, - DependencyBinder.class, PipModule.class, SystemUIBinder.class, SystemUIModule.class, diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java index e985e3d7ef90b..3afe7210f073e 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java @@ -18,12 +18,15 @@ package com.android.systemui.dagger; import com.android.systemui.BootCompleteCache; import com.android.systemui.BootCompleteCacheImpl; +import com.android.systemui.appops.dagger.AppOpsModule; import com.android.systemui.assist.AssistModule; +import com.android.systemui.controls.dagger.ControlsModule; import com.android.systemui.demomode.dagger.DemoModeModule; import com.android.systemui.doze.dagger.DozeComponent; import com.android.systemui.fragments.FragmentService; import com.android.systemui.log.dagger.LogModule; import com.android.systemui.model.SysUiState; +import com.android.systemui.power.dagger.PowerModule; import com.android.systemui.recents.Recents; import com.android.systemui.screenshot.dagger.ScreenshotModule; import com.android.systemui.settings.dagger.SettingsModule; @@ -37,11 +40,15 @@ import com.android.systemui.statusbar.notification.row.dagger.NotificationShelfC import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.dagger.StatusBarComponent; import com.android.systemui.statusbar.policy.HeadsUpManager; +import com.android.systemui.statusbar.policy.dagger.StatusBarPolicyModule; +import com.android.systemui.tuner.dagger.TunerModule; import com.android.systemui.util.concurrency.ConcurrencyModule; +import com.android.systemui.util.dagger.UtilModule; import com.android.systemui.util.sensors.SensorModule; import com.android.systemui.util.settings.SettingsUtilModule; import com.android.systemui.util.time.SystemClock; import com.android.systemui.util.time.SystemClockImpl; +import com.android.systemui.volume.dagger.VolumeModule; import dagger.Binds; import dagger.BindsOptionalOf; @@ -53,15 +60,23 @@ import dagger.Provides; * implementation. */ @Module(includes = { + AppOpsModule.class, AssistModule.class, ConcurrencyModule.class, + ControlsModule.class, DemoModeModule.class, LogModule.class, PeopleHubModule.class, + PowerModule.class, + PluginModule.class, ScreenshotModule.class, SensorModule.class, SettingsModule.class, - SettingsUtilModule.class + SettingsUtilModule.class, + StatusBarPolicyModule.class, + TunerModule.class, + UtilModule.class, + VolumeModule.class }, subcomponents = {StatusBarComponent.class, NotificationRowComponent.class, diff --git a/packages/SystemUI/src/com/android/systemui/power/dagger/PowerModule.java b/packages/SystemUI/src/com/android/systemui/power/dagger/PowerModule.java new file mode 100644 index 0000000000000..8b8941a9112d3 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/power/dagger/PowerModule.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.power.dagger; + +import com.android.systemui.power.PowerNotificationWarnings; +import com.android.systemui.power.PowerUI; + +import dagger.Binds; +import dagger.Module; + + +/** Dagger Module for code in the power package. */ +@Module +public interface PowerModule { + /** */ + @Binds + PowerUI.WarningsUI provideWarningsUi(PowerNotificationWarnings controllerImpl); +} diff --git a/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java b/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java index 8740581240b54..8ff96c8a4a378 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java +++ b/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java @@ -22,6 +22,7 @@ import android.os.Handler; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.qs.AutoAddTracker; +import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QSTileHost; import com.android.systemui.statusbar.phone.AutoTileManager; import com.android.systemui.statusbar.phone.ManagedProfileController; @@ -29,6 +30,7 @@ import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.DataSaverController; import com.android.systemui.statusbar.policy.HotspotController; +import dagger.Binds; import dagger.Module; import dagger.Provides; @@ -56,4 +58,9 @@ public interface QSModule { manager.init(); return manager; } + + + /** */ + @Binds + QSHost provideQsHost(QSTileHost controllerImpl); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java index 44550b72e5213..db2875a3d9aac 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java @@ -37,6 +37,8 @@ import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.NotificationViewHierarchyManager; import com.android.systemui.statusbar.SmartReplyController; +import com.android.systemui.statusbar.StatusBarStateControllerImpl; +import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.notification.AssistantFeedbackController; import com.android.systemui.statusbar.notification.DynamicChildBindController; import com.android.systemui.statusbar.notification.DynamicPrivacyController; @@ -45,13 +47,19 @@ import com.android.systemui.statusbar.notification.collection.inflation.LowPrior import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager; import com.android.systemui.statusbar.notification.stack.ForegroundServiceSectionController; import com.android.systemui.statusbar.phone.KeyguardBypassController; +import com.android.systemui.statusbar.phone.ManagedProfileController; +import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.StatusBar; +import com.android.systemui.statusbar.phone.StatusBarIconController; +import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl; +import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback; import com.android.systemui.statusbar.policy.RemoteInputUriController; import com.android.systemui.tracing.ProtoTracer; import com.android.systemui.util.DeviceConfigProxy; import com.android.systemui.util.concurrency.DelayableExecutor; +import dagger.Binds; import dagger.Lazy; import dagger.Module; import dagger.Provides; @@ -136,6 +144,12 @@ public interface StatusBarDependenciesModule { return new SmartReplyController(entryManager, statusBarService, clickNotifier); } + + /** */ + @Binds + NotificationRemoteInputManager.Callback provideNotificationRemoteInputManagerCallback( + StatusBarRemoteInputCallback callbackImpl); + /** */ @SysUISingleton @Provides @@ -179,4 +193,22 @@ public interface StatusBarDependenciesModule { static CommandQueue provideCommandQueue(Context context, ProtoTracer protoTracer) { return new CommandQueue(context, protoTracer); } + + /** + */ + @Binds + ManagedProfileController provideManagedProfileController( + ManagedProfileControllerImpl controllerImpl); + + /** + */ + @Binds + SysuiStatusBarStateController providesSysuiStatusBarStateController( + StatusBarStateControllerImpl statusBarStateControllerImpl); + + /** + */ + @Binds + StatusBarIconController provideStatusBarIconController( + StatusBarIconControllerImpl controllerImpl); } 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 new file mode 100644 index 0000000000000..914105fdc4c4c --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/dagger/StatusBarPolicyModule.java @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.statusbar.policy.dagger; + +import com.android.systemui.statusbar.policy.BluetoothController; +import com.android.systemui.statusbar.policy.BluetoothControllerImpl; +import com.android.systemui.statusbar.policy.CastController; +import com.android.systemui.statusbar.policy.CastControllerImpl; +import com.android.systemui.statusbar.policy.ExtensionController; +import com.android.systemui.statusbar.policy.ExtensionControllerImpl; +import com.android.systemui.statusbar.policy.FlashlightController; +import com.android.systemui.statusbar.policy.FlashlightControllerImpl; +import com.android.systemui.statusbar.policy.HotspotController; +import com.android.systemui.statusbar.policy.HotspotControllerImpl; +import com.android.systemui.statusbar.policy.KeyguardStateController; +import com.android.systemui.statusbar.policy.KeyguardStateControllerImpl; +import com.android.systemui.statusbar.policy.LocationController; +import com.android.systemui.statusbar.policy.LocationControllerImpl; +import com.android.systemui.statusbar.policy.NetworkController; +import com.android.systemui.statusbar.policy.NetworkControllerImpl; +import com.android.systemui.statusbar.policy.NextAlarmController; +import com.android.systemui.statusbar.policy.NextAlarmControllerImpl; +import com.android.systemui.statusbar.policy.RotationLockController; +import com.android.systemui.statusbar.policy.RotationLockControllerImpl; +import com.android.systemui.statusbar.policy.SecurityController; +import com.android.systemui.statusbar.policy.SecurityControllerImpl; +import com.android.systemui.statusbar.policy.SensorPrivacyController; +import com.android.systemui.statusbar.policy.SensorPrivacyControllerImpl; +import com.android.systemui.statusbar.policy.UserInfoController; +import com.android.systemui.statusbar.policy.UserInfoControllerImpl; +import com.android.systemui.statusbar.policy.ZenModeController; +import com.android.systemui.statusbar.policy.ZenModeControllerImpl; + +import dagger.Binds; +import dagger.Module; + + +/** Dagger Module for code in the statusbar.policy package. */ +@Module +public interface StatusBarPolicyModule { + /** */ + @Binds + BluetoothController provideBluetoothController(BluetoothControllerImpl controllerImpl); + + /** */ + @Binds + CastController provideCastController(CastControllerImpl controllerImpl); + + /** */ + @Binds + ExtensionController provideExtensionController(ExtensionControllerImpl controllerImpl); + + /** */ + @Binds + FlashlightController provideFlashlightController(FlashlightControllerImpl controllerImpl); + + /** */ + @Binds + KeyguardStateController provideKeyguardMonitor(KeyguardStateControllerImpl controllerImpl); + + /** */ + @Binds + HotspotController provideHotspotController(HotspotControllerImpl controllerImpl); + + /** */ + @Binds + LocationController provideLocationController(LocationControllerImpl controllerImpl); + + /** */ + @Binds + NetworkController provideNetworkController(NetworkControllerImpl controllerImpl); + + /** */ + @Binds + NextAlarmController provideNextAlarmController(NextAlarmControllerImpl controllerImpl); + + /** */ + @Binds + RotationLockController provideRotationLockController(RotationLockControllerImpl controllerImpl); + + /** */ + @Binds + SecurityController provideSecurityController(SecurityControllerImpl controllerImpl); + + /** */ + @Binds + SensorPrivacyController provideSensorPrivacyControllerImpl( + SensorPrivacyControllerImpl controllerImpl); + + /** */ + @Binds + UserInfoController provideUserInfoContrller(UserInfoControllerImpl controllerImpl); + + /** */ + @Binds + ZenModeController provideZenModeController(ZenModeControllerImpl controllerImpl); + +} diff --git a/packages/SystemUI/src/com/android/systemui/tuner/dagger/TunerModule.java b/packages/SystemUI/src/com/android/systemui/tuner/dagger/TunerModule.java new file mode 100644 index 0000000000000..faf7b842f3b2d --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/tuner/dagger/TunerModule.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.tuner.dagger; + +import com.android.systemui.tuner.TunerService; +import com.android.systemui.tuner.TunerServiceImpl; + +import dagger.Binds; +import dagger.Module; + +/** Dagger Module for code in the tuner package. */ +@Module +public interface TunerModule { + /** */ + @Binds + TunerService provideTunerService(TunerServiceImpl controllerImpl); +} diff --git a/packages/SystemUI/src/com/android/systemui/tv/TvSysUIComponent.java b/packages/SystemUI/src/com/android/systemui/tv/TvSysUIComponent.java index 3577bc05d1c47..bef05ebb724e9 100644 --- a/packages/SystemUI/src/com/android/systemui/tv/TvSysUIComponent.java +++ b/packages/SystemUI/src/com/android/systemui/tv/TvSysUIComponent.java @@ -17,7 +17,6 @@ package com.android.systemui.tv; import com.android.systemui.dagger.DefaultComponentBinder; -import com.android.systemui.dagger.DependencyBinder; import com.android.systemui.dagger.DependencyProvider; import com.android.systemui.dagger.SysUIComponent; import com.android.systemui.dagger.SysUISingleton; @@ -33,7 +32,6 @@ import dagger.Subcomponent; @Subcomponent(modules = { DefaultComponentBinder.class, DependencyProvider.class, - DependencyBinder.class, SystemUIBinder.class, SystemUIModule.class, TvSystemUIModule.class, diff --git a/packages/SystemUI/src/com/android/systemui/util/dagger/UtilModule.java b/packages/SystemUI/src/com/android/systemui/util/dagger/UtilModule.java new file mode 100644 index 0000000000000..cdfa1457f4a50 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/util/dagger/UtilModule.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.util.dagger; + +import com.android.systemui.util.RingerModeTracker; +import com.android.systemui.util.RingerModeTrackerImpl; + +import dagger.Binds; +import dagger.Module; + +/** Dagger Module for code in the util package. */ +@Module +public interface UtilModule { + /** */ + @Binds + RingerModeTracker provideRingerModeTracker(RingerModeTrackerImpl ringerModeTrackerImpl); +} diff --git a/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java b/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java new file mode 100644 index 0000000000000..1ef4c169b786f --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.volume.dagger; + +import com.android.systemui.volume.VolumeComponent; +import com.android.systemui.volume.VolumeDialogComponent; + +import dagger.Binds; +import dagger.Module; + + +/** Dagger Module for code in the volume package. */ +@Module +public interface VolumeModule { + /** */ + @Binds + VolumeComponent provideVolumeComponent(VolumeDialogComponent volumeDialogComponent); +}