1 /* 2 * Copyright (C) 2024 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.data.repository 18 19 import android.content.applicationContext 20 import android.os.fakeExecutorHandler 21 import com.android.systemui.keyguard.domain.interactor.keyguardBlueprintInteractor 22 import com.android.systemui.keyguard.domain.interactor.keyguardClockInteractor 23 import com.android.systemui.keyguard.ui.view.layout.blueprints.DefaultKeyguardBlueprint 24 import com.android.systemui.keyguard.ui.view.layout.blueprints.SplitShadeKeyguardBlueprint 25 import com.android.systemui.keyguard.ui.view.layout.sections.ClockSection 26 import com.android.systemui.keyguard.ui.view.layout.sections.SmartspaceSection 27 import com.android.systemui.keyguard.ui.viewmodel.keyguardClockViewModel 28 import com.android.systemui.keyguard.ui.viewmodel.keyguardRootViewModel 29 import com.android.systemui.keyguard.ui.viewmodel.keyguardSmartspaceViewModel 30 import com.android.systemui.kosmos.Kosmos 31 import com.android.systemui.util.mockito.mock 32 import java.util.Optional 33 import org.mockito.Mockito.spy 34 35 val Kosmos.keyguardClockSection: ClockSection by <lambda>null36 Kosmos.Fixture { 37 ClockSection( 38 clockInteractor = keyguardClockInteractor, 39 keyguardClockViewModel = keyguardClockViewModel, 40 context = applicationContext, 41 smartspaceViewModel = keyguardSmartspaceViewModel, 42 blueprintInteractor = { keyguardBlueprintInteractor }, 43 rootViewModel = keyguardRootViewModel, 44 ) 45 } 46 47 val Kosmos.keyguardSmartspaceSection: SmartspaceSection by <lambda>null48 Kosmos.Fixture { mock<SmartspaceSection>() } 49 50 val Kosmos.defaultKeyguardBlueprint by <lambda>null51 Kosmos.Fixture { 52 DefaultKeyguardBlueprint( 53 defaultIndicationAreaSection = mock(), 54 defaultDeviceEntrySection = mock(), 55 defaultShortcutsSection = mock(), 56 defaultAmbientIndicationAreaSection = Optional.of(mock()), 57 defaultSettingsPopupMenuSection = mock(), 58 defaultStatusViewSection = mock(), 59 defaultStatusBarSection = mock(), 60 defaultNotificationStackScrollLayoutSection = mock(), 61 aodNotificationIconsSection = mock(), 62 aodBurnInSection = mock(), 63 communalTutorialIndicatorSection = mock(), 64 clockSection = keyguardClockSection, 65 smartspaceSection = keyguardSmartspaceSection, 66 keyguardSliceViewSection = mock(), 67 udfpsAccessibilityOverlaySection = mock(), 68 accessibilityActionsSection = mock(), 69 ) 70 } 71 72 val Kosmos.splitShadeBlueprint by <lambda>null73 Kosmos.Fixture { 74 SplitShadeKeyguardBlueprint( 75 defaultIndicationAreaSection = mock(), 76 defaultDeviceEntrySection = mock(), 77 defaultShortcutsSection = mock(), 78 defaultAmbientIndicationAreaSection = Optional.of(mock()), 79 defaultSettingsPopupMenuSection = mock(), 80 defaultStatusViewSection = mock(), 81 defaultStatusBarSection = mock(), 82 splitShadeNotificationStackScrollLayoutSection = mock(), 83 splitShadeGuidelines = mock(), 84 aodNotificationIconsSection = mock(), 85 aodBurnInSection = mock(), 86 communalTutorialIndicatorSection = mock(), 87 clockSection = keyguardClockSection, 88 smartspaceSection = keyguardSmartspaceSection, 89 mediaSection = mock(), 90 accessibilityActionsSection = mock(), 91 ) 92 } 93 94 val Kosmos.keyguardBlueprintRepository by <lambda>null95 Kosmos.Fixture { 96 spy( 97 KeyguardBlueprintRepository( 98 blueprints = 99 setOf( 100 defaultKeyguardBlueprint, 101 splitShadeBlueprint, 102 ), 103 handler = fakeExecutorHandler, 104 assert = mock(), 105 ) 106 ) 107 } 108