blob: f8fdb95778e4e7edf92a6040215c1f3efb3e8825 [file] [log] [blame]
Jason Monka2f2d822018-08-13 11:10:48 -04001//
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
Bob Badour8a6a2bc2021-02-12 17:07:05 -080017package {
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
Jordan Demeulenaere68e91822022-12-16 10:55:47 +010034// Opt-in configuration for code depending on Jetpack Compose.
35soong_config_module_type {
36 name: "systemui_compose_java_defaults",
37 module_type: "java_defaults",
38 config_namespace: "ANDROID",
39 bool_variables: ["SYSTEMUI_USE_COMPOSE"],
40 properties: [
41 "srcs",
42 "static_libs",
43 ],
44}
45
46systemui_compose_java_defaults {
47 name: "SystemUI_compose_defaults",
48 soong_config_variables: {
49 SYSTEMUI_USE_COMPOSE: {
50 // Because files in compose/features/ depend on SystemUI
51 // code, we compile those files when compiling SystemUI-core.
52 // We also compile the ComposeFacade in
53 // compose/facade/enabled/.
54 srcs: [
55 "compose/features/src/**/*.kt",
56 "compose/facade/enabled/src/**/*.kt",
57 ],
58
59 // The dependencies needed by SystemUIComposeFeatures,
60 // except for SystemUI-core.
61 // Copied from compose/features/Android.bp.
62 static_libs: [
Jordan Demeulenaere8a1747d2022-12-28 11:11:42 +010063 "PlatformComposeCore",
Jordan Demeulenaere68e91822022-12-16 10:55:47 +010064
65 "androidx.compose.runtime_runtime",
66 "androidx.compose.material3_material3",
Jordan Demeulenaerebf43b1d2022-12-16 13:00:23 +010067 "androidx.activity_activity-compose",
Jordan Demeulenaere68e91822022-12-16 10:55:47 +010068 ],
69
70 // By default, Compose is disabled and we compile the ComposeFacade
71 // in compose/facade/disabled/.
72 conditions_default: {
73 srcs: ["compose/facade/disabled/src/**/*.kt"],
74 static_libs: [],
75 },
76 },
77 },
78}
79
Jason Monka2f2d822018-08-13 11:10:48 -040080java_library {
81 name: "SystemUI-proto",
82
83 srcs: ["src/**/*.proto"],
84
85 proto: {
86 type: "nano",
87 },
Winson Chungeb1aa3d2020-08-25 19:02:29 -070088
89 libs: [
90 "WindowManager-Shell-proto",
91 ],
Jason Monka2f2d822018-08-13 11:10:48 -040092}
93
94java_library {
95 name: "SystemUI-tags",
96 srcs: ["src/com/android/systemui/EventLogTags.logtags"],
97}
98
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -040099filegroup {
100 name: "ReleaseJavaFiles",
Jeff DeCew86b8e772021-10-25 20:35:45 -0400101 srcs: [
102 "src-release/**/*.kt",
103 "src-release/**/*.java",
104 ],
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -0400105}
106
107filegroup {
108 name: "DebugJavaFiles",
Jeff DeCew86b8e772021-10-25 20:35:45 -0400109 srcs: [
110 "src-debug/**/*.kt",
111 "src-debug/**/*.java",
112 ],
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -0400113}
114
Xiaozhen Lin53063042022-11-23 02:18:08 +0000115//Create a library to expose SystemUI's resources to other modules.
116android_library {
117 name: "SystemUI-res",
118 resource_dirs: [
119 "res-product",
120 "res-keyguard",
121 "res",
122 ],
123 static_libs: [
124 "SystemUISharedLib",
125 "SettingsLib",
126 "androidx.leanback_leanback",
127 "androidx.slice_slice-core",
128 "androidx.slice_slice-view",
129 ],
130 manifest: "AndroidManifest-res.xml",
131}
132
Jason Monka2f2d822018-08-13 11:10:48 -0400133android_library {
134 name: "SystemUI-core",
Jordan Demeulenaere68e91822022-12-16 10:55:47 +0100135 defaults: [
136 "SystemUI_compose_defaults",
137 ],
Jason Monka2f2d822018-08-13 11:10:48 -0400138 srcs: [
Jason Monkae7ced22018-08-22 16:56:58 -0400139 "src/**/*.kt",
Jason Monka2f2d822018-08-13 11:10:48 -0400140 "src/**/*.java",
141 "src/**/I*.aidl",
Dave Mankoff72a50022021-11-02 20:44:54 -0400142 ":ReleaseJavaFiles",
Jason Monka2f2d822018-08-13 11:10:48 -0400143 ],
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -0400144 product_variables: {
145 debuggable: {
146 srcs: [":DebugJavaFiles"],
147 exclude_srcs: [":ReleaseJavaFiles"],
148 },
149 },
Jason Monka2f2d822018-08-13 11:10:48 -0400150 resource_dirs: [
Sunny Goyalb4a26012019-12-05 15:49:41 -0800151 "res-product",
Jason Monka2f2d822018-08-13 11:10:48 -0400152 "res-keyguard",
153 "res",
154 ],
155 static_libs: [
Quang Luongc6fc5b22021-06-10 14:35:32 -0700156 "WifiTrackerLib",
Winson Chung10a9b4b2019-12-18 10:01:36 -0800157 "WindowManager-Shell",
Jordan Demeulenaerecea62bb2021-04-08 11:04:50 +0200158 "SystemUIAnimationLib",
Jason Monka2f2d822018-08-13 11:10:48 -0400159 "SystemUIPluginLib",
160 "SystemUISharedLib",
Hawkwood Glazierb8eef872022-11-11 17:56:14 +0000161 "SystemUICustomizationLib",
Jerry Chang919d1d22020-07-16 12:31:24 +0800162 "SystemUI-statsd",
Jason Monka2f2d822018-08-13 11:10:48 -0400163 "SettingsLib",
Alejandro Nijamkin38859642022-06-27 14:18:17 -0700164 "androidx.core_core-ktx",
Fabian Kozynski713b7272020-03-03 18:35:52 -0500165 "androidx.viewpager2_viewpager2",
Jason Monka2f2d822018-08-13 11:10:48 -0400166 "androidx.legacy_legacy-support-v4",
167 "androidx.recyclerview_recyclerview",
168 "androidx.preference_preference",
169 "androidx.appcompat_appcompat",
Mark Renoufe2395012020-12-16 01:05:12 -0500170 "androidx.concurrent_concurrent-futures",
Jason Monka2f2d822018-08-13 11:10:48 -0400171 "androidx.mediarouter_mediarouter",
172 "androidx.palette_palette",
173 "androidx.legacy_legacy-preference-v14",
174 "androidx.leanback_leanback",
175 "androidx.slice_slice-core",
176 "androidx.slice_slice-view",
177 "androidx.slice_slice-builders",
178 "androidx.arch.core_core-runtime",
Bryce Lee436e42c2022-01-24 14:53:49 -0800179 "androidx.lifecycle_lifecycle-common-java8",
Jason Monka2f2d822018-08-13 11:10:48 -0400180 "androidx.lifecycle_lifecycle-extensions",
Jordan Demeulenaere8a169ff2022-07-13 10:42:10 +0200181 "androidx.lifecycle_lifecycle-runtime-ktx",
Joshua Tsujib1a796b2019-01-16 15:43:12 -0800182 "androidx.dynamicanimation_dynamicanimation",
Steve Elliott300b48f2019-05-29 14:13:50 -0400183 "androidx-constraintlayout_constraintlayout",
Miranda Kepharte1a22b92020-12-16 14:01:12 -0500184 "androidx.exifinterface_exifinterface",
Rahul Banerjee326c2502022-11-01 11:54:45 -0700185 "androidx.test.ext.junit",
Lucas Dupin00c1a602022-02-16 16:40:36 -0800186 "com.google.android.material_material",
Steve Elliotta7d72052020-12-16 23:04:19 -0500187 "kotlinx_coroutines_android",
188 "kotlinx_coroutines",
Hyunyoung Song5347a542019-03-01 13:32:28 -0800189 "iconloader_base",
Jason Monka2f2d822018-08-13 11:10:48 -0400190 "SystemUI-tags",
191 "SystemUI-proto",
Lucas Dupine37369f2021-08-31 00:19:39 +0000192 "monet",
Dave Mankoffdffcc472020-07-08 15:25:16 -0400193 "dagger2",
Andy Wickham64e34102021-03-07 16:02:01 -0800194 "jsr330",
Beverly46817e12021-06-22 16:29:52 -0400195 "lottie",
Lucas Silva0bfb4052022-09-20 23:32:02 -0400196 "LowLightDreamLib",
Johannes Gallmann0d5183c2022-10-04 13:32:16 +0000197 "motion_tool_lib",
Jason Monka2f2d822018-08-13 11:10:48 -0400198 ],
199 manifest: "AndroidManifest.xml",
200
Kevin Jeonf2e72182022-04-04 19:05:05 +0000201 javacflags: ["-Adagger.fastInit=enabled"],
Selim Cinek820ba2d2019-06-18 18:59:09 -0700202 kotlincflags: ["-Xjvm-default=enable"],
Jason Monk73e8ffc2018-12-06 14:45:19 -0500203
Dave Mankoffdffcc472020-07-08 15:25:16 -0400204 plugins: ["dagger2-compiler"],
Jernej Viragbb4ff3f2022-03-10 17:52:11 +0000205
206 lint: {
207 extra_check_modules: ["SystemUILintChecker"],
208 },
Jason Monka2f2d822018-08-13 11:10:48 -0400209}
210
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900211filegroup {
Fabian Kozynskid389df52022-01-06 10:52:51 -0500212 name: "AAA-src",
213 srcs: ["tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java"],
214 path: "tests/src",
215}
216
217filegroup {
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900218 name: "SystemUI-tests-utils",
219 srcs: [
Jordan Demeulenaeref7fed3c2022-07-28 18:06:49 +0200220 "tests/utils/src/**/*.java",
221 "tests/utils/src/**/*.kt",
Dave Mankoffb4935a22021-06-01 15:12:15 -0400222 ],
Jordan Demeulenaeref7fed3c2022-07-28 18:06:49 +0200223 path: "tests/utils/src",
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900224}
225
Kevin Liud3793232023-02-09 20:37:27 +0000226filegroup {
227 name: "SystemUI-tests-robolectric-pilots",
228 srcs: [
229 // data
230 "tests/src/com/android/systemui/keyguard/data/quickaffordance/CameraQuickAffordanceConfigTest.kt",
231 "tests/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfigTest.kt",
232 "tests/src/com/android/systemui/keyguard/data/quickaffordance/FakeKeyguardQuickAffordanceConfig.kt",
233 "tests/src/com/android/systemui/keyguard/data/quickaffordance/FlashlightQuickAffordanceConfigTest.kt",
234 "tests/src/com/android/systemui/keyguard/data/quickaffordance/HomeControlsKeyguardQuickAffordanceConfigTest.kt",
235 "tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceLegacySettingSyncerTest.kt",
236 "tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceLocalUserSelectionManagerTest.kt",
237 "tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManagerTest.kt",
238 "tests/src/com/android/systemui/keyguard/data/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfigTest.kt",
239 "tests/src/com/android/systemui/keyguard/data/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfigTest.kt",
240 "tests/src/com/android/systemui/keyguard/data/repository/KeyguardQuickAffordanceRepositoryTest.kt",
241 "tests/src/com/android/systemui/keyguard/data/repository/KeyguardRepositoryImplTest.kt",
242 // domain
243 "tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt",
244 "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt",
245 "tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt",
246 "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt",
247 "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractorTest.kt",
248 "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractorTest.kt",
249 "tests/src/com/android/systemui/keyguard/domain/interactor/LightRevealScrimInteractorTest.kt",
250 "tests/src/com/android/systemui/keyguard/domain/quickaffordance/FakeKeyguardQuickAffordanceRegistry.kt",
251 "tests/src/com/android/systemui/keyguard/domain/interactor/PrimaryBouncerInteractorWithCoroutinesTest.kt",
252 "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt",
253 "tests/src/com/android/systemui/keyguard/domain/interactor/PrimaryBouncerInteractorWithCoroutinesTest.kt",
254 // ui
255 "tests/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModelTest.kt",
256 "tests/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBouncerViewModelTest.kt",
257 "tests/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDreamingTransitionViewModelTest.kt",
258 "tests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToDreamingTransitionViewModelTest.kt",
259 "tests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToOccludedTransitionViewModelTest.kt",
260 "tests/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModelTest.kt",
Kevin Liu092b8212023-02-15 05:42:34 +0000261
262 // Biometric
263 "tests/src/com/android/systemui/biometrics/BiometricTestExtensions.kt",
264 "tests/src/com/android/systemui/biometrics/AuthBiometricFingerprintAndFaceViewTest.kt",
265 "tests/src/com/android/systemui/biometrics/AuthBiometricFingerprintViewTest.kt",
266 "tests/src/com/android/systemui/biometrics/AuthControllerTest.java",
267 "tests/src/com/android/systemui/biometrics/BiometricDisplayListenerTest.java",
268 "tests/src/com/android/systemui/biometrics/FaceHelpMessageDeferralTest.kt",
269 "tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt",
270 "tests/src/com/android/systemui/biometrics/UdfpsControllerOverlayTest.kt",
271 "tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java",
272 "tests/src/com/android/systemui/biometrics/UdfpsDialogMeasureAdapterTest.java",
273 "tests/src/com/android/systemui/biometrics/UdfpsDisplayModeTest.java",
274 "tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerBaseTest.java",
275 "tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerTest.java",
276 "tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerWithCoroutinesTest.kt",
277 "tests/src/com/android/systemui/biometrics/UdfpsShellTest.kt",
278 "tests/src/com/android/systemui/biometrics/UdfpsViewTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000279 ],
280 path: "tests/src",
281}
282
Bryce Leea5b08082021-10-06 11:34:56 -0700283java_library {
284 name: "SystemUI-tests-concurrency",
285 srcs: [
286 "src/com/android/systemui/util/concurrency/DelayableExecutor.java",
287 "src/com/android/systemui/util/time/SystemClock.java",
Jordan Demeulenaeref7fed3c2022-07-28 18:06:49 +0200288 "tests/utils/src/com/android/systemui/util/concurrency/FakeExecutor.java",
289 "tests/utils/src/com/android/systemui/util/time/FakeSystemClock.java",
Bryce Leea5b08082021-10-06 11:34:56 -0700290 ],
291 jarjar_rules: ":jarjar-rules-shared",
292}
293
Jason Monkae7ced22018-08-22 16:56:58 -0400294android_library {
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000295 name: "SystemUI-tests-base",
Sunny Goyaleb18d392020-02-07 16:48:14 -0800296 manifest: "tests/AndroidManifest-base.xml",
Jason Monkae7ced22018-08-22 16:56:58 -0400297 resource_dirs: [
298 "tests/res",
Sunny Goyalb4a26012019-12-05 15:49:41 -0800299 "res-product",
Jason Monkae7ced22018-08-22 16:56:58 -0400300 "res-keyguard",
301 "res",
302 ],
Jason Monkae7ced22018-08-22 16:56:58 -0400303 static_libs: [
Quang Luongc6fc5b22021-06-10 14:35:32 -0700304 "WifiTrackerLib",
Jordan Demeulenaerecea62bb2021-04-08 11:04:50 +0200305 "SystemUIAnimationLib",
Jason Monkae7ced22018-08-22 16:56:58 -0400306 "SystemUIPluginLib",
307 "SystemUISharedLib",
Hawkwood Glazierb8eef872022-11-11 17:56:14 +0000308 "SystemUICustomizationLib",
Hyunyoung Song3d89c932020-04-11 13:31:06 -0700309 "SystemUI-statsd",
Jason Monkae7ced22018-08-22 16:56:58 -0400310 "SettingsLib",
Fabian Kozynski713b7272020-03-03 18:35:52 -0500311 "androidx.viewpager2_viewpager2",
Jason Monkae7ced22018-08-22 16:56:58 -0400312 "androidx.legacy_legacy-support-v4",
313 "androidx.recyclerview_recyclerview",
314 "androidx.preference_preference",
315 "androidx.appcompat_appcompat",
Mark Renoufe2395012020-12-16 01:05:12 -0500316 "androidx.concurrent_concurrent-futures",
Jason Monkae7ced22018-08-22 16:56:58 -0400317 "androidx.mediarouter_mediarouter",
318 "androidx.palette_palette",
319 "androidx.legacy_legacy-preference-v14",
320 "androidx.leanback_leanback",
321 "androidx.slice_slice-core",
322 "androidx.slice_slice-view",
323 "androidx.slice_slice-builders",
324 "androidx.arch.core_core-runtime",
Bryce Lee436e42c2022-01-24 14:53:49 -0800325 "androidx.lifecycle_lifecycle-common-java8",
Jason Monkae7ced22018-08-22 16:56:58 -0400326 "androidx.lifecycle_lifecycle-extensions",
Jordan Demeulenaere8a169ff2022-07-13 10:42:10 +0200327 "androidx.lifecycle_lifecycle-runtime-ktx",
Joshua Tsujib1a796b2019-01-16 15:43:12 -0800328 "androidx.dynamicanimation_dynamicanimation",
Steve Elliott300b48f2019-05-29 14:13:50 -0400329 "androidx-constraintlayout_constraintlayout",
Miranda Kepharte1a22b92020-12-16 14:01:12 -0500330 "androidx.exifinterface_exifinterface",
Pinyao Tingee191b12020-04-29 18:35:39 -0700331 "kotlinx-coroutines-android",
332 "kotlinx-coroutines-core",
Alejandro Nijamkinc738a8c2022-07-25 13:30:41 -0700333 "kotlinx_coroutines_test",
Chandru5a5e5332022-08-19 14:25:31 +0000334 "kotlin-reflect",
Lyn Han1b4f25e2019-06-11 13:56:34 -0700335 "iconloader_base",
Jason Monkae7ced22018-08-22 16:56:58 -0400336 "SystemUI-tags",
337 "SystemUI-proto",
338 "metrics-helper-lib",
Tadashi G. Takaokac7340fb2020-10-20 17:50:13 +0900339 "hamcrest-library",
340 "androidx.test.rules",
Jason Monkae7ced22018-08-22 16:56:58 -0400341 "testables",
342 "truth-prebuilt",
Lucas Dupine37369f2021-08-31 00:19:39 +0000343 "monet",
Dave Mankoffdffcc472020-07-08 15:25:16 -0400344 "dagger2",
Bill Lina17858d12020-07-14 10:30:10 +0800345 "jsr330",
346 "WindowManager-Shell",
Lucas Silva0bfb4052022-09-20 23:32:02 -0400347 "LowLightDreamLib",
Johannes Gallmann0d5183c2022-10-04 13:32:16 +0000348 "motion_tool_lib",
Johannes Gallmannb642af92022-10-14 09:58:09 +0000349 "androidx.core_core-animation-testing-nodeps",
Jordan Demeulenaere54a0fae2023-01-04 11:36:46 +0100350 "androidx.compose.ui_ui",
Jason Monkae7ced22018-08-22 16:56:58 -0400351 ],
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000352}
353
354android_library {
355 name: "SystemUI-tests",
Jordan Demeulenaere68e91822022-12-16 10:55:47 +0100356 defaults: [
357 "SystemUI_compose_defaults",
358 ],
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000359 manifest: "tests/AndroidManifest-base.xml",
360 additional_manifests: ["tests/AndroidManifest.xml"],
361 srcs: [
362 "tests/src/**/*.kt",
363 "tests/src/**/*.java",
364 "src/**/*.kt",
365 "src/**/*.java",
366 "src/**/I*.aidl",
367 ":ReleaseJavaFiles",
368 ":SystemUI-tests-utils",
369 ],
370 static_libs: [
371 "SystemUI-tests-base",
372 "androidx.test.uiautomator_uiautomator",
373 "mockito-target-extended-minus-junit4",
374 "androidx.test.ext.junit",
Steven Ng45b74c62023-03-23 11:23:02 +0000375 "androidx.test.ext.truth",
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000376 ],
Jason Monkae7ced22018-08-22 16:56:58 -0400377 libs: [
378 "android.test.runner",
Jason Monkae7ced22018-08-22 16:56:58 -0400379 "android.test.base",
Jordan Demeulenaere6fb22d42022-08-19 15:00:36 +0200380 "android.test.mock",
Jason Monkae7ced22018-08-22 16:56:58 -0400381 ],
Selim Cinek820ba2d2019-06-18 18:59:09 -0700382 kotlincflags: ["-Xjvm-default=enable"],
Jason Monkae7ced22018-08-22 16:56:58 -0400383 aaptflags: [
384 "--extra-packages",
Hyunyoung Song8f9d34c2019-08-30 14:47:43 -0700385 "com.android.systemui",
Jason Monkae7ced22018-08-22 16:56:58 -0400386 ],
Dave Mankoffdffcc472020-07-08 15:25:16 -0400387 plugins: ["dagger2-compiler"],
Cole Faust17f1e722022-08-16 15:30:26 -0700388 lint: {
389 test: true,
Jeff Chen194a13f2023-03-16 15:40:05 -0700390 extra_check_modules: ["SystemUILintChecker"],
Cole Faust17f1e722022-08-16 15:30:26 -0700391 },
Jason Monkae7ced22018-08-22 16:56:58 -0400392}
393
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000394android_app {
395 name: "SystemUIRobo-stub",
396 defaults: [
397 "platform_app_defaults",
Jared Duke5bf6fb32023-02-23 14:27:47 -0800398 "SystemUI_optimized_defaults",
Kevin Liud3793232023-02-09 20:37:27 +0000399 "SystemUI_compose_defaults",
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000400 ],
401 manifest: "tests/AndroidManifest-base.xml",
Kevin Liud3793232023-02-09 20:37:27 +0000402
403 srcs: [
404 "src/**/*.kt",
405 "src/**/*.java",
406 "src/**/I*.aidl",
407 ":ReleaseJavaFiles",
408 ],
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000409 static_libs: [
410 "SystemUI-tests-base",
411 ],
412 aaptflags: [
413 "--extra-packages",
414 "com.android.systemui",
415 ],
416 dont_merge_manifests: true,
417 platform_apis: true,
418 system_ext_specific: true,
419 certificate: "platform",
420 privileged: true,
421 resource_dirs: [],
Kevin Liud3793232023-02-09 20:37:27 +0000422 kotlincflags: ["-Xjvm-default=all"],
Kevin Liu092b8212023-02-15 05:42:34 +0000423 optimize: {
424 shrink_resources: false,
425 proguard_flags_files: ["proguard.flags"],
426 },
Kevin Liud3793232023-02-09 20:37:27 +0000427
428 plugins: ["dagger2-compiler"],
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000429}
430
431android_robolectric_test {
432 name: "SystemUiRoboTests",
433 srcs: [
434 "tests/robolectric/src/**/*.kt",
435 "tests/robolectric/src/**/*.java",
Kevin Liud3793232023-02-09 20:37:27 +0000436 ":SystemUI-tests-utils",
437 ":SystemUI-tests-robolectric-pilots",
438 ],
439 static_libs: [
440 "androidx.test.uiautomator_uiautomator",
441 "androidx.test.ext.junit",
442 "inline-mockito-robolectric-prebuilt",
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000443 ],
444 libs: [
445 "android.test.runner",
446 "android.test.base",
447 "android.test.mock",
448 "truth-prebuilt",
449 ],
Kevin Liud3793232023-02-09 20:37:27 +0000450
451 upstream: true,
452
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000453 instrumentation_for: "SystemUIRobo-stub",
454 java_resource_dirs: ["tests/robolectric/config"],
455}
456
Jared Duke84e94b32022-08-05 13:46:38 -0700457// Opt-out config for optimizing the SystemUI target using R8.
458// Disabled via `export SYSTEMUI_OPTIMIZE_JAVA=false`, or explicitly in Make via
459// `SYSTEMUI_OPTIMIZE_JAVA := false`.
Jared Duke9dfa77b2021-12-22 13:31:06 -0800460soong_config_module_type {
461 name: "systemui_optimized_java_defaults",
462 module_type: "java_defaults",
463 config_namespace: "ANDROID",
464 bool_variables: ["SYSTEMUI_OPTIMIZE_JAVA"],
465 properties: ["optimize"],
Jared Duke2fee7402021-10-18 14:35:04 -0700466}
467
Jared Duke9dfa77b2021-12-22 13:31:06 -0800468systemui_optimized_java_defaults {
Jared Duke5bf6fb32023-02-23 14:27:47 -0800469 name: "SystemUI_optimized_defaults",
Jared Duke2fee7402021-10-18 14:35:04 -0700470 soong_config_variables: {
Jared Duke9dfa77b2021-12-22 13:31:06 -0800471 SYSTEMUI_OPTIMIZE_JAVA: {
Jared Duke2fee7402021-10-18 14:35:04 -0700472 optimize: {
473 enabled: true,
474 optimize: true,
475 shrink: true,
Jared Duke0668af22023-02-23 14:43:31 -0800476 shrink_resources: true,
Jared Dukef0904172022-06-07 18:01:06 +0000477 proguard_compatibility: false,
Jared Duke2fee7402021-10-18 14:35:04 -0700478 },
479 conditions_default: {
480 optimize: {
Jared Dukef0904172022-06-07 18:01:06 +0000481 proguard_compatibility: false,
Jared Duke2fee7402021-10-18 14:35:04 -0700482 },
483 },
484 },
485 },
486}
487
Jason Monka2f2d822018-08-13 11:10:48 -0400488android_app {
489 name: "SystemUI",
Jared Duke2fee7402021-10-18 14:35:04 -0700490 defaults: [
491 "platform_app_defaults",
Jared Duke5bf6fb32023-02-23 14:27:47 -0800492 "SystemUI_optimized_defaults",
Jared Duke2fee7402021-10-18 14:35:04 -0700493 ],
Jason Monka2f2d822018-08-13 11:10:48 -0400494 static_libs: [
495 "SystemUI-core",
496 ],
Anton Hansson7ccca9f2019-02-08 09:01:32 +0000497 resource_dirs: [],
Jason Monka2f2d822018-08-13 11:10:48 -0400498
499 platform_apis: true,
Jeongik Chad45d9e12019-12-04 13:38:39 +0900500 system_ext_specific: true,
Jason Monka2f2d822018-08-13 11:10:48 -0400501 certificate: "platform",
502 privileged: true,
503
Selim Cinek820ba2d2019-06-18 18:59:09 -0700504 kotlincflags: ["-Xjvm-default=enable"],
505
Jason Monka2f2d822018-08-13 11:10:48 -0400506 dxflags: ["--multi-dex"],
Jared Duke5bf6fb32023-02-23 14:27:47 -0800507 optimize: {
508 proguard_flags_files: ["proguard.flags"],
509 },
Winson Chungb754f522020-08-03 22:17:08 -0700510 required: [
511 "privapp_whitelist_com.android.systemui",
Hongwei Wang2b227ee2022-08-19 09:38:18 -0700512 "wmshell.protolog.json.gz",
Winson Chungb754f522020-08-03 22:17:08 -0700513 ],
Jason Monka2f2d822018-08-13 11:10:48 -0400514}