1 /* 2 * Copyright (C) 2018 The Android Open Source Project 3 * 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 17 package com.android.systemui; 18 19 import com.android.systemui.appops.AppOpsController; 20 import com.android.systemui.appops.AppOpsControllerImpl; 21 import com.android.systemui.classifier.FalsingManagerProxy; 22 import com.android.systemui.plugins.ActivityStarter; 23 import com.android.systemui.plugins.DarkIconDispatcher; 24 import com.android.systemui.plugins.FalsingManager; 25 import com.android.systemui.plugins.VolumeDialogController; 26 import com.android.systemui.plugins.statusbar.StatusBarStateController; 27 import com.android.systemui.power.PowerNotificationWarnings; 28 import com.android.systemui.power.PowerUI; 29 import com.android.systemui.qs.QSHost; 30 import com.android.systemui.qs.QSTileHost; 31 import com.android.systemui.statusbar.NotificationRemoteInputManager; 32 import com.android.systemui.statusbar.StatusBarStateControllerImpl; 33 import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; 34 import com.android.systemui.statusbar.phone.ManagedProfileController; 35 import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl; 36 import com.android.systemui.statusbar.phone.StatusBarIconController; 37 import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl; 38 import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback; 39 import com.android.systemui.statusbar.policy.BatteryController; 40 import com.android.systemui.statusbar.policy.BatteryControllerImpl; 41 import com.android.systemui.statusbar.policy.BluetoothController; 42 import com.android.systemui.statusbar.policy.BluetoothControllerImpl; 43 import com.android.systemui.statusbar.policy.CastController; 44 import com.android.systemui.statusbar.policy.CastControllerImpl; 45 import com.android.systemui.statusbar.policy.DeviceProvisionedController; 46 import com.android.systemui.statusbar.policy.DeviceProvisionedControllerImpl; 47 import com.android.systemui.statusbar.policy.ExtensionController; 48 import com.android.systemui.statusbar.policy.ExtensionControllerImpl; 49 import com.android.systemui.statusbar.policy.FlashlightController; 50 import com.android.systemui.statusbar.policy.FlashlightControllerImpl; 51 import com.android.systemui.statusbar.policy.HotspotController; 52 import com.android.systemui.statusbar.policy.HotspotControllerImpl; 53 import com.android.systemui.statusbar.policy.KeyguardMonitor; 54 import com.android.systemui.statusbar.policy.KeyguardMonitorImpl; 55 import com.android.systemui.statusbar.policy.LocationController; 56 import com.android.systemui.statusbar.policy.LocationControllerImpl; 57 import com.android.systemui.statusbar.policy.NetworkController; 58 import com.android.systemui.statusbar.policy.NetworkControllerImpl; 59 import com.android.systemui.statusbar.policy.NextAlarmController; 60 import com.android.systemui.statusbar.policy.NextAlarmControllerImpl; 61 import com.android.systemui.statusbar.policy.RotationLockController; 62 import com.android.systemui.statusbar.policy.RotationLockControllerImpl; 63 import com.android.systemui.statusbar.policy.SecurityController; 64 import com.android.systemui.statusbar.policy.SecurityControllerImpl; 65 import com.android.systemui.statusbar.policy.SensorPrivacyController; 66 import com.android.systemui.statusbar.policy.SensorPrivacyControllerImpl; 67 import com.android.systemui.statusbar.policy.UserInfoController; 68 import com.android.systemui.statusbar.policy.UserInfoControllerImpl; 69 import com.android.systemui.statusbar.policy.ZenModeController; 70 import com.android.systemui.statusbar.policy.ZenModeControllerImpl; 71 import com.android.systemui.tuner.TunerService; 72 import com.android.systemui.tuner.TunerServiceImpl; 73 import com.android.systemui.volume.VolumeDialogControllerImpl; 74 75 import dagger.Binds; 76 import dagger.Module; 77 78 /** 79 * Maps interfaces to implementations for use with Dagger. 80 */ 81 @Module 82 public abstract class DependencyBinder { 83 84 /** 85 */ 86 @Binds 87 public abstract ActivityStarter provideActivityStarter(ActivityStarterDelegate delegate); 88 89 /** 90 */ 91 @Binds 92 public abstract BluetoothController provideBluetoothController( 93 BluetoothControllerImpl controllerImpl); 94 95 /** 96 */ 97 @Binds 98 public abstract LocationController provideLocationController( 99 LocationControllerImpl controllerImpl); 100 101 /** 102 */ 103 @Binds 104 public abstract RotationLockController provideRotationLockController( 105 RotationLockControllerImpl controllerImpl); 106 107 /** 108 */ 109 @Binds 110 public abstract NetworkController provideNetworkController( 111 NetworkControllerImpl controllerImpl); 112 113 /** 114 */ 115 @Binds 116 public abstract ZenModeController provideZenModeController( 117 ZenModeControllerImpl controllerImpl); 118 119 /** 120 */ 121 @Binds 122 public abstract HotspotController provideHotspotController( 123 HotspotControllerImpl controllerImpl); 124 125 /** 126 */ 127 @Binds 128 public abstract AppOpsController provideAppOpsController( 129 AppOpsControllerImpl controllerImpl); 130 131 /** 132 */ 133 @Binds 134 public abstract NotificationRemoteInputManager.Callback provideNotificationRemoteInputManager( 135 StatusBarRemoteInputCallback callbackImpl); 136 137 /** 138 */ 139 @Binds 140 public abstract CastController provideCastController(CastControllerImpl controllerImpl); 141 142 /** 143 */ 144 @Binds 145 public abstract FlashlightController provideFlashlightController( 146 FlashlightControllerImpl controllerImpl); 147 148 /** 149 */ 150 @Binds 151 public abstract KeyguardMonitor provideKeyguardMonitor(KeyguardMonitorImpl controllerImpl); 152 153 /** 154 */ 155 @Binds 156 public abstract UserInfoController provideUserInfoContrller( 157 UserInfoControllerImpl controllerImpl); 158 159 /** 160 */ 161 @Binds 162 public abstract BatteryController provideBatteryController( 163 BatteryControllerImpl controllerImpl); 164 165 /** 166 */ 167 @Binds 168 public abstract ManagedProfileController provideManagedProfileController( 169 ManagedProfileControllerImpl controllerImpl); 170 171 /** 172 */ 173 @Binds 174 public abstract NextAlarmController provideNextAlarmController( 175 NextAlarmControllerImpl controllerImpl); 176 177 /** 178 */ 179 @Binds 180 public abstract DeviceProvisionedController provideDeviceProvisionedController( 181 DeviceProvisionedControllerImpl controllerImpl); 182 183 /** 184 */ 185 @Binds 186 public abstract SecurityController provideSecurityController( 187 SecurityControllerImpl controllerImpl); 188 189 /** 190 */ 191 @Binds 192 public abstract TunerService provideTunerService(TunerServiceImpl controllerImpl); 193 194 /** 195 */ 196 @Binds 197 public abstract DarkIconDispatcher provideDarkIconDispatcher( 198 DarkIconDispatcherImpl controllerImpl); 199 200 /** 201 */ 202 @Binds 203 public abstract StatusBarStateController provideStatusBarStateController( 204 StatusBarStateControllerImpl controllerImpl); 205 206 /** 207 */ 208 @Binds 209 public abstract StatusBarIconController provideStatusBarIconController( 210 StatusBarIconControllerImpl controllerImpl); 211 212 /** 213 */ 214 @Binds 215 public abstract ExtensionController provideExtensionController( 216 ExtensionControllerImpl controllerImpl); 217 218 /** 219 */ 220 @Binds 221 public abstract VolumeDialogController provideVolumeDialogController( 222 VolumeDialogControllerImpl controllerImpl); 223 224 /** 225 */ 226 @Binds 227 public abstract PowerUI.WarningsUI provideWarningsUi(PowerNotificationWarnings controllerImpl); 228 229 /** 230 */ 231 @Binds 232 public abstract SensorPrivacyController provideSensorPrivacyControllerImpl( 233 SensorPrivacyControllerImpl controllerImpl); 234 235 /** 236 */ 237 @Binds 238 public abstract QSHost provideQsHost(QSTileHost controllerImpl); 239 240 /** 241 */ 242 @Binds 243 public abstract FalsingManager provideFalsingmanager(FalsingManagerProxy falsingManagerImpl); 244 } 245