blob: d9b4297f2ae284d0cdfa594b1e64e766a9dbb25e [file] [log] [blame]
Dave Mankoffaa8b7ae2019-09-04 18:03:21 -04001/*
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
17package com.android.systemui;
18
19import com.android.systemui.keyguard.KeyguardViewMediator;
Fabian Kozynskiff5e91f2019-09-24 15:38:08 -040020import com.android.systemui.power.PowerUI;
Dave Mankoff898e1bb2019-09-25 17:54:19 -040021import com.android.systemui.recents.Recents;
22import com.android.systemui.recents.RecentsModule;
Dave Mankoffaa8b7ae2019-09-04 18:03:21 -040023
24import dagger.Binds;
25import dagger.Module;
26import dagger.multibindings.ClassKey;
27import dagger.multibindings.IntoMap;
28
29/**
Dave Mankoffeb593ae2019-09-04 11:31:55 -040030 * SystemUI objects that are injectable should go here.
Dave Mankoffaa8b7ae2019-09-04 18:03:21 -040031 */
Dave Mankoff898e1bb2019-09-25 17:54:19 -040032@Module(includes = {RecentsModule.class})
Dave Mankoffaa8b7ae2019-09-04 18:03:21 -040033public abstract class SystemUIBinder {
34 /** Inject into KeyguardViewMediator. */
35 @Binds
36 @IntoMap
37 @ClassKey(KeyguardViewMediator.class)
38 public abstract SystemUI bindKeyguardViewMediator(KeyguardViewMediator sysui);
Fabian Kozynskiff5e91f2019-09-24 15:38:08 -040039
40 /** Inject into PowerUI. */
41 @Binds
42 @IntoMap
43 @ClassKey(PowerUI.class)
44 public abstract SystemUI bindPowerUI(PowerUI sysui);
Dave Mankoff898e1bb2019-09-25 17:54:19 -040045
46 /** Inject into StatusBar. */
47 @Binds
48 @IntoMap
49 @ClassKey(Recents.class)
50 public abstract SystemUI bindRecents(Recents sysui);
Dave Mankoffaa8b7ae2019-09-04 18:03:21 -040051}