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