• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.app.Activity;
20 
21 import com.android.systemui.ForegroundServicesDialog;
22 import com.android.systemui.hdmi.HdmiCecSetMenuLanguageActivity;
23 import com.android.systemui.keyguard.WorkLockActivity;
24 import com.android.systemui.people.PeopleSpaceActivity;
25 import com.android.systemui.people.widget.LaunchConversationActivity;
26 import com.android.systemui.screenshot.LongScreenshotActivity;
27 import com.android.systemui.sensorprivacy.SensorUseStartedActivity;
28 import com.android.systemui.sensorprivacy.television.TvUnblockSensorActivity;
29 import com.android.systemui.settings.brightness.BrightnessDialog;
30 import com.android.systemui.statusbar.tv.notifications.TvNotificationPanelActivity;
31 import com.android.systemui.tuner.TunerActivity;
32 import com.android.systemui.usb.UsbAccessoryUriActivity;
33 import com.android.systemui.usb.UsbConfirmActivity;
34 import com.android.systemui.usb.UsbDebuggingActivity;
35 import com.android.systemui.usb.UsbDebuggingSecondaryUserActivity;
36 import com.android.systemui.usb.UsbPermissionActivity;
37 import com.android.systemui.user.CreateUserActivity;
38 
39 import dagger.Binds;
40 import dagger.Module;
41 import dagger.multibindings.ClassKey;
42 import dagger.multibindings.IntoMap;
43 
44 /**
45  * Activities that are injectable should go here.
46  */
47 @Module
48 public abstract class DefaultActivityBinder {
49     /** Inject into TunerActivity. */
50     @Binds
51     @IntoMap
52     @ClassKey(TunerActivity.class)
bindTunerActivity(TunerActivity activity)53     public abstract Activity bindTunerActivity(TunerActivity activity);
54 
55     /** Inject into ForegroundServicesDialog. */
56     @Binds
57     @IntoMap
58     @ClassKey(ForegroundServicesDialog.class)
bindForegroundServicesDialog(ForegroundServicesDialog activity)59     public abstract Activity bindForegroundServicesDialog(ForegroundServicesDialog activity);
60 
61     /** Inject into WorkLockActivity. */
62     @Binds
63     @IntoMap
64     @ClassKey(WorkLockActivity.class)
bindWorkLockActivity(WorkLockActivity activity)65     public abstract Activity bindWorkLockActivity(WorkLockActivity activity);
66 
67     /** Inject into BrightnessDialog. */
68     @Binds
69     @IntoMap
70     @ClassKey(BrightnessDialog.class)
bindBrightnessDialog(BrightnessDialog activity)71     public abstract Activity bindBrightnessDialog(BrightnessDialog activity);
72 
73     /** Inject into UsbDebuggingActivity. */
74     @Binds
75     @IntoMap
76     @ClassKey(UsbDebuggingActivity.class)
bindUsbDebuggingActivity(UsbDebuggingActivity activity)77     public abstract Activity bindUsbDebuggingActivity(UsbDebuggingActivity activity);
78 
79     /** Inject into UsbDebuggingSecondaryUserActivity. */
80     @Binds
81     @IntoMap
82     @ClassKey(UsbDebuggingSecondaryUserActivity.class)
bindUsbDebuggingSecondaryUserActivity( UsbDebuggingSecondaryUserActivity activity)83     public abstract Activity bindUsbDebuggingSecondaryUserActivity(
84             UsbDebuggingSecondaryUserActivity activity);
85 
86     /** Inject into UsbPermissionActivity. */
87     @Binds
88     @IntoMap
89     @ClassKey(UsbPermissionActivity.class)
bindUsbPermissionActivity(UsbPermissionActivity activity)90     public abstract Activity bindUsbPermissionActivity(UsbPermissionActivity activity);
91 
92     /** Inject into UsbConfirmActivity. */
93     @Binds
94     @IntoMap
95     @ClassKey(UsbConfirmActivity.class)
bindUsbConfirmActivity(UsbConfirmActivity activity)96     public abstract Activity bindUsbConfirmActivity(UsbConfirmActivity activity);
97 
98     /** Inject into UsbAccessoryUriActivity. */
99     @Binds
100     @IntoMap
101     @ClassKey(UsbAccessoryUriActivity.class)
bindUsbAccessoryUriActivity(UsbAccessoryUriActivity activity)102     public abstract Activity bindUsbAccessoryUriActivity(UsbAccessoryUriActivity activity);
103 
104     /** Inject into CreateUserActivity. */
105     @Binds
106     @IntoMap
107     @ClassKey(CreateUserActivity.class)
bindCreateUserActivity(CreateUserActivity activity)108     public abstract Activity bindCreateUserActivity(CreateUserActivity activity);
109 
110     /** Inject into TvNotificationPanelActivity. */
111     @Binds
112     @IntoMap
113     @ClassKey(TvNotificationPanelActivity.class)
bindTvNotificationPanelActivity(TvNotificationPanelActivity activity)114     public abstract Activity bindTvNotificationPanelActivity(TvNotificationPanelActivity activity);
115 
116     /** Inject into PeopleSpaceActivity. */
117     @Binds
118     @IntoMap
119     @ClassKey(PeopleSpaceActivity.class)
bindPeopleSpaceActivity(PeopleSpaceActivity activity)120     public abstract Activity bindPeopleSpaceActivity(PeopleSpaceActivity activity);
121 
122     /** Inject into LongScreenshotActivity. */
123     @Binds
124     @IntoMap
125     @ClassKey(LongScreenshotActivity.class)
bindLongScreenshotActivity(LongScreenshotActivity activity)126     public abstract Activity bindLongScreenshotActivity(LongScreenshotActivity activity);
127 
128     /** Inject into LaunchConversationActivity. */
129     @Binds
130     @IntoMap
131     @ClassKey(LaunchConversationActivity.class)
bindLaunchConversationActivity(LaunchConversationActivity activity)132     public abstract Activity bindLaunchConversationActivity(LaunchConversationActivity activity);
133 
134     /** Inject into SensorUseStartedActivity. */
135     @Binds
136     @IntoMap
137     @ClassKey(SensorUseStartedActivity.class)
bindSensorUseStartedActivity(SensorUseStartedActivity activity)138     public abstract Activity bindSensorUseStartedActivity(SensorUseStartedActivity activity);
139 
140     /** Inject into TvUnblockSensorActivity. */
141     @Binds
142     @IntoMap
143     @ClassKey(TvUnblockSensorActivity.class)
bindTvUnblockSensorActivity(TvUnblockSensorActivity activity)144     public abstract Activity bindTvUnblockSensorActivity(TvUnblockSensorActivity activity);
145 
146     /** Inject into HdmiCecSetMenuLanguageActivity. */
147     @Binds
148     @IntoMap
149     @ClassKey(HdmiCecSetMenuLanguageActivity.class)
bindHdmiCecSetMenuLanguageActivity( HdmiCecSetMenuLanguageActivity activity)150     public abstract Activity bindHdmiCecSetMenuLanguageActivity(
151             HdmiCecSetMenuLanguageActivity activity);
152 }
153