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 17 package com.android.systemui.car.userpicker; 18 19 import android.content.Context; 20 21 import com.android.systemui.car.CarServiceProvider; 22 import com.android.systemui.settings.DisplayTracker; 23 24 import dagger.BindsInstance; 25 import dagger.Component; 26 27 /** 28 * Injects dependencies for {@link UserPickerActivity} that has {@link UserPickerScope}. 29 */ 30 @UserPickerScope 31 @Component 32 public interface UserPickerActivityComponent { 33 34 /** 35 * Builder for UserPickerActivityComponent 36 */ 37 @Component.Builder 38 interface Builder { 39 @BindsInstance context(Context context)40 Builder context(Context context); 41 42 @BindsInstance carServiceProvider(CarServiceProvider carServiceProvider)43 Builder carServiceProvider(CarServiceProvider carServiceProvider); 44 45 @BindsInstance displayTracker(DisplayTracker displayTracker)46 Builder displayTracker(DisplayTracker displayTracker); 47 48 @BindsInstance userPickerSharedState(UserPickerSharedState userPickerSharedState)49 Builder userPickerSharedState(UserPickerSharedState userPickerSharedState); 50 build()51 UserPickerActivityComponent build(); 52 } 53 54 /** 55 * required to provide a link to DialogManager 56 */ dialogManager()57 DialogManager dialogManager(); 58 59 /** 60 * required to provide a link to SnackbarManager 61 */ snackbarManager()62 SnackbarManager snackbarManager(); 63 64 /** 65 * required to provide a link to UserPickerController 66 */ userPickerController()67 UserPickerController userPickerController(); 68 } 69