• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
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 
17 package com.android.systemui.media.dagger;
18 
19 import com.android.systemui.dagger.SysUISingleton;
20 import com.android.systemui.log.LogBuffer;
21 import com.android.systemui.log.LogBufferFactory;
22 import com.android.systemui.media.controls.domain.MediaDomainModule;
23 import com.android.systemui.media.controls.domain.pipeline.MediaDataManager;
24 import com.android.systemui.media.controls.ui.controller.MediaCarouselController;
25 import com.android.systemui.media.controls.ui.controller.MediaCarouselControllerLogger;
26 import com.android.systemui.media.controls.ui.controller.MediaHierarchyManager;
27 import com.android.systemui.media.controls.ui.controller.MediaHostStatesManager;
28 import com.android.systemui.media.controls.ui.view.MediaHost;
29 import com.android.systemui.media.dream.dagger.MediaComplicationComponent;
30 import com.android.systemui.media.taptotransfer.receiver.MediaTttReceiverLogBuffer;
31 import com.android.systemui.media.taptotransfer.sender.MediaTttSenderLogBuffer;
32 
33 import dagger.Module;
34 import dagger.Provides;
35 
36 import javax.inject.Named;
37 
38 /** Dagger module for the media package. */
39 @Module(
40         includes = {
41             MediaDomainModule.class
42         },
43         subcomponents = {
44         MediaComplicationComponent.class,
45 })
46 public interface MediaModule {
47     String QS_PANEL = "media_qs_panel";
48     String QUICK_QS_PANEL = "media_quick_qs_panel";
49     String KEYGUARD = "media_keyguard";
50     String DREAM = "dream";
51     String COMMUNAL_HUB = "communal_Hub";
52     String POPUP = "popup";
53 
54     /** */
55     @Provides
56     @SysUISingleton
57     @Named(QS_PANEL)
providesQSMediaHost(MediaHost.MediaHostStateHolder stateHolder, MediaHierarchyManager hierarchyManager, MediaDataManager dataManager, MediaHostStatesManager statesManager, MediaCarouselController carouselController, MediaCarouselControllerLogger logger)58     static MediaHost providesQSMediaHost(MediaHost.MediaHostStateHolder stateHolder,
59             MediaHierarchyManager hierarchyManager, MediaDataManager dataManager,
60             MediaHostStatesManager statesManager, MediaCarouselController carouselController,
61             MediaCarouselControllerLogger logger) {
62         return new MediaHost(stateHolder, hierarchyManager, dataManager, statesManager,
63                 carouselController, logger);
64     }
65 
66     /** */
67     @Provides
68     @SysUISingleton
69     @Named(QUICK_QS_PANEL)
providesQuickQSMediaHost(MediaHost.MediaHostStateHolder stateHolder, MediaHierarchyManager hierarchyManager, MediaDataManager dataManager, MediaHostStatesManager statesManager, MediaCarouselController carouselController, MediaCarouselControllerLogger logger)70     static MediaHost providesQuickQSMediaHost(MediaHost.MediaHostStateHolder stateHolder,
71             MediaHierarchyManager hierarchyManager, MediaDataManager dataManager,
72             MediaHostStatesManager statesManager, MediaCarouselController carouselController,
73             MediaCarouselControllerLogger logger) {
74         return new MediaHost(stateHolder, hierarchyManager, dataManager, statesManager,
75                 carouselController, logger);
76     }
77 
78     /** */
79     @Provides
80     @SysUISingleton
81     @Named(KEYGUARD)
providesKeyguardMediaHost(MediaHost.MediaHostStateHolder stateHolder, MediaHierarchyManager hierarchyManager, MediaDataManager dataManager, MediaHostStatesManager statesManager, MediaCarouselController carouselController, MediaCarouselControllerLogger logger)82     static MediaHost providesKeyguardMediaHost(MediaHost.MediaHostStateHolder stateHolder,
83             MediaHierarchyManager hierarchyManager, MediaDataManager dataManager,
84             MediaHostStatesManager statesManager, MediaCarouselController carouselController,
85             MediaCarouselControllerLogger logger) {
86         return new MediaHost(stateHolder, hierarchyManager, dataManager, statesManager,
87                 carouselController, logger);
88     }
89 
90     /** */
91     @Provides
92     @SysUISingleton
93     @Named(DREAM)
providesDreamMediaHost(MediaHost.MediaHostStateHolder stateHolder, MediaHierarchyManager hierarchyManager, MediaDataManager dataManager, MediaHostStatesManager statesManager, MediaCarouselController carouselController, MediaCarouselControllerLogger logger)94     static MediaHost providesDreamMediaHost(MediaHost.MediaHostStateHolder stateHolder,
95             MediaHierarchyManager hierarchyManager, MediaDataManager dataManager,
96             MediaHostStatesManager statesManager, MediaCarouselController carouselController,
97             MediaCarouselControllerLogger logger) {
98         return new MediaHost(stateHolder, hierarchyManager, dataManager, statesManager,
99                 carouselController, logger);
100     }
101 
102     /** */
103     @Provides
104     @SysUISingleton
105     @Named(COMMUNAL_HUB)
providesCommunalMediaHost( MediaHost.MediaHostStateHolder stateHolder, MediaHierarchyManager hierarchyManager, MediaDataManager dataManager, MediaHostStatesManager statesManager, MediaCarouselController carouselController, MediaCarouselControllerLogger logger)106     static MediaHost providesCommunalMediaHost(
107             MediaHost.MediaHostStateHolder stateHolder,
108             MediaHierarchyManager hierarchyManager,
109             MediaDataManager dataManager,
110             MediaHostStatesManager statesManager,
111             MediaCarouselController carouselController,
112             MediaCarouselControllerLogger logger) {
113         return new MediaHost(
114                 stateHolder,
115                 hierarchyManager,
116                 dataManager,
117                 statesManager,
118                 carouselController,
119                 logger);
120     }
121 
122     @Provides
123     @SysUISingleton
124     @Named(POPUP)
providesPopupMediaHost(MediaHost.MediaHostStateHolder stateHolder, MediaHierarchyManager hierarchyManager, MediaDataManager dataManager, MediaHostStatesManager statesManager, MediaCarouselController carouselController, MediaCarouselControllerLogger logger)125     static MediaHost providesPopupMediaHost(MediaHost.MediaHostStateHolder stateHolder,
126             MediaHierarchyManager hierarchyManager, MediaDataManager dataManager,
127             MediaHostStatesManager statesManager, MediaCarouselController carouselController,
128             MediaCarouselControllerLogger logger) {
129         return new MediaHost(stateHolder, hierarchyManager, dataManager, statesManager,
130                 carouselController, logger);
131     }
132 
133     /** Provides a logging buffer related to the media tap-to-transfer chip on the sender device. */
134     @Provides
135     @SysUISingleton
136     @MediaTttSenderLogBuffer
provideMediaTttSenderLogBuffer(LogBufferFactory factory)137     static LogBuffer provideMediaTttSenderLogBuffer(LogBufferFactory factory) {
138         return factory.create("MediaTttSender", 30);
139     }
140 
141     /**
142      * Provides a logging buffer related to the media tap-to-transfer chip on the receiver device.
143      */
144     @Provides
145     @SysUISingleton
146     @MediaTttReceiverLogBuffer
provideMediaTttReceiverLogBuffer(LogBufferFactory factory)147     static LogBuffer provideMediaTttReceiverLogBuffer(LogBufferFactory factory) {
148         return factory.create("MediaTttReceiver", 20);
149     }
150 }
151