blob: e2a6d6c51d4d5993c3297041a3d146e599f58b57 [file] [log] [blame]
Jason Monk196d6392018-12-20 13:25:34 -05001/*
Dave Mankofff4736812019-10-18 17:25:50 -04002 * Copyright (C) 2019 The Android Open Source Project
Jason Monk196d6392018-12-20 13:25:34 -05003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Dave Mankofff4736812019-10-18 17:25:50 -040017package com.android.systemui.dagger;
Jason Monk196d6392018-12-20 13:25:34 -050018
Dave Mankofff4736812019-10-18 17:25:50 -040019import com.android.systemui.ActivityStarterDelegate;
Jason Monk196d6392018-12-20 13:25:34 -050020import com.android.systemui.appops.AppOpsController;
21import com.android.systemui.appops.AppOpsControllerImpl;
Dave Mankoff468d4f62019-05-08 14:56:29 -040022import com.android.systemui.classifier.FalsingManagerProxy;
Fabian Kozynskif10b6ab2019-12-27 09:31:04 -050023import com.android.systemui.controls.dagger.ControlsModule;
Dave Mankoffc88a2d72020-01-10 15:59:31 -050024import com.android.systemui.globalactions.GlobalActionsComponent;
25import com.android.systemui.globalactions.GlobalActionsImpl;
Jason Monk196d6392018-12-20 13:25:34 -050026import com.android.systemui.plugins.ActivityStarter;
Beverly1be62f42018-12-19 17:17:48 -050027import com.android.systemui.plugins.DarkIconDispatcher;
Dave Mankoff468d4f62019-05-08 14:56:29 -040028import com.android.systemui.plugins.FalsingManager;
Dave Mankoffc88a2d72020-01-10 15:59:31 -050029import com.android.systemui.plugins.GlobalActions;
Jason Monk196d6392018-12-20 13:25:34 -050030import com.android.systemui.plugins.VolumeDialogController;
Beverly80110912019-02-13 12:20:57 -050031import com.android.systemui.plugins.statusbar.StatusBarStateController;
Jason Monk196d6392018-12-20 13:25:34 -050032import com.android.systemui.power.PowerNotificationWarnings;
33import com.android.systemui.power.PowerUI;
Jason Monk5d577202018-12-26 15:43:06 -050034import com.android.systemui.qs.QSHost;
35import com.android.systemui.qs.QSTileHost;
Jason Monk196d6392018-12-20 13:25:34 -050036import com.android.systemui.statusbar.NotificationRemoteInputManager;
Beverly80110912019-02-13 12:20:57 -050037import com.android.systemui.statusbar.StatusBarStateControllerImpl;
Dave Mankoffbeef8f12019-10-03 19:06:55 +000038import com.android.systemui.statusbar.SysuiStatusBarStateController;
Jason Monk196d6392018-12-20 13:25:34 -050039import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl;
40import com.android.systemui.statusbar.phone.ManagedProfileController;
41import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl;
42import com.android.systemui.statusbar.phone.StatusBarIconController;
43import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl;
44import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback;
Jason Monk196d6392018-12-20 13:25:34 -050045import com.android.systemui.statusbar.policy.BluetoothController;
46import com.android.systemui.statusbar.policy.BluetoothControllerImpl;
47import com.android.systemui.statusbar.policy.CastController;
48import com.android.systemui.statusbar.policy.CastControllerImpl;
Jason Monk196d6392018-12-20 13:25:34 -050049import com.android.systemui.statusbar.policy.ExtensionController;
50import com.android.systemui.statusbar.policy.ExtensionControllerImpl;
51import com.android.systemui.statusbar.policy.FlashlightController;
52import com.android.systemui.statusbar.policy.FlashlightControllerImpl;
53import com.android.systemui.statusbar.policy.HotspotController;
54import com.android.systemui.statusbar.policy.HotspotControllerImpl;
Lucas Dupinc8f16e82019-09-17 18:24:50 -040055import com.android.systemui.statusbar.policy.KeyguardStateController;
56import com.android.systemui.statusbar.policy.KeyguardStateControllerImpl;
Jason Monk196d6392018-12-20 13:25:34 -050057import com.android.systemui.statusbar.policy.LocationController;
58import com.android.systemui.statusbar.policy.LocationControllerImpl;
59import com.android.systemui.statusbar.policy.NetworkController;
60import com.android.systemui.statusbar.policy.NetworkControllerImpl;
61import com.android.systemui.statusbar.policy.NextAlarmController;
62import com.android.systemui.statusbar.policy.NextAlarmControllerImpl;
63import com.android.systemui.statusbar.policy.RotationLockController;
64import com.android.systemui.statusbar.policy.RotationLockControllerImpl;
65import com.android.systemui.statusbar.policy.SecurityController;
66import com.android.systemui.statusbar.policy.SecurityControllerImpl;
Michael Groovera51ea812019-03-19 18:56:36 -070067import com.android.systemui.statusbar.policy.SensorPrivacyController;
68import com.android.systemui.statusbar.policy.SensorPrivacyControllerImpl;
Jason Monk196d6392018-12-20 13:25:34 -050069import com.android.systemui.statusbar.policy.UserInfoController;
70import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
71import com.android.systemui.statusbar.policy.ZenModeController;
72import com.android.systemui.statusbar.policy.ZenModeControllerImpl;
73import com.android.systemui.tuner.TunerService;
74import com.android.systemui.tuner.TunerServiceImpl;
Fabian Kozynskib6a20372020-04-01 09:36:43 -040075import com.android.systemui.util.RingerModeTracker;
76import com.android.systemui.util.RingerModeTrackerImpl;
Dave Mankoffa30b88b2019-11-05 20:21:38 -050077import com.android.systemui.volume.VolumeComponent;
78import com.android.systemui.volume.VolumeDialogComponent;
Jason Monk196d6392018-12-20 13:25:34 -050079import com.android.systemui.volume.VolumeDialogControllerImpl;
80
81import dagger.Binds;
82import dagger.Module;
83
84/**
85 * Maps interfaces to implementations for use with Dagger.
86 */
Fabian Kozynskif10b6ab2019-12-27 09:31:04 -050087@Module(includes = {ControlsModule.class})
Jason Monk196d6392018-12-20 13:25:34 -050088public abstract class DependencyBinder {
89
90 /**
91 */
92 @Binds
93 public abstract ActivityStarter provideActivityStarter(ActivityStarterDelegate delegate);
94
95 /**
96 */
97 @Binds
98 public abstract BluetoothController provideBluetoothController(
99 BluetoothControllerImpl controllerImpl);
100
101 /**
102 */
103 @Binds
Dave Mankoffc88a2d72020-01-10 15:59:31 -0500104 public abstract GlobalActions provideGlobalActions(GlobalActionsImpl controllerImpl);
105
106 /**
107 */
108 @Binds
109 public abstract GlobalActions.GlobalActionsManager provideGlobalActionsManager(
110 GlobalActionsComponent controllerImpl);
111
112 /**
113 */
114 @Binds
Jason Monk196d6392018-12-20 13:25:34 -0500115 public abstract LocationController provideLocationController(
116 LocationControllerImpl controllerImpl);
117
118 /**
119 */
120 @Binds
121 public abstract RotationLockController provideRotationLockController(
122 RotationLockControllerImpl controllerImpl);
123
124 /**
125 */
126 @Binds
127 public abstract NetworkController provideNetworkController(
128 NetworkControllerImpl controllerImpl);
129
130 /**
131 */
132 @Binds
133 public abstract ZenModeController provideZenModeController(
134 ZenModeControllerImpl controllerImpl);
135
136 /**
137 */
138 @Binds
139 public abstract HotspotController provideHotspotController(
140 HotspotControllerImpl controllerImpl);
141
142 /**
143 */
144 @Binds
145 public abstract AppOpsController provideAppOpsController(
146 AppOpsControllerImpl controllerImpl);
147
148 /**
149 */
150 @Binds
151 public abstract NotificationRemoteInputManager.Callback provideNotificationRemoteInputManager(
152 StatusBarRemoteInputCallback callbackImpl);
153
154 /**
155 */
156 @Binds
Jason Monk196d6392018-12-20 13:25:34 -0500157 public abstract CastController provideCastController(CastControllerImpl controllerImpl);
158
159 /**
160 */
161 @Binds
162 public abstract FlashlightController provideFlashlightController(
163 FlashlightControllerImpl controllerImpl);
164
165 /**
166 */
167 @Binds
Lucas Dupinc8f16e82019-09-17 18:24:50 -0400168 public abstract KeyguardStateController provideKeyguardMonitor(
169 KeyguardStateControllerImpl controllerImpl);
Jason Monk196d6392018-12-20 13:25:34 -0500170
171 /**
172 */
173 @Binds
174 public abstract UserInfoController provideUserInfoContrller(
175 UserInfoControllerImpl controllerImpl);
176
177 /**
178 */
179 @Binds
Jason Monk196d6392018-12-20 13:25:34 -0500180 public abstract ManagedProfileController provideManagedProfileController(
181 ManagedProfileControllerImpl controllerImpl);
182
183 /**
184 */
185 @Binds
186 public abstract NextAlarmController provideNextAlarmController(
187 NextAlarmControllerImpl controllerImpl);
188
189 /**
190 */
191 @Binds
Jason Monk196d6392018-12-20 13:25:34 -0500192 public abstract SecurityController provideSecurityController(
193 SecurityControllerImpl controllerImpl);
194
195 /**
196 */
197 @Binds
198 public abstract TunerService provideTunerService(TunerServiceImpl controllerImpl);
199
200 /**
201 */
202 @Binds
203 public abstract DarkIconDispatcher provideDarkIconDispatcher(
204 DarkIconDispatcherImpl controllerImpl);
205
206 /**
207 */
208 @Binds
Beverly80110912019-02-13 12:20:57 -0500209 public abstract StatusBarStateController provideStatusBarStateController(
210 StatusBarStateControllerImpl controllerImpl);
211
212 /**
213 */
214 @Binds
Dave Mankoffbb9575f2019-10-02 12:23:49 -0400215 public abstract SysuiStatusBarStateController providesSysuiStatusBarStateController(
216 StatusBarStateControllerImpl statusBarStateControllerImpl);
217
218 /**
219 */
220 @Binds
Jason Monk196d6392018-12-20 13:25:34 -0500221 public abstract StatusBarIconController provideStatusBarIconController(
222 StatusBarIconControllerImpl controllerImpl);
223
224 /**
225 */
226 @Binds
227 public abstract ExtensionController provideExtensionController(
228 ExtensionControllerImpl controllerImpl);
229
230 /**
231 */
232 @Binds
233 public abstract VolumeDialogController provideVolumeDialogController(
234 VolumeDialogControllerImpl controllerImpl);
235
236 /**
237 */
238 @Binds
Jason Monk196d6392018-12-20 13:25:34 -0500239 public abstract PowerUI.WarningsUI provideWarningsUi(PowerNotificationWarnings controllerImpl);
Jason Monk5d577202018-12-26 15:43:06 -0500240
241 /**
242 */
243 @Binds
Michael Groovera51ea812019-03-19 18:56:36 -0700244 public abstract SensorPrivacyController provideSensorPrivacyControllerImpl(
245 SensorPrivacyControllerImpl controllerImpl);
246
247 /**
248 */
249 @Binds
Jason Monk5d577202018-12-26 15:43:06 -0500250 public abstract QSHost provideQsHost(QSTileHost controllerImpl);
Dave Mankoff468d4f62019-05-08 14:56:29 -0400251
252 /**
253 */
254 @Binds
Dave Mankoff1193aa42019-10-28 17:51:26 -0400255 public abstract FalsingManager provideFalsingManager(FalsingManagerProxy falsingManagerImpl);
256
257 /**
258 */
259 @Binds
Dave Mankoffa30b88b2019-11-05 20:21:38 -0500260 public abstract VolumeComponent provideVolumeComponent(
261 VolumeDialogComponent volumeDialogComponent);
Fabian Kozynskib6a20372020-04-01 09:36:43 -0400262
263 /**
264 */
265 @Binds
266 public abstract RingerModeTracker provideRingerModeTracker(
267 RingerModeTrackerImpl ringerModeTrackerImpl);
Jason Monk196d6392018-12-20 13:25:34 -0500268}