blob: 097932e5f4473c093f3978ce4ad90157142a4e75 [file] [log] [blame]
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +01001/*
2 * Copyright (C) 2020 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.bubbles.dagger;
18
Mady Mellor9adfe6a2020-03-30 17:23:26 -070019import android.app.INotificationManager;
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010020import android.content.Context;
Mady Mellor59a7b982020-05-11 15:19:59 -070021import android.view.WindowManager;
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010022
Mady Mellor458a6262020-06-07 21:09:19 -070023import com.android.internal.statusbar.IStatusBarService;
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010024import com.android.systemui.bubbles.BubbleController;
25import com.android.systemui.bubbles.BubbleData;
Pinyao Tingee191b12020-04-29 18:35:39 -070026import com.android.systemui.bubbles.BubbleDataRepository;
Ned Burnsaaeb44b2020-02-12 23:48:26 -050027import com.android.systemui.dump.DumpManager;
Joshua Tsujibe60a582020-03-23 17:17:26 -040028import com.android.systemui.model.SysUiState;
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010029import com.android.systemui.plugins.statusbar.StatusBarStateController;
30import com.android.systemui.statusbar.FeatureFlags;
31import com.android.systemui.statusbar.NotificationLockscreenUserManager;
32import com.android.systemui.statusbar.notification.NotificationEntryManager;
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010033import com.android.systemui.statusbar.notification.collection.NotifPipeline;
Beverly Taid1e175c2020-03-10 16:37:04 +000034import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010035import com.android.systemui.statusbar.phone.NotificationGroupManager;
36import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
37import com.android.systemui.statusbar.phone.ShadeController;
38import com.android.systemui.statusbar.policy.ConfigurationController;
39import com.android.systemui.statusbar.policy.ZenModeController;
Joshua Tsuji7155bf12020-02-13 16:14:29 -050040import com.android.systemui.util.FloatingContentCoordinator;
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010041
42import javax.inject.Singleton;
43
44import dagger.Module;
45import dagger.Provides;
46
47/** */
48@Module
49public interface BubbleModule {
50
51 /**
52 */
53 @Singleton
54 @Provides
55 static BubbleController newBubbleController(
56 Context context,
57 NotificationShadeWindowController notificationShadeWindowController,
58 StatusBarStateController statusBarStateController,
59 ShadeController shadeController,
60 BubbleData data,
61 ConfigurationController configurationController,
Beverly Taid1e175c2020-03-10 16:37:04 +000062 NotificationInterruptStateProvider interruptionStateProvider,
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010063 ZenModeController zenModeController,
64 NotificationLockscreenUserManager notifUserManager,
65 NotificationGroupManager groupManager,
66 NotificationEntryManager entryManager,
67 NotifPipeline notifPipeline,
68 FeatureFlags featureFlags,
Ned Burnsaaeb44b2020-02-12 23:48:26 -050069 DumpManager dumpManager,
Joshua Tsujibe60a582020-03-23 17:17:26 -040070 FloatingContentCoordinator floatingContentCoordinator,
Pinyao Tingee191b12020-04-29 18:35:39 -070071 BubbleDataRepository bubbleDataRepository,
Mady Mellor9adfe6a2020-03-30 17:23:26 -070072 SysUiState sysUiState,
Mady Mellor59a7b982020-05-11 15:19:59 -070073 INotificationManager notifManager,
Mady Mellor458a6262020-06-07 21:09:19 -070074 IStatusBarService statusBarService,
Mady Mellor59a7b982020-05-11 15:19:59 -070075 WindowManager windowManager) {
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010076 return new BubbleController(
77 context,
78 notificationShadeWindowController,
79 statusBarStateController,
80 shadeController,
81 data,
Mady Mellor9adfe6a2020-03-30 17:23:26 -070082 null /* synchronizer */,
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010083 configurationController,
84 interruptionStateProvider,
85 zenModeController,
86 notifUserManager,
87 groupManager,
88 entryManager,
89 notifPipeline,
90 featureFlags,
Ned Burnsaaeb44b2020-02-12 23:48:26 -050091 dumpManager,
Joshua Tsujibe60a582020-03-23 17:17:26 -040092 floatingContentCoordinator,
Pinyao Tingee191b12020-04-29 18:35:39 -070093 bubbleDataRepository,
Mady Mellor9adfe6a2020-03-30 17:23:26 -070094 sysUiState,
Mady Mellor59a7b982020-05-11 15:19:59 -070095 notifManager,
Mady Mellor458a6262020-06-07 21:09:19 -070096 statusBarService,
Mady Mellor59a7b982020-05-11 15:19:59 -070097 windowManager);
Sergey Nikolaienkov5cb6e522020-02-10 17:33:00 +010098 }
99}