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 package com.android.systemui.keyguard.ui.transitions 17 18 import com.android.systemui.keyguard.ui.viewmodel.AlternateBouncerToAodTransitionViewModel 19 import com.android.systemui.keyguard.ui.viewmodel.AlternateBouncerToDozingTransitionViewModel 20 import com.android.systemui.keyguard.ui.viewmodel.AlternateBouncerToGoneTransitionViewModel 21 import com.android.systemui.keyguard.ui.viewmodel.AlternateBouncerToOccludedTransitionViewModel 22 import com.android.systemui.keyguard.ui.viewmodel.AlternateBouncerToPrimaryBouncerTransitionViewModel 23 import com.android.systemui.keyguard.ui.viewmodel.AodToGoneTransitionViewModel 24 import com.android.systemui.keyguard.ui.viewmodel.AodToLockscreenTransitionViewModel 25 import com.android.systemui.keyguard.ui.viewmodel.AodToOccludedTransitionViewModel 26 import com.android.systemui.keyguard.ui.viewmodel.AodToPrimaryBouncerTransitionViewModel 27 import com.android.systemui.keyguard.ui.viewmodel.DozingToGoneTransitionViewModel 28 import com.android.systemui.keyguard.ui.viewmodel.DozingToLockscreenTransitionViewModel 29 import com.android.systemui.keyguard.ui.viewmodel.DozingToOccludedTransitionViewModel 30 import com.android.systemui.keyguard.ui.viewmodel.DozingToPrimaryBouncerTransitionViewModel 31 import com.android.systemui.keyguard.ui.viewmodel.DreamingToAodTransitionViewModel 32 import com.android.systemui.keyguard.ui.viewmodel.DreamingToGlanceableHubTransitionViewModel 33 import com.android.systemui.keyguard.ui.viewmodel.DreamingToLockscreenTransitionViewModel 34 import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToDreamingTransitionViewModel 35 import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToOccludedTransitionViewModel 36 import com.android.systemui.keyguard.ui.viewmodel.GoneToAodTransitionViewModel 37 import com.android.systemui.keyguard.ui.viewmodel.GoneToDozingTransitionViewModel 38 import com.android.systemui.keyguard.ui.viewmodel.GoneToGlanceableHubTransitionViewModel 39 import com.android.systemui.keyguard.ui.viewmodel.GoneToLockscreenTransitionViewModel 40 import com.android.systemui.keyguard.ui.viewmodel.LockscreenToAodTransitionViewModel 41 import com.android.systemui.keyguard.ui.viewmodel.LockscreenToDozingTransitionViewModel 42 import com.android.systemui.keyguard.ui.viewmodel.LockscreenToDreamingTransitionViewModel 43 import com.android.systemui.keyguard.ui.viewmodel.LockscreenToGoneTransitionViewModel 44 import com.android.systemui.keyguard.ui.viewmodel.LockscreenToOccludedTransitionViewModel 45 import com.android.systemui.keyguard.ui.viewmodel.LockscreenToPrimaryBouncerTransitionViewModel 46 import com.android.systemui.keyguard.ui.viewmodel.OccludedToAodTransitionViewModel 47 import com.android.systemui.keyguard.ui.viewmodel.OccludedToGlanceableHubTransitionViewModel 48 import com.android.systemui.keyguard.ui.viewmodel.OccludedToLockscreenTransitionViewModel 49 import com.android.systemui.keyguard.ui.viewmodel.OffToLockscreenTransitionViewModel 50 import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToAodTransitionViewModel 51 import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToDozingTransitionViewModel 52 import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToLockscreenTransitionViewModel 53 import dagger.Binds 54 import dagger.Module 55 import dagger.multibindings.IntoSet 56 import kotlinx.coroutines.ExperimentalCoroutinesApi 57 58 @ExperimentalCoroutinesApi 59 @Module 60 abstract class DeviceEntryIconTransitionModule { 61 @Binds 62 @IntoSet alternateBouncerToAodnull63 abstract fun alternateBouncerToAod( 64 impl: AlternateBouncerToAodTransitionViewModel 65 ): DeviceEntryIconTransition 66 67 @Binds 68 @IntoSet 69 abstract fun alternateBouncerToDozing( 70 impl: AlternateBouncerToDozingTransitionViewModel 71 ): DeviceEntryIconTransition 72 73 @Binds 74 @IntoSet 75 abstract fun alternateBouncerToGone( 76 impl: AlternateBouncerToGoneTransitionViewModel 77 ): DeviceEntryIconTransition 78 79 @Binds 80 @IntoSet 81 abstract fun alternateBouncerToOccluded( 82 impl: AlternateBouncerToOccludedTransitionViewModel 83 ): DeviceEntryIconTransition 84 85 @Binds 86 @IntoSet 87 abstract fun alternateBouncerToPrimaryBouncer( 88 impl: AlternateBouncerToPrimaryBouncerTransitionViewModel 89 ): DeviceEntryIconTransition 90 91 @Binds 92 @IntoSet 93 abstract fun aodToGone(impl: AodToGoneTransitionViewModel): DeviceEntryIconTransition 94 95 @Binds 96 @IntoSet 97 abstract fun aodToLockscreen( 98 impl: AodToLockscreenTransitionViewModel 99 ): DeviceEntryIconTransition 100 101 @Binds 102 @IntoSet 103 abstract fun aodToOccluded(impl: AodToOccludedTransitionViewModel): DeviceEntryIconTransition 104 105 @Binds 106 @IntoSet 107 abstract fun aodToPrimaryBouncer( 108 impl: AodToPrimaryBouncerTransitionViewModel 109 ): DeviceEntryIconTransition 110 111 @Binds 112 @IntoSet 113 abstract fun dozingToGone(impl: DozingToGoneTransitionViewModel): DeviceEntryIconTransition 114 115 @Binds 116 @IntoSet 117 abstract fun dozingToLockscreen( 118 impl: DozingToLockscreenTransitionViewModel 119 ): DeviceEntryIconTransition 120 121 @Binds 122 @IntoSet 123 abstract fun dozingToOccluded( 124 impl: DozingToOccludedTransitionViewModel 125 ): DeviceEntryIconTransition 126 127 @Binds 128 @IntoSet 129 abstract fun dozingToPrimaryBouncer( 130 impl: DozingToPrimaryBouncerTransitionViewModel 131 ): DeviceEntryIconTransition 132 133 @Binds 134 @IntoSet 135 abstract fun dreamingToAod(impl: DreamingToAodTransitionViewModel): DeviceEntryIconTransition 136 137 @Binds 138 @IntoSet 139 abstract fun dreamingToLockscreen( 140 impl: DreamingToLockscreenTransitionViewModel 141 ): DeviceEntryIconTransition 142 143 @Binds 144 @IntoSet 145 abstract fun lockscreenToAod( 146 impl: LockscreenToAodTransitionViewModel 147 ): DeviceEntryIconTransition 148 149 @Binds 150 @IntoSet 151 abstract fun lockscreenToDozing( 152 impl: LockscreenToDozingTransitionViewModel 153 ): DeviceEntryIconTransition 154 155 @Binds 156 @IntoSet 157 abstract fun lockscreenToDreaming( 158 impl: LockscreenToDreamingTransitionViewModel 159 ): DeviceEntryIconTransition 160 161 @Binds 162 @IntoSet 163 abstract fun lockscreenToOccluded( 164 impl: LockscreenToOccludedTransitionViewModel 165 ): DeviceEntryIconTransition 166 167 @Binds 168 @IntoSet 169 abstract fun lockscreenToPrimaryBouncer( 170 impl: LockscreenToPrimaryBouncerTransitionViewModel 171 ): DeviceEntryIconTransition 172 173 @Binds 174 @IntoSet 175 abstract fun lockscreenToGone( 176 impl: LockscreenToGoneTransitionViewModel 177 ): DeviceEntryIconTransition 178 179 @Binds 180 @IntoSet 181 abstract fun goneToAod(impl: GoneToAodTransitionViewModel): DeviceEntryIconTransition 182 183 @Binds 184 @IntoSet 185 abstract fun goneToLockscreen( 186 impl: GoneToLockscreenTransitionViewModel 187 ): DeviceEntryIconTransition 188 189 @Binds 190 @IntoSet 191 abstract fun goneToDozing(impl: GoneToDozingTransitionViewModel): DeviceEntryIconTransition 192 193 @Binds 194 @IntoSet 195 abstract fun occludedToAod(impl: OccludedToAodTransitionViewModel): DeviceEntryIconTransition 196 197 @Binds 198 @IntoSet 199 abstract fun occludedToLockscreen( 200 impl: OccludedToLockscreenTransitionViewModel 201 ): DeviceEntryIconTransition 202 203 @Binds 204 @IntoSet 205 abstract fun offToLockscreen( 206 impl: OffToLockscreenTransitionViewModel 207 ): DeviceEntryIconTransition 208 209 @Binds 210 @IntoSet 211 abstract fun primaryBouncerToAod( 212 impl: PrimaryBouncerToAodTransitionViewModel 213 ): DeviceEntryIconTransition 214 215 @Binds 216 @IntoSet 217 abstract fun primaryBouncerToDozing( 218 impl: PrimaryBouncerToDozingTransitionViewModel 219 ): DeviceEntryIconTransition 220 221 @Binds 222 @IntoSet 223 abstract fun primaryBouncerToLockscreen( 224 impl: PrimaryBouncerToLockscreenTransitionViewModel 225 ): DeviceEntryIconTransition 226 227 @Binds 228 @IntoSet 229 abstract fun dreamingToGlanceableHub( 230 impl: DreamingToGlanceableHubTransitionViewModel 231 ): DeviceEntryIconTransition 232 233 @Binds 234 @IntoSet 235 abstract fun glanceableHubToDreaming( 236 impl: GlanceableHubToDreamingTransitionViewModel 237 ): DeviceEntryIconTransition 238 239 @Binds 240 @IntoSet 241 abstract fun glanceableHubToOccluded( 242 impl: GlanceableHubToOccludedTransitionViewModel 243 ): DeviceEntryIconTransition 244 245 @Binds 246 @IntoSet 247 abstract fun occludedToGlanceableHub( 248 impl: OccludedToGlanceableHubTransitionViewModel 249 ): DeviceEntryIconTransition 250 251 @Binds 252 @IntoSet 253 abstract fun goneToGlanceableHub( 254 impl: GoneToGlanceableHubTransitionViewModel 255 ): DeviceEntryIconTransition 256 } 257