1 package com.android.systemui.complication.dagger 2 3 import androidx.lifecycle.LifecycleOwner 4 import androidx.lifecycle.ViewModelStore 5 import com.android.systemui.complication.Complication 6 import com.android.systemui.complication.ComplicationHostViewController 7 import com.android.systemui.complication.ComplicationLayoutEngine 8 import com.android.systemui.touch.TouchInsetManager 9 import dagger.BindsInstance 10 import dagger.Subcomponent 11 12 @Subcomponent(modules = [ComplicationModule::class]) 13 @ComplicationModule.ComplicationScope 14 interface ComplicationComponent { 15 /** Factory for generating [ComplicationComponent]. */ 16 @Subcomponent.Factory 17 interface Factory { 18 fun create( 19 @BindsInstance lifecycleOwner: LifecycleOwner, 20 @BindsInstance host: Complication.Host, 21 @BindsInstance viewModelStore: ViewModelStore, 22 @BindsInstance touchInsetManager: TouchInsetManager 23 ): ComplicationComponent 24 } 25 26 fun getComplicationHostViewController(): ComplicationHostViewController 27 28 fun getVisibilityController(): ComplicationLayoutEngine 29 } 30