• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.shade.data.repository
18 
19 import com.android.systemui.display.data.repository.FakeFocusedDisplayRepository
20 import com.android.systemui.display.data.repository.displayRepository
21 import com.android.systemui.keyguard.data.repository.keyguardRepository
22 import com.android.systemui.kosmos.Kosmos
23 import com.android.systemui.kosmos.testScope
24 import com.android.systemui.shade.display.AnyExternalShadeDisplayPolicy
25 import com.android.systemui.shade.display.DefaultDisplayShadePolicy
26 import com.android.systemui.shade.display.FakeShadeDisplayPolicy
27 import com.android.systemui.shade.display.FocusShadeDisplayPolicy
28 import com.android.systemui.shade.display.ShadeDisplayPolicy
29 import com.android.systemui.shade.display.ShadeExpansionIntent
30 import com.android.systemui.shade.display.StatusBarTouchShadeDisplayPolicy
31 import com.android.systemui.shade.domain.interactor.notificationElement
32 import com.android.systemui.shade.domain.interactor.qsElement
33 import com.android.systemui.util.settings.fakeGlobalSettings
34 
35 val Kosmos.defaultShadeDisplayPolicy: DefaultDisplayShadePolicy by
<lambda>null36     Kosmos.Fixture { DefaultDisplayShadePolicy() }
37 
38 val Kosmos.anyExternalShadeDisplayPolicy: AnyExternalShadeDisplayPolicy by
<lambda>null39     Kosmos.Fixture {
40         AnyExternalShadeDisplayPolicy(
41             bgScope = testScope.backgroundScope,
42             displayRepository = displayRepository,
43         )
44     }
45 
46 val Kosmos.statusBarTouchShadeDisplayPolicy: StatusBarTouchShadeDisplayPolicy by
<lambda>null47     Kosmos.Fixture {
48         StatusBarTouchShadeDisplayPolicy(
49             displayRepository = displayRepository,
50             backgroundScope = testScope.backgroundScope,
51             qsShadeElement = { qsElement },
52             notificationElement = { notificationElement },
53         )
54     }
55 val Kosmos.shadeExpansionIntent: ShadeExpansionIntent by
<lambda>null56     Kosmos.Fixture { statusBarTouchShadeDisplayPolicy }
57 val Kosmos.shadeDisplaysRepository: ShadeDisplaysRepository by
<lambda>null58     Kosmos.Fixture {
59         ShadeDisplaysRepositoryImpl(
60             bgScope = testScope.backgroundScope,
61             globalSettings = fakeGlobalSettings,
62             policies = shadeDisplayPolicies,
63             defaultPolicy = defaultShadeDisplayPolicy,
64             shadeOnDefaultDisplayWhenLocked = true,
65             keyguardRepository = keyguardRepository,
66             displayRepository = displayRepository,
67         )
68     }
69 
70 val Kosmos.shadeDisplayPolicies: Set<ShadeDisplayPolicy> by
<lambda>null71     Kosmos.Fixture {
72         setOf(
73             defaultShadeDisplayPolicy,
74             anyExternalShadeDisplayPolicy,
75             statusBarTouchShadeDisplayPolicy,
76             focusShadeDisplayPolicy,
77             FakeShadeDisplayPolicy,
78         )
79     }
80 
81 val Kosmos.fakeShadeDisplaysRepository: FakeShadeDisplayRepository by
<lambda>null82     Kosmos.Fixture { FakeShadeDisplayRepository() }
83 val Kosmos.fakeFocusedDisplayRepository: FakeFocusedDisplayRepository by
<lambda>null84     Kosmos.Fixture { FakeFocusedDisplayRepository() }
85 
86 val Kosmos.focusShadeDisplayPolicy: FocusShadeDisplayPolicy by
<lambda>null87     Kosmos.Fixture {
88         FocusShadeDisplayPolicy(focusedDisplayRepository = fakeFocusedDisplayRepository)
89     }
90