1 /*
2  * Copyright (C) 2019 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.dagger;
18 
19 import android.content.BroadcastReceiver;
20 
21 import com.android.systemui.GuestResetOrExitSessionReceiver;
22 import com.android.systemui.media.dialog.MediaOutputDialogReceiver;
23 import com.android.systemui.people.widget.PeopleSpaceWidgetPinnedReceiver;
24 import com.android.systemui.people.widget.PeopleSpaceWidgetProvider;
25 import com.android.systemui.screenshot.ActionProxyReceiver;
26 import com.android.systemui.screenshot.DeleteScreenshotReceiver;
27 import com.android.systemui.screenshot.SmartActionsReceiver;
28 import com.android.systemui.volume.VolumePanelDialogReceiver;
29 
30 import dagger.Binds;
31 import dagger.Module;
32 import dagger.multibindings.ClassKey;
33 import dagger.multibindings.IntoMap;
34 
35 /**
36  * BroadcastReceivers that are injectable should go here.
37  */
38 @Module
39 public abstract class DefaultBroadcastReceiverBinder {
40     /**
41      *
42      */
43     @Binds
44     @IntoMap
45     @ClassKey(ActionProxyReceiver.class)
bindActionProxyReceiver( ActionProxyReceiver broadcastReceiver)46     public abstract BroadcastReceiver bindActionProxyReceiver(
47             ActionProxyReceiver broadcastReceiver);
48 
49     /**
50      *
51      */
52     @Binds
53     @IntoMap
54     @ClassKey(DeleteScreenshotReceiver.class)
bindDeleteScreenshotReceiver( DeleteScreenshotReceiver broadcastReceiver)55     public abstract BroadcastReceiver bindDeleteScreenshotReceiver(
56             DeleteScreenshotReceiver broadcastReceiver);
57 
58     /**
59      *
60      */
61     @Binds
62     @IntoMap
63     @ClassKey(SmartActionsReceiver.class)
bindSmartActionsReceiver( SmartActionsReceiver broadcastReceiver)64     public abstract BroadcastReceiver bindSmartActionsReceiver(
65             SmartActionsReceiver broadcastReceiver);
66 
67     /**
68      *
69      */
70     @Binds
71     @IntoMap
72     @ClassKey(MediaOutputDialogReceiver.class)
bindMediaOutputDialogReceiver( MediaOutputDialogReceiver broadcastReceiver)73     public abstract BroadcastReceiver bindMediaOutputDialogReceiver(
74             MediaOutputDialogReceiver broadcastReceiver);
75 
76     /**
77      *
78      */
79     @Binds
80     @IntoMap
81     @ClassKey(VolumePanelDialogReceiver.class)
bindVolumePanelDialogReceiver( VolumePanelDialogReceiver broadcastReceiver)82     public abstract BroadcastReceiver bindVolumePanelDialogReceiver(
83             VolumePanelDialogReceiver broadcastReceiver);
84 
85     /**
86      *
87      */
88     @Binds
89     @IntoMap
90     @ClassKey(PeopleSpaceWidgetPinnedReceiver.class)
bindPeopleSpaceWidgetPinnedReceiver( PeopleSpaceWidgetPinnedReceiver broadcastReceiver)91     public abstract BroadcastReceiver bindPeopleSpaceWidgetPinnedReceiver(
92             PeopleSpaceWidgetPinnedReceiver broadcastReceiver);
93 
94     /**
95      *
96      */
97     @Binds
98     @IntoMap
99     @ClassKey(PeopleSpaceWidgetProvider.class)
bindPeopleSpaceWidgetProvider( PeopleSpaceWidgetProvider broadcastReceiver)100     public abstract BroadcastReceiver bindPeopleSpaceWidgetProvider(
101             PeopleSpaceWidgetProvider broadcastReceiver);
102 
103     /**
104      *
105      */
106     @Binds
107     @IntoMap
108     @ClassKey(GuestResetOrExitSessionReceiver.class)
bindGuestResetOrExitSessionReceiver( GuestResetOrExitSessionReceiver broadcastReceiver)109     public abstract BroadcastReceiver bindGuestResetOrExitSessionReceiver(
110             GuestResetOrExitSessionReceiver broadcastReceiver);
111 }
112