1 /* 2 * Copyright (C) 2023 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 package com.android.systemui.tv.dagger 17 18 import com.android.systemui.dagger.DependencyProvider 19 import com.android.systemui.dagger.SysUIComponent 20 import com.android.systemui.dagger.SysUISingleton 21 import com.android.systemui.dagger.SystemUIModule 22 import com.android.systemui.keyguard.dagger.KeyguardModule 23 import com.android.systemui.navigationbar.NoopNavigationBarControllerModule 24 import com.android.systemui.scene.ShadelessSceneContainerFrameworkModule 25 import com.android.systemui.statusbar.dagger.CentralSurfacesDependenciesModule 26 import com.android.systemui.tv.recents.TvRecentsModule 27 import com.android.systemui.wallpapers.dagger.NoopWallpaperModule 28 import com.android.systemui.window.dagger.WindowRootViewBlurNotSupportedModule; 29 import dagger.Subcomponent 30 31 /** 32 * Dagger Subcomponent for Tv SysUI. 33 */ 34 @SysUISingleton 35 @Subcomponent( 36 modules = [ 37 CentralSurfacesDependenciesModule::class, 38 TvServiceBinder::class, 39 TvBroadcastReceiverBinder::class, 40 DependencyProvider::class, 41 KeyguardModule::class, 42 NoopNavigationBarControllerModule::class, 43 NoopWallpaperModule::class, 44 TvRecentsModule::class, 45 ShadelessSceneContainerFrameworkModule::class, 46 SystemUIModule::class, 47 TvSystemUIBinder::class, 48 TVSystemUICoreStartableModule::class, 49 TvSystemUIModule::class, 50 WindowRootViewBlurNotSupportedModule::class, 51 ] 52 ) 53 interface TvSysUIComponent : SysUIComponent { 54 /** 55 * Builder for a SysUIComponent. 56 */ 57 @Subcomponent.Builder 58 interface Builder : SysUIComponent.Builder { buildnull59 override fun build(): TvSysUIComponent 60 } 61 } 62