Home | History | Annotate | Download | only in systemui
      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