blob: 2077af86a653ccd028fcff5aed3de345b575a2e6 [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 Demeulenaere0bbebad2023-07-06 10:19:49 +020068 "androidx.compose.animation_animation-graphics",
Jordan Demeulenaere68e91822022-12-16 10:55:47 +010069 ],
70
71 // By default, Compose is disabled and we compile the ComposeFacade
72 // in compose/facade/disabled/.
73 conditions_default: {
74 srcs: ["compose/facade/disabled/src/**/*.kt"],
75 static_libs: [],
76 },
77 },
78 },
79}
80
Jason Monka2f2d822018-08-13 11:10:48 -040081java_library {
82 name: "SystemUI-proto",
83
84 srcs: ["src/**/*.proto"],
85
86 proto: {
87 type: "nano",
88 },
Winson Chungeb1aa3d2020-08-25 19:02:29 -070089
90 libs: [
91 "WindowManager-Shell-proto",
92 ],
Jason Monka2f2d822018-08-13 11:10:48 -040093}
94
95java_library {
96 name: "SystemUI-tags",
97 srcs: ["src/com/android/systemui/EventLogTags.logtags"],
98}
99
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -0400100filegroup {
101 name: "ReleaseJavaFiles",
Jeff DeCew86b8e772021-10-25 20:35:45 -0400102 srcs: [
103 "src-release/**/*.kt",
104 "src-release/**/*.java",
105 ],
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -0400106}
107
108filegroup {
109 name: "DebugJavaFiles",
Jeff DeCew86b8e772021-10-25 20:35:45 -0400110 srcs: [
111 "src-debug/**/*.kt",
112 "src-debug/**/*.java",
113 ],
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -0400114}
115
Xiaozhen Lin53063042022-11-23 02:18:08 +0000116//Create a library to expose SystemUI's resources to other modules.
117android_library {
118 name: "SystemUI-res",
119 resource_dirs: [
120 "res-product",
121 "res-keyguard",
122 "res",
123 ],
124 static_libs: [
125 "SystemUISharedLib",
Hawkwood Glazier057df3a2023-06-14 20:10:21 +0000126 "SystemUICustomizationLib",
Xiaozhen Lin53063042022-11-23 02:18:08 +0000127 "SettingsLib",
128 "androidx.leanback_leanback",
129 "androidx.slice_slice-core",
130 "androidx.slice_slice-view",
131 ],
132 manifest: "AndroidManifest-res.xml",
133}
134
Dave Mankofff6a791e2023-07-31 18:03:34 +0000135aconfig_declarations {
136 name: "systemui_aconfig_flags",
137 package: "com.android.systemui.aconfig",
Riley Jones32c5a682023-08-03 20:08:16 +0000138 srcs: [
139 "src/com/android/systemui/aconfig/systemui.aconfig",
140 "src/com/android/systemui/accessibility/aconfig/accessibility.aconfig",
141 ],
Dave Mankofff6a791e2023-07-31 18:03:34 +0000142}
143
144java_aconfig_library {
145 name: "systemui_aconfig_flags_lib",
146 aconfig_declarations: "systemui_aconfig_flags",
147}
148
Jason Monka2f2d822018-08-13 11:10:48 -0400149android_library {
150 name: "SystemUI-core",
Jordan Demeulenaere68e91822022-12-16 10:55:47 +0100151 defaults: [
152 "SystemUI_compose_defaults",
153 ],
Jason Monka2f2d822018-08-13 11:10:48 -0400154 srcs: [
Jason Monkae7ced22018-08-22 16:56:58 -0400155 "src/**/*.kt",
Jason Monka2f2d822018-08-13 11:10:48 -0400156 "src/**/*.java",
157 "src/**/I*.aidl",
Dave Mankoff72a50022021-11-02 20:44:54 -0400158 ":ReleaseJavaFiles",
Jason Monka2f2d822018-08-13 11:10:48 -0400159 ],
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -0400160 product_variables: {
161 debuggable: {
162 srcs: [":DebugJavaFiles"],
163 exclude_srcs: [":ReleaseJavaFiles"],
164 },
165 },
Jason Monka2f2d822018-08-13 11:10:48 -0400166 resource_dirs: [
Sunny Goyalb4a26012019-12-05 15:49:41 -0800167 "res-product",
Jason Monka2f2d822018-08-13 11:10:48 -0400168 "res-keyguard",
169 "res",
170 ],
Colin Crossc23cde42023-06-21 11:22:11 -0700171 use_resource_processor: true,
Jason Monka2f2d822018-08-13 11:10:48 -0400172 static_libs: [
Quang Luongc6fc5b22021-06-10 14:35:32 -0700173 "WifiTrackerLib",
Winson Chung10a9b4b2019-12-18 10:01:36 -0800174 "WindowManager-Shell",
Jordan Demeulenaerecea62bb2021-04-08 11:04:50 +0200175 "SystemUIAnimationLib",
Darrell Shi60006322023-04-06 17:58:40 +0000176 "SystemUICommon",
177 "SystemUICustomizationLib",
Darrell Shi1a21b362023-04-28 19:51:44 +0000178 "SystemUILogLib",
Jason Monka2f2d822018-08-13 11:10:48 -0400179 "SystemUIPluginLib",
180 "SystemUISharedLib",
Jerry Chang919d1d22020-07-16 12:31:24 +0800181 "SystemUI-statsd",
Jason Monka2f2d822018-08-13 11:10:48 -0400182 "SettingsLib",
Dave Mankofff6a791e2023-07-31 18:03:34 +0000183 "systemui_aconfig_flags_lib",
Alejandro Nijamkin38859642022-06-27 14:18:17 -0700184 "androidx.core_core-ktx",
Fabian Kozynski713b7272020-03-03 18:35:52 -0500185 "androidx.viewpager2_viewpager2",
Jason Monka2f2d822018-08-13 11:10:48 -0400186 "androidx.legacy_legacy-support-v4",
187 "androidx.recyclerview_recyclerview",
188 "androidx.preference_preference",
189 "androidx.appcompat_appcompat",
Mark Renoufe2395012020-12-16 01:05:12 -0500190 "androidx.concurrent_concurrent-futures",
Jason Monka2f2d822018-08-13 11:10:48 -0400191 "androidx.mediarouter_mediarouter",
192 "androidx.palette_palette",
193 "androidx.legacy_legacy-preference-v14",
194 "androidx.leanback_leanback",
195 "androidx.slice_slice-core",
196 "androidx.slice_slice-view",
197 "androidx.slice_slice-builders",
198 "androidx.arch.core_core-runtime",
Bryce Lee436e42c2022-01-24 14:53:49 -0800199 "androidx.lifecycle_lifecycle-common-java8",
Jason Monka2f2d822018-08-13 11:10:48 -0400200 "androidx.lifecycle_lifecycle-extensions",
Jordan Demeulenaere8a169ff2022-07-13 10:42:10 +0200201 "androidx.lifecycle_lifecycle-runtime-ktx",
Joshua Tsujib1a796b2019-01-16 15:43:12 -0800202 "androidx.dynamicanimation_dynamicanimation",
Steve Elliott300b48f2019-05-29 14:13:50 -0400203 "androidx-constraintlayout_constraintlayout",
Miranda Kepharte1a22b92020-12-16 14:01:12 -0500204 "androidx.exifinterface_exifinterface",
Lucas Dupin00c1a602022-02-16 16:40:36 -0800205 "com.google.android.material_material",
Steve Elliotta7d72052020-12-16 23:04:19 -0500206 "kotlinx_coroutines_android",
207 "kotlinx_coroutines",
Hyunyoung Song5347a542019-03-01 13:32:28 -0800208 "iconloader_base",
Jason Monka2f2d822018-08-13 11:10:48 -0400209 "SystemUI-tags",
210 "SystemUI-proto",
Lucas Dupine37369f2021-08-31 00:19:39 +0000211 "monet",
Lucas Dupind83b4ee2023-07-08 11:05:47 -0700212 "libmonet",
Dave Mankoffdffcc472020-07-08 15:25:16 -0400213 "dagger2",
Brett Chabotfc8675a2023-03-27 10:33:10 -0700214 "jsr305",
Andy Wickham64e34102021-03-07 16:02:01 -0800215 "jsr330",
Beverly46817e12021-06-22 16:29:52 -0400216 "lottie",
Lucas Silva0bfb4052022-09-20 23:32:02 -0400217 "LowLightDreamLib",
Johannes Gallmann0d5183c2022-10-04 13:32:16 +0000218 "motion_tool_lib",
Jason Monka2f2d822018-08-13 11:10:48 -0400219 ],
220 manifest: "AndroidManifest.xml",
221
Kevin Jeonf2e72182022-04-04 19:05:05 +0000222 javacflags: ["-Adagger.fastInit=enabled"],
Colin Cross6954ea72023-07-18 10:52:21 -0700223 kotlincflags: ["-Xjvm-default=all"],
Jason Monk73e8ffc2018-12-06 14:45:19 -0500224
Dave Mankoffdffcc472020-07-08 15:25:16 -0400225 plugins: ["dagger2-compiler"],
Jernej Viragbb4ff3f2022-03-10 17:52:11 +0000226
227 lint: {
228 extra_check_modules: ["SystemUILintChecker"],
229 },
Jason Monka2f2d822018-08-13 11:10:48 -0400230}
231
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900232filegroup {
Fabian Kozynskid389df52022-01-06 10:52:51 -0500233 name: "AAA-src",
234 srcs: ["tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java"],
235 path: "tests/src",
236}
237
238filegroup {
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900239 name: "SystemUI-tests-utils",
240 srcs: [
Jordan Demeulenaeref7fed3c2022-07-28 18:06:49 +0200241 "tests/utils/src/**/*.java",
242 "tests/utils/src/**/*.kt",
Dave Mankoffb4935a22021-06-01 15:12:15 -0400243 ],
Jordan Demeulenaeref7fed3c2022-07-28 18:06:49 +0200244 path: "tests/utils/src",
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900245}
246
Kevin Liud3793232023-02-09 20:37:27 +0000247filegroup {
Caitlin Shkuratovd3777bd2023-07-18 21:39:33 +0000248 name: "SystemUI-test-fakes",
249 srcs: [
250 /* Status bar fakes */
251 "tests/src/com/android/systemui/statusbar/pipeline/airplane/data/repository/FakeAirplaneModeRepository.kt",
252 "tests/src/com/android/systemui/statusbar/pipeline/shared/data/repository/FakeConnectivityRepository.kt",
253 "tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/FakeWifiRepository.kt",
254 ],
255 path: "tests/src",
256}
257
258filegroup {
Kevin Liud3793232023-02-09 20:37:27 +0000259 name: "SystemUI-tests-robolectric-pilots",
260 srcs: [
Kevin Liuc54db8b2023-03-22 21:41:46 +0000261 /* Keyguard converted tests */
Kevin Liud3793232023-02-09 20:37:27 +0000262 // data
263 "tests/src/com/android/systemui/keyguard/data/quickaffordance/CameraQuickAffordanceConfigTest.kt",
264 "tests/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfigTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000265 "tests/src/com/android/systemui/keyguard/data/quickaffordance/FlashlightQuickAffordanceConfigTest.kt",
266 "tests/src/com/android/systemui/keyguard/data/quickaffordance/HomeControlsKeyguardQuickAffordanceConfigTest.kt",
267 "tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceLegacySettingSyncerTest.kt",
268 "tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceLocalUserSelectionManagerTest.kt",
269 "tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManagerTest.kt",
Kevin Liuc54db8b2023-03-22 21:41:46 +0000270 "tests/src/com/android/systemui/keyguard/data/quickaffordance/MuteQuickAffordanceConfigTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000271 "tests/src/com/android/systemui/keyguard/data/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfigTest.kt",
272 "tests/src/com/android/systemui/keyguard/data/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfigTest.kt",
Kevin Liuc54db8b2023-03-22 21:41:46 +0000273 "tests/src/com/android/systemui/keyguard/data/quickaffordance/VideoCameraQuickAffordanceConfigTest.kt",
274 "tests/src/com/android/systemui/keyguard/data/repository/BiometricSettingsRepositoryTest.kt",
275 "tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepositoryTest.kt",
276 "tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFingerprintAuthRepositoryTest.kt",
277 "tests/src/com/android/systemui/keyguard/data/repository/DevicePostureRepositoryTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000278 "tests/src/com/android/systemui/keyguard/data/repository/KeyguardQuickAffordanceRepositoryTest.kt",
279 "tests/src/com/android/systemui/keyguard/data/repository/KeyguardRepositoryImplTest.kt",
Kevin Liuc54db8b2023-03-22 21:41:46 +0000280 "tests/src/com/android/systemui/keyguard/data/repository/LightRevealScrimRepositoryTest.kt",
281 "tests/src/com/android/systemui/keyguard/data/repository/TrustRepositoryTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000282 // domain
Aaron Liu8456c412023-05-31 11:12:55 -0700283 "tests/src/com/android/systemui/bouncer/domain/interactor/AlternateBouncerInteractorTest.kt",
284 "tests/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerCallbackInteractorTest.kt",
285 "tests/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractorWithCoroutinesTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000286 "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt",
Kevin Liu810fcbb2023-04-24 22:33:07 +0000287 "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardLongPressInteractorTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000288 "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractorTest.kt",
289 "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractorTest.kt",
290 "tests/src/com/android/systemui/keyguard/domain/interactor/LightRevealScrimInteractorTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000291 // ui
Aaron Liu8456c412023-05-31 11:12:55 -0700292 "tests/src/com/android/systemui/bouncer/ui/viewmodel/KeyguardBouncerViewModelTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000293 "tests/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModelTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000294 "tests/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDreamingTransitionViewModelTest.kt",
295 "tests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToDreamingTransitionViewModelTest.kt",
296 "tests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToOccludedTransitionViewModelTest.kt",
297 "tests/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModelTest.kt",
Kevin Liu810fcbb2023-04-24 22:33:07 +0000298 "tests/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModelTest.kt",
Kevin Liuc54db8b2023-03-22 21:41:46 +0000299 // Keyguard helper
300 "tests/src/com/android/systemui/keyguard/data/quickaffordance/FakeKeyguardQuickAffordanceConfig.kt",
Brad Hinegardner5094a5d2023-04-25 16:28:45 -0400301 "tests/src/com/android/systemui/dock/DockManagerFake.java",
Kevin Liuc54db8b2023-03-22 21:41:46 +0000302 "tests/src/com/android/systemui/dump/LogBufferHelper.kt",
303 "tests/src/com/android/systemui/statusbar/phone/FakeKeyguardStateController.java",
Kevin Liu092b8212023-02-15 05:42:34 +0000304
Kevin Liuc54db8b2023-03-22 21:41:46 +0000305 /* Biometric converted tests */
Kevin Liu092b8212023-02-15 05:42:34 +0000306 "tests/src/com/android/systemui/biometrics/BiometricTestExtensions.kt",
307 "tests/src/com/android/systemui/biometrics/AuthBiometricFingerprintAndFaceViewTest.kt",
308 "tests/src/com/android/systemui/biometrics/AuthBiometricFingerprintViewTest.kt",
309 "tests/src/com/android/systemui/biometrics/AuthControllerTest.java",
310 "tests/src/com/android/systemui/biometrics/BiometricDisplayListenerTest.java",
311 "tests/src/com/android/systemui/biometrics/FaceHelpMessageDeferralTest.kt",
312 "tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt",
313 "tests/src/com/android/systemui/biometrics/UdfpsControllerOverlayTest.kt",
314 "tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java",
315 "tests/src/com/android/systemui/biometrics/UdfpsDialogMeasureAdapterTest.java",
316 "tests/src/com/android/systemui/biometrics/UdfpsDisplayModeTest.java",
Beverlyea7325c2023-05-03 13:49:09 +0000317 "tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewLegacyControllerBaseTest.java",
318 "tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewLegacyControllerTest.java",
319 "tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewLegacyControllerWithCoroutinesTest.kt",
Kevin Liu092b8212023-02-15 05:42:34 +0000320 "tests/src/com/android/systemui/biometrics/UdfpsShellTest.kt",
321 "tests/src/com/android/systemui/biometrics/UdfpsViewTest.kt",
Caitlin Shkuratovd3777bd2023-07-18 21:39:33 +0000322
323 /* Status bar wifi converted tests */
324 "tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcherTest.kt",
325 "tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/DisabledWifiRepositoryTest.kt",
326 "tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImplTest.kt",
Caitlin Shkuratove0ed29452023-07-20 13:26:29 +0000327 "tests/src/com/android/systemui/statusbar/pipeline/wifi/domain/interactor/WifiInteractorImplTest.kt",
Caitlin Shkuratov87d86642023-07-20 14:49:28 +0000328 "tests/src/com/android/systemui/statusbar/pipeline/wifi/ui/viewmodel/WifiViewModelTest.kt",
Kevin Liud3793232023-02-09 20:37:27 +0000329 ],
330 path: "tests/src",
331}
332
Bryce Leea5b08082021-10-06 11:34:56 -0700333java_library {
334 name: "SystemUI-tests-concurrency",
335 srcs: [
336 "src/com/android/systemui/util/concurrency/DelayableExecutor.java",
337 "src/com/android/systemui/util/time/SystemClock.java",
Jordan Demeulenaeref7fed3c2022-07-28 18:06:49 +0200338 "tests/utils/src/com/android/systemui/util/concurrency/FakeExecutor.java",
339 "tests/utils/src/com/android/systemui/util/time/FakeSystemClock.java",
Bryce Leea5b08082021-10-06 11:34:56 -0700340 ],
341 jarjar_rules: ":jarjar-rules-shared",
342}
343
Jason Monkae7ced22018-08-22 16:56:58 -0400344android_library {
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000345 name: "SystemUI-tests-base",
Sunny Goyaleb18d392020-02-07 16:48:14 -0800346 manifest: "tests/AndroidManifest-base.xml",
Jason Monkae7ced22018-08-22 16:56:58 -0400347 resource_dirs: [
348 "tests/res",
Sunny Goyalb4a26012019-12-05 15:49:41 -0800349 "res-product",
Jason Monkae7ced22018-08-22 16:56:58 -0400350 "res-keyguard",
351 "res",
352 ],
Jason Monkae7ced22018-08-22 16:56:58 -0400353 static_libs: [
Quang Luongc6fc5b22021-06-10 14:35:32 -0700354 "WifiTrackerLib",
Jordan Demeulenaerecea62bb2021-04-08 11:04:50 +0200355 "SystemUIAnimationLib",
Jason Monkae7ced22018-08-22 16:56:58 -0400356 "SystemUIPluginLib",
357 "SystemUISharedLib",
Hawkwood Glazierb8eef872022-11-11 17:56:14 +0000358 "SystemUICustomizationLib",
Hyunyoung Song3d89c932020-04-11 13:31:06 -0700359 "SystemUI-statsd",
Jason Monkae7ced22018-08-22 16:56:58 -0400360 "SettingsLib",
Dave Mankofff6a791e2023-07-31 18:03:34 +0000361 "systemui_aconfig_flags_lib",
Fabian Kozynski713b7272020-03-03 18:35:52 -0500362 "androidx.viewpager2_viewpager2",
Jason Monkae7ced22018-08-22 16:56:58 -0400363 "androidx.legacy_legacy-support-v4",
364 "androidx.recyclerview_recyclerview",
365 "androidx.preference_preference",
366 "androidx.appcompat_appcompat",
Mark Renoufe2395012020-12-16 01:05:12 -0500367 "androidx.concurrent_concurrent-futures",
Jason Monkae7ced22018-08-22 16:56:58 -0400368 "androidx.mediarouter_mediarouter",
369 "androidx.palette_palette",
370 "androidx.legacy_legacy-preference-v14",
371 "androidx.leanback_leanback",
372 "androidx.slice_slice-core",
373 "androidx.slice_slice-view",
374 "androidx.slice_slice-builders",
375 "androidx.arch.core_core-runtime",
Bryce Lee436e42c2022-01-24 14:53:49 -0800376 "androidx.lifecycle_lifecycle-common-java8",
Jason Monkae7ced22018-08-22 16:56:58 -0400377 "androidx.lifecycle_lifecycle-extensions",
Jordan Demeulenaere8a169ff2022-07-13 10:42:10 +0200378 "androidx.lifecycle_lifecycle-runtime-ktx",
Joshua Tsujib1a796b2019-01-16 15:43:12 -0800379 "androidx.dynamicanimation_dynamicanimation",
Steve Elliott300b48f2019-05-29 14:13:50 -0400380 "androidx-constraintlayout_constraintlayout",
Miranda Kepharte1a22b92020-12-16 14:01:12 -0500381 "androidx.exifinterface_exifinterface",
Pinyao Tingee191b12020-04-29 18:35:39 -0700382 "kotlinx-coroutines-android",
383 "kotlinx-coroutines-core",
Alejandro Nijamkinc738a8c2022-07-25 13:30:41 -0700384 "kotlinx_coroutines_test",
Chandru5a5e5332022-08-19 14:25:31 +0000385 "kotlin-reflect",
Lyn Han1b4f25e2019-06-11 13:56:34 -0700386 "iconloader_base",
Jason Monkae7ced22018-08-22 16:56:58 -0400387 "SystemUI-tags",
388 "SystemUI-proto",
389 "metrics-helper-lib",
Tadashi G. Takaokac7340fb2020-10-20 17:50:13 +0900390 "hamcrest-library",
391 "androidx.test.rules",
Jason Monkae7ced22018-08-22 16:56:58 -0400392 "testables",
393 "truth-prebuilt",
Lucas Dupine37369f2021-08-31 00:19:39 +0000394 "monet",
Lucas Dupind83b4ee2023-07-08 11:05:47 -0700395 "libmonet",
Dave Mankoffdffcc472020-07-08 15:25:16 -0400396 "dagger2",
Bill Lina17858d12020-07-14 10:30:10 +0800397 "jsr330",
398 "WindowManager-Shell",
Lucas Silva0bfb4052022-09-20 23:32:02 -0400399 "LowLightDreamLib",
Johannes Gallmann0d5183c2022-10-04 13:32:16 +0000400 "motion_tool_lib",
Johannes Gallmannb642af92022-10-14 09:58:09 +0000401 "androidx.core_core-animation-testing-nodeps",
Jordan Demeulenaere54a0fae2023-01-04 11:36:46 +0100402 "androidx.compose.ui_ui",
Jason Monkae7ced22018-08-22 16:56:58 -0400403 ],
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000404}
405
406android_library {
407 name: "SystemUI-tests",
Jordan Demeulenaere68e91822022-12-16 10:55:47 +0100408 defaults: [
409 "SystemUI_compose_defaults",
410 ],
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000411 manifest: "tests/AndroidManifest-base.xml",
412 additional_manifests: ["tests/AndroidManifest.xml"],
413 srcs: [
414 "tests/src/**/*.kt",
415 "tests/src/**/*.java",
416 "src/**/*.kt",
417 "src/**/*.java",
418 "src/**/I*.aidl",
419 ":ReleaseJavaFiles",
420 ":SystemUI-tests-utils",
421 ],
422 static_libs: [
423 "SystemUI-tests-base",
424 "androidx.test.uiautomator_uiautomator",
Jeff DeCewa415d0e2023-08-02 11:30:09 -0400425 "androidx.core_core-animation-testing",
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000426 "mockito-target-extended-minus-junit4",
427 "androidx.test.ext.junit",
Steven Ng45b74c62023-03-23 11:23:02 +0000428 "androidx.test.ext.truth",
Colin Cross852cd142023-08-11 16:53:55 -0700429 "kotlin-test",
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000430 ],
Jason Monkae7ced22018-08-22 16:56:58 -0400431 libs: [
432 "android.test.runner",
Jason Monkae7ced22018-08-22 16:56:58 -0400433 "android.test.base",
Jordan Demeulenaere6fb22d42022-08-19 15:00:36 +0200434 "android.test.mock",
Jason Monkae7ced22018-08-22 16:56:58 -0400435 ],
Colin Cross6954ea72023-07-18 10:52:21 -0700436 kotlincflags: ["-Xjvm-default=all"],
Jason Monkae7ced22018-08-22 16:56:58 -0400437 aaptflags: [
438 "--extra-packages",
Hyunyoung Song8f9d34c2019-08-30 14:47:43 -0700439 "com.android.systemui",
Jason Monkae7ced22018-08-22 16:56:58 -0400440 ],
Dave Mankoffdffcc472020-07-08 15:25:16 -0400441 plugins: ["dagger2-compiler"],
Cole Faust17f1e722022-08-16 15:30:26 -0700442 lint: {
443 test: true,
Jeff Chen194a13f2023-03-16 15:40:05 -0700444 extra_check_modules: ["SystemUILintChecker"],
Cole Faust17f1e722022-08-16 15:30:26 -0700445 },
Jason Monkae7ced22018-08-22 16:56:58 -0400446}
447
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000448android_app {
449 name: "SystemUIRobo-stub",
450 defaults: [
451 "platform_app_defaults",
Jared Duke5bf6fb32023-02-23 14:27:47 -0800452 "SystemUI_optimized_defaults",
Kevin Liud3793232023-02-09 20:37:27 +0000453 "SystemUI_compose_defaults",
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000454 ],
455 manifest: "tests/AndroidManifest-base.xml",
Kevin Liud3793232023-02-09 20:37:27 +0000456
457 srcs: [
458 "src/**/*.kt",
459 "src/**/*.java",
460 "src/**/I*.aidl",
461 ":ReleaseJavaFiles",
462 ],
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000463 static_libs: [
464 "SystemUI-tests-base",
465 ],
466 aaptflags: [
467 "--extra-packages",
468 "com.android.systemui",
469 ],
470 dont_merge_manifests: true,
471 platform_apis: true,
472 system_ext_specific: true,
473 certificate: "platform",
474 privileged: true,
475 resource_dirs: [],
Kevin Liud3793232023-02-09 20:37:27 +0000476 kotlincflags: ["-Xjvm-default=all"],
Kevin Liu092b8212023-02-15 05:42:34 +0000477 optimize: {
478 shrink_resources: false,
479 proguard_flags_files: ["proguard.flags"],
480 },
Kevin Liud3793232023-02-09 20:37:27 +0000481
482 plugins: ["dagger2-compiler"],
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000483}
484
485android_robolectric_test {
486 name: "SystemUiRoboTests",
487 srcs: [
488 "tests/robolectric/src/**/*.kt",
489 "tests/robolectric/src/**/*.java",
Kevin Liud3793232023-02-09 20:37:27 +0000490 ":SystemUI-tests-utils",
Caitlin Shkuratovd3777bd2023-07-18 21:39:33 +0000491 ":SystemUI-test-fakes",
Kevin Liud3793232023-02-09 20:37:27 +0000492 ":SystemUI-tests-robolectric-pilots",
493 ],
494 static_libs: [
495 "androidx.test.uiautomator_uiautomator",
Jeff DeCewa415d0e2023-08-02 11:30:09 -0400496 "androidx.core_core-animation-testing",
Kevin Liud3793232023-02-09 20:37:27 +0000497 "androidx.test.ext.junit",
498 "inline-mockito-robolectric-prebuilt",
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000499 ],
500 libs: [
501 "android.test.runner",
502 "android.test.base",
503 "android.test.mock",
504 "truth-prebuilt",
505 ],
Kevin Liud3793232023-02-09 20:37:27 +0000506
507 upstream: true,
508
Jay Aliomer9b13ae12022-11-28 14:50:09 +0000509 instrumentation_for: "SystemUIRobo-stub",
510 java_resource_dirs: ["tests/robolectric/config"],
511}
512
Jared Duke84e94b32022-08-05 13:46:38 -0700513// Opt-out config for optimizing the SystemUI target using R8.
514// Disabled via `export SYSTEMUI_OPTIMIZE_JAVA=false`, or explicitly in Make via
515// `SYSTEMUI_OPTIMIZE_JAVA := false`.
Jared Duke9dfa77b2021-12-22 13:31:06 -0800516soong_config_module_type {
517 name: "systemui_optimized_java_defaults",
518 module_type: "java_defaults",
519 config_namespace: "ANDROID",
520 bool_variables: ["SYSTEMUI_OPTIMIZE_JAVA"],
521 properties: ["optimize"],
Jared Duke2fee7402021-10-18 14:35:04 -0700522}
523
Jared Duke9dfa77b2021-12-22 13:31:06 -0800524systemui_optimized_java_defaults {
Jared Duke5bf6fb32023-02-23 14:27:47 -0800525 name: "SystemUI_optimized_defaults",
Jared Duke2fee7402021-10-18 14:35:04 -0700526 soong_config_variables: {
Jared Duke9dfa77b2021-12-22 13:31:06 -0800527 SYSTEMUI_OPTIMIZE_JAVA: {
Jared Duke2fee7402021-10-18 14:35:04 -0700528 optimize: {
529 enabled: true,
530 optimize: true,
531 shrink: true,
Jared Duke0668af22023-02-23 14:43:31 -0800532 shrink_resources: true,
Jared Dukef0904172022-06-07 18:01:06 +0000533 proguard_compatibility: false,
Jared Duke2fee7402021-10-18 14:35:04 -0700534 },
535 conditions_default: {
536 optimize: {
Jared Dukef0904172022-06-07 18:01:06 +0000537 proguard_compatibility: false,
Jared Duke2fee7402021-10-18 14:35:04 -0700538 },
539 },
540 },
541 },
542}
543
Jason Monka2f2d822018-08-13 11:10:48 -0400544android_app {
545 name: "SystemUI",
Jared Duke2fee7402021-10-18 14:35:04 -0700546 defaults: [
547 "platform_app_defaults",
Jared Duke5bf6fb32023-02-23 14:27:47 -0800548 "SystemUI_optimized_defaults",
Jared Duke2fee7402021-10-18 14:35:04 -0700549 ],
Jason Monka2f2d822018-08-13 11:10:48 -0400550 static_libs: [
551 "SystemUI-core",
552 ],
Anton Hansson7ccca9f2019-02-08 09:01:32 +0000553 resource_dirs: [],
Jason Monka2f2d822018-08-13 11:10:48 -0400554
Colin Crossc23cde42023-06-21 11:22:11 -0700555 use_resource_processor: true,
Jason Monka2f2d822018-08-13 11:10:48 -0400556 platform_apis: true,
Jeongik Chad45d9e12019-12-04 13:38:39 +0900557 system_ext_specific: true,
Jason Monka2f2d822018-08-13 11:10:48 -0400558 certificate: "platform",
559 privileged: true,
560
Colin Cross6954ea72023-07-18 10:52:21 -0700561 kotlincflags: ["-Xjvm-default=all"],
Selim Cinek820ba2d2019-06-18 18:59:09 -0700562
Jason Monka2f2d822018-08-13 11:10:48 -0400563 dxflags: ["--multi-dex"],
Jared Duke5bf6fb32023-02-23 14:27:47 -0800564 optimize: {
565 proguard_flags_files: ["proguard.flags"],
566 },
Winson Chungb754f522020-08-03 22:17:08 -0700567 required: [
568 "privapp_whitelist_com.android.systemui",
Hongwei Wang2b227ee2022-08-19 09:38:18 -0700569 "wmshell.protolog.json.gz",
Winson Chungb754f522020-08-03 22:17:08 -0700570 ],
Jason Monka2f2d822018-08-13 11:10:48 -0400571}