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 com.android.systemui.keyguard.domain.interactor.scenetransition.LockscreenSceneTransitionInteractor 20 import dagger.Binds 21 import dagger.Module 22 import dagger.multibindings.ClassKey 23 import dagger.multibindings.IntoMap 24 import dagger.multibindings.IntoSet 25 26 @Module 27 abstract class StartKeyguardTransitionModule { 28 29 @Binds 30 @IntoMap 31 @ClassKey(KeyguardTransitionCoreStartable::class) bindnull32 abstract fun bind(impl: KeyguardTransitionCoreStartable): CoreStartable 33 34 @Binds 35 @IntoMap 36 @ClassKey(LockscreenSceneTransitionInteractor::class) 37 abstract fun bindLockscreenSceneTransitionInteractor( 38 impl: LockscreenSceneTransitionInteractor 39 ): CoreStartable 40 41 @Binds 42 @IntoSet 43 abstract fun fromPrimaryBouncer( 44 impl: FromPrimaryBouncerTransitionInteractor 45 ): TransitionInteractor 46 47 @Binds 48 @IntoSet 49 abstract fun fromLockscreen(impl: FromLockscreenTransitionInteractor): TransitionInteractor 50 51 @Binds @IntoSet abstract fun fromAod(impl: FromAodTransitionInteractor): TransitionInteractor 52 53 @Binds @IntoSet abstract fun fromGone(impl: FromGoneTransitionInteractor): TransitionInteractor 54 55 @Binds 56 @IntoSet 57 abstract fun fromDreaming(impl: FromDreamingTransitionInteractor): TransitionInteractor 58 59 @Binds 60 @IntoSet 61 abstract fun fromDreamingLockscreenHosted( 62 impl: FromDreamingLockscreenHostedTransitionInteractor 63 ): TransitionInteractor 64 65 @Binds 66 @IntoSet 67 abstract fun fromOccluded(impl: FromOccludedTransitionInteractor): TransitionInteractor 68 69 @Binds 70 @IntoSet 71 abstract fun fromDozing(impl: FromDozingTransitionInteractor): TransitionInteractor 72 73 @Binds 74 @IntoSet 75 abstract fun fromAlternateBouncer( 76 impl: FromAlternateBouncerTransitionInteractor 77 ): TransitionInteractor 78 79 @Binds 80 @IntoSet 81 abstract fun fromGlanceableHub( 82 impl: FromGlanceableHubTransitionInteractor 83 ): TransitionInteractor 84 } 85