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.keyguard.ui.viewmodel
18 
19 import com.android.systemui.accessibility.domain.interactor.accessibilityInteractor
20 import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor
21 import com.android.systemui.deviceentry.domain.interactor.deviceEntrySourceInteractor
22 import com.android.systemui.deviceentry.domain.interactor.deviceEntryUdfpsInteractor
23 import com.android.systemui.keyguard.domain.interactor.burnInInteractor
24 import com.android.systemui.keyguard.domain.interactor.keyguardInteractor
25 import com.android.systemui.keyguard.domain.interactor.keyguardTransitionInteractor
26 import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
27 import com.android.systemui.kosmos.Kosmos
28 import com.android.systemui.kosmos.Kosmos.Fixture
29 import com.android.systemui.kosmos.testScope
30 import com.android.systemui.shade.domain.interactor.shadeInteractor
31 import com.android.systemui.statusbar.phone.statusBarKeyguardViewManager
32 import kotlinx.coroutines.ExperimentalCoroutinesApi
33 
<lambda>null34 val Kosmos.fakeDeviceEntryIconViewModelTransition by Fixture { FakeDeviceEntryIconTransition() }
35 
<lambda>null36 val Kosmos.deviceEntryIconViewModelTransitionsMock by Fixture {
37     setOf<DeviceEntryIconTransition>(fakeDeviceEntryIconViewModelTransition)
38 }
39 
40 @ExperimentalCoroutinesApi
<lambda>null41 val Kosmos.deviceEntryIconViewModel by Fixture {
42     DeviceEntryIconViewModel(
43         transitions = deviceEntryIconViewModelTransitionsMock,
44         burnInInteractor = burnInInteractor,
45         shadeInteractor = shadeInteractor,
46         deviceEntryUdfpsInteractor = deviceEntryUdfpsInteractor,
47         transitionInteractor = keyguardTransitionInteractor,
48         keyguardInteractor = keyguardInteractor,
49         viewModel = aodToLockscreenTransitionViewModel,
50         keyguardViewController = { statusBarKeyguardViewManager },
51         deviceEntryInteractor = deviceEntryInteractor,
52         deviceEntrySourceInteractor = deviceEntrySourceInteractor,
53         accessibilityInteractor = accessibilityInteractor,
54         scope = testScope.backgroundScope,
55     )
56 }
57