1 /* 2 * Copyright (C) 2022 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.keyguard.domain.interactor 17 18 import com.android.systemui.CoreStartable 19 import dagger.Binds 20 import dagger.Module 21 import dagger.multibindings.ClassKey 22 import dagger.multibindings.IntoMap 23 import dagger.multibindings.IntoSet 24 25 @Module 26 abstract class StartKeyguardTransitionModule { 27 28 @Binds 29 @IntoMap 30 @ClassKey(KeyguardTransitionCoreStartable::class) 31 abstract fun bind(impl: KeyguardTransitionCoreStartable): CoreStartable 32 33 @Binds 34 @IntoSet 35 abstract fun fromPrimaryBouncer( 36 impl: FromPrimaryBouncerTransitionInteractor 37 ): TransitionInteractor 38 39 @Binds 40 @IntoSet 41 abstract fun fromLockscreen(impl: FromLockscreenTransitionInteractor): TransitionInteractor 42 43 @Binds @IntoSet abstract fun fromAod(impl: FromAodTransitionInteractor): TransitionInteractor 44 45 @Binds @IntoSet abstract fun fromGone(impl: FromGoneTransitionInteractor): TransitionInteractor 46 47 @Binds 48 @IntoSet 49 abstract fun fromDreaming(impl: FromDreamingTransitionInteractor): TransitionInteractor 50 51 @Binds 52 @IntoSet 53 abstract fun fromDreamingLockscreenHosted( 54 impl: FromDreamingLockscreenHostedTransitionInteractor 55 ): TransitionInteractor 56 57 @Binds 58 @IntoSet 59 abstract fun fromOccluded(impl: FromOccludedTransitionInteractor): TransitionInteractor 60 61 @Binds 62 @IntoSet 63 abstract fun fromDozing(impl: FromDozingTransitionInteractor): TransitionInteractor 64 65 @Binds 66 @IntoSet 67 abstract fun fromAlternateBouncer( 68 impl: FromAlternateBouncerTransitionInteractor 69 ): TransitionInteractor 70 } 71