1//
2// Copyright (C) 2018 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
17package {
18    default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
19}
20
21// Added automatically by a large-scale-change
22// See: http://go/android-license-faq
23license {
24    name: "frameworks_base_packages_SystemUI_license",
25    visibility: [":__subpackages__"],
26    license_kinds: [
27        "SPDX-license-identifier-Apache-2.0",
28    ],
29    license_text: [
30        "NOTICE",
31    ],
32}
33
34java_library {
35    name: "SystemUI-proto",
36
37    srcs: ["src/**/*.proto"],
38
39    proto: {
40        type: "nano",
41    },
42
43    libs: [
44        "WindowManager-Shell-proto",
45    ],
46}
47
48java_library {
49    name: "SystemUI-tags",
50    srcs: ["src/com/android/systemui/EventLogTags.logtags"],
51}
52
53filegroup {
54    name: "ReleaseJavaFiles",
55    srcs: [
56        "src-release/**/*.kt",
57        "src-release/**/*.java",
58    ],
59}
60
61filegroup {
62    name: "DebugJavaFiles",
63    srcs: [
64        "src-debug/**/*.kt",
65        "src-debug/**/*.java",
66    ],
67}
68
69android_library {
70    name: "SystemUI-core",
71    srcs: [
72        "src/**/*.kt",
73        "src/**/*.java",
74        "src/**/I*.aidl",
75        ":ReleaseJavaFiles",
76    ],
77    product_variables: {
78        debuggable: {
79            srcs: [":DebugJavaFiles"],
80            exclude_srcs: [":ReleaseJavaFiles"],
81        },
82    },
83    resource_dirs: [
84        "res-product",
85        "res-keyguard",
86        "res",
87    ],
88    static_libs: [
89        "WindowManager-Shell",
90        "SystemUIAnimationLib",
91        "SystemUIPluginLib",
92        "SystemUISharedLib",
93        "SystemUI-statsd",
94        "SettingsLib",
95        "androidx.viewpager2_viewpager2",
96        "androidx.legacy_legacy-support-v4",
97        "androidx.recyclerview_recyclerview",
98        "androidx.preference_preference",
99        "androidx.appcompat_appcompat",
100        "androidx.concurrent_concurrent-futures",
101        "androidx.mediarouter_mediarouter",
102        "androidx.palette_palette",
103        "androidx.legacy_legacy-preference-v14",
104        "androidx.leanback_leanback",
105        "androidx.slice_slice-core",
106        "androidx.slice_slice-view",
107        "androidx.slice_slice-builders",
108        "androidx.arch.core_core-runtime",
109        "androidx.lifecycle_lifecycle-extensions",
110        "androidx.dynamicanimation_dynamicanimation",
111        "androidx-constraintlayout_constraintlayout",
112        "androidx.exifinterface_exifinterface",
113        "kotlinx_coroutines_android",
114        "kotlinx_coroutines",
115        "iconloader_base",
116        "SystemUI-tags",
117        "SystemUI-proto",
118        "monet",
119        "dagger2",
120        "jsr330",
121        "lottie",
122    ],
123    manifest: "AndroidManifest.xml",
124
125    kotlincflags: ["-Xjvm-default=enable"],
126
127    plugins: ["dagger2-compiler"],
128}
129
130filegroup {
131    name: "SystemUI-tests-utils",
132    srcs: [
133        "tests/src/com/android/systemui/SysuiTestCase.java",
134        "tests/src/com/android/systemui/TestableDependency.java",
135        "tests/src/com/android/systemui/classifier/FalsingManagerFake.java",
136        "tests/src/com/android/systemui/statusbar/notification/collection/NotificationEntryBuilder.java",
137        "tests/src/com/android/systemui/statusbar/RankingBuilder.java",
138        "tests/src/com/android/systemui/statusbar/SbnBuilder.java",
139        "tests/src/com/android/systemui/SysuiTestableContext.java",
140        "tests/src/com/android/systemui/utils/leaks/BaseLeakChecker.java",
141        "tests/src/com/android/systemui/utils/leaks/LeakCheckedTest.java",
142        "tests/src/com/android/systemui/**/Fake*.java",
143        "tests/src/com/android/systemui/**/Fake*.kt",
144    ],
145    exclude_srcs: [
146        "tests/src/com/android/systemui/**/*Test.java",
147        "tests/src/com/android/systemui/**/*Test.kt",
148    ],
149    path: "tests/src",
150}
151
152android_library {
153    name: "SystemUI-tests",
154    manifest: "tests/AndroidManifest-base.xml",
155    additional_manifests: ["tests/AndroidManifest.xml"],
156
157    resource_dirs: [
158        "tests/res",
159        "res-product",
160        "res-keyguard",
161        "res",
162    ],
163    srcs: [
164        "tests/src/**/*.kt",
165        "tests/src/**/*.java",
166        "src/**/*.kt",
167        "src/**/*.java",
168        "src/**/I*.aidl",
169        ":ReleaseJavaFiles",
170    ],
171    static_libs: [
172        "SystemUIAnimationLib",
173        "SystemUIPluginLib",
174        "SystemUISharedLib",
175        "SystemUI-statsd",
176        "SettingsLib",
177        "androidx.viewpager2_viewpager2",
178        "androidx.legacy_legacy-support-v4",
179        "androidx.recyclerview_recyclerview",
180        "androidx.preference_preference",
181        "androidx.appcompat_appcompat",
182        "androidx.concurrent_concurrent-futures",
183        "androidx.mediarouter_mediarouter",
184        "androidx.palette_palette",
185        "androidx.legacy_legacy-preference-v14",
186        "androidx.leanback_leanback",
187        "androidx.slice_slice-core",
188        "androidx.slice_slice-view",
189        "androidx.slice_slice-builders",
190        "androidx.arch.core_core-runtime",
191        "androidx.lifecycle_lifecycle-extensions",
192        "androidx.dynamicanimation_dynamicanimation",
193        "androidx-constraintlayout_constraintlayout",
194        "androidx.exifinterface_exifinterface",
195        "kotlinx-coroutines-android",
196        "kotlinx-coroutines-core",
197        "iconloader_base",
198        "SystemUI-tags",
199        "SystemUI-proto",
200        "metrics-helper-lib",
201        "hamcrest-library",
202        "androidx.test.rules",
203        "androidx.test.uiautomator",
204        "mockito-target-extended-minus-junit4",
205        "testables",
206        "truth-prebuilt",
207        "monet",
208        "dagger2",
209        "jsr330",
210        "WindowManager-Shell",
211    ],
212    libs: [
213        "android.test.runner",
214        "android.test.base",
215    ],
216    kotlincflags: ["-Xjvm-default=enable"],
217    aaptflags: [
218        "--extra-packages",
219        "com.android.systemui",
220    ],
221    plugins: ["dagger2-compiler"],
222}
223
224android_app {
225    name: "SystemUI",
226    defaults: ["platform_app_defaults"],
227    static_libs: [
228        "SystemUI-core",
229    ],
230    resource_dirs: [],
231
232    platform_apis: true,
233    system_ext_specific: true,
234    certificate: "platform",
235    privileged: true,
236
237    optimize: {
238        proguard_flags_files: ["proguard.flags"],
239    },
240
241    kotlincflags: ["-Xjvm-default=enable"],
242
243    dxflags: ["--multi-dex"],
244    required: [
245        "privapp_whitelist_com.android.systemui",
246    ],
247}
248