blob: fcf27009883a654182425222ac27eb71fe69c50d [file] [log] [blame]
Sergey Nikolaienkov7842bac2019-12-19 16:34:11 +01001/*
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.tv;
18
19import android.content.Context;
20
21import com.android.systemui.dagger.DefaultComponentBinder;
22import com.android.systemui.dagger.DependencyBinder;
23import com.android.systemui.dagger.DependencyProvider;
24import com.android.systemui.dagger.SystemServicesModule;
25import com.android.systemui.dagger.SystemUIBinder;
26import com.android.systemui.dagger.SystemUIDefaultModule;
27import com.android.systemui.dagger.SystemUIModule;
28import com.android.systemui.dagger.SystemUIRootComponent;
29
30import javax.inject.Singleton;
31
32import dagger.BindsInstance;
33import dagger.Component;
34
35/**
36 * Root component for Dagger injection.
37 */
38@Singleton
39@Component(modules = {
40 DefaultComponentBinder.class,
41 DependencyProvider.class,
42 DependencyBinder.class,
43 SystemServicesModule.class,
44 SystemUIBinder.class,
45 SystemUIModule.class,
46 SystemUIDefaultModule.class,
47 TvSystemUIBinder.class})
48public interface TvSystemUIRootComponent extends SystemUIRootComponent {
49 /**
50 * Component Builder interface. This allows to bind Context instance in the component
51 */
52 @Component.Builder
53 interface Builder {
54 @BindsInstance Builder context(Context context);
55
56 TvSystemUIRootComponent build();
57 }
58}