blob: 8cc9e004f7586e78778148d2415ff7c7f4aa1a8f [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
Jason Monka2f2d822018-08-13 11:10:48 -040034java_library {
35 name: "SystemUI-proto",
36
37 srcs: ["src/**/*.proto"],
38
39 proto: {
40 type: "nano",
41 },
Winson Chungeb1aa3d2020-08-25 19:02:29 -070042
43 libs: [
44 "WindowManager-Shell-proto",
45 ],
Jason Monka2f2d822018-08-13 11:10:48 -040046}
47
48java_library {
49 name: "SystemUI-tags",
50 srcs: ["src/com/android/systemui/EventLogTags.logtags"],
51}
52
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -040053filegroup {
54 name: "ReleaseJavaFiles",
Jeff DeCew86b8e772021-10-25 20:35:45 -040055 srcs: [
56 "src-release/**/*.kt",
57 "src-release/**/*.java",
58 ],
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -040059}
60
61filegroup {
62 name: "DebugJavaFiles",
Jeff DeCew86b8e772021-10-25 20:35:45 -040063 srcs: [
64 "src-debug/**/*.kt",
65 "src-debug/**/*.java",
66 ],
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -040067}
68
Jason Monka2f2d822018-08-13 11:10:48 -040069android_library {
70 name: "SystemUI-core",
71 srcs: [
Jason Monkae7ced22018-08-22 16:56:58 -040072 "src/**/*.kt",
Jason Monka2f2d822018-08-13 11:10:48 -040073 "src/**/*.java",
74 "src/**/I*.aidl",
Dave Mankoff72a50022021-11-02 20:44:54 -040075 ":ReleaseJavaFiles",
Jason Monka2f2d822018-08-13 11:10:48 -040076 ],
Jay Aliomer97d4fc7d2021-09-23 16:59:09 -040077 product_variables: {
78 debuggable: {
79 srcs: [":DebugJavaFiles"],
80 exclude_srcs: [":ReleaseJavaFiles"],
81 },
82 },
Jason Monka2f2d822018-08-13 11:10:48 -040083 resource_dirs: [
Sunny Goyalb4a26012019-12-05 15:49:41 -080084 "res-product",
Jason Monka2f2d822018-08-13 11:10:48 -040085 "res-keyguard",
86 "res",
87 ],
88 static_libs: [
Quang Luongc6fc5b22021-06-10 14:35:32 -070089 "WifiTrackerLib",
Winson Chung10a9b4b2019-12-18 10:01:36 -080090 "WindowManager-Shell",
Jordan Demeulenaerecea62bb2021-04-08 11:04:50 +020091 "SystemUIAnimationLib",
Jason Monka2f2d822018-08-13 11:10:48 -040092 "SystemUIPluginLib",
93 "SystemUISharedLib",
Jerry Chang919d1d22020-07-16 12:31:24 +080094 "SystemUI-statsd",
Jason Monka2f2d822018-08-13 11:10:48 -040095 "SettingsLib",
Fabian Kozynski713b7272020-03-03 18:35:52 -050096 "androidx.viewpager2_viewpager2",
Jason Monka2f2d822018-08-13 11:10:48 -040097 "androidx.legacy_legacy-support-v4",
98 "androidx.recyclerview_recyclerview",
99 "androidx.preference_preference",
100 "androidx.appcompat_appcompat",
Mark Renoufe2395012020-12-16 01:05:12 -0500101 "androidx.concurrent_concurrent-futures",
Jason Monka2f2d822018-08-13 11:10:48 -0400102 "androidx.mediarouter_mediarouter",
103 "androidx.palette_palette",
104 "androidx.legacy_legacy-preference-v14",
105 "androidx.leanback_leanback",
106 "androidx.slice_slice-core",
107 "androidx.slice_slice-view",
108 "androidx.slice_slice-builders",
109 "androidx.arch.core_core-runtime",
Bryce Lee436e42c2022-01-24 14:53:49 -0800110 "androidx.lifecycle_lifecycle-common-java8",
Jason Monka2f2d822018-08-13 11:10:48 -0400111 "androidx.lifecycle_lifecycle-extensions",
Joshua Tsujib1a796b2019-01-16 15:43:12 -0800112 "androidx.dynamicanimation_dynamicanimation",
Steve Elliott300b48f2019-05-29 14:13:50 -0400113 "androidx-constraintlayout_constraintlayout",
Miranda Kepharte1a22b92020-12-16 14:01:12 -0500114 "androidx.exifinterface_exifinterface",
Lucas Dupin00c1a602022-02-16 16:40:36 -0800115 "com.google.android.material_material",
Steve Elliotta7d72052020-12-16 23:04:19 -0500116 "kotlinx_coroutines_android",
117 "kotlinx_coroutines",
Hyunyoung Song5347a542019-03-01 13:32:28 -0800118 "iconloader_base",
Jason Monka2f2d822018-08-13 11:10:48 -0400119 "SystemUI-tags",
120 "SystemUI-proto",
Lucas Dupine37369f2021-08-31 00:19:39 +0000121 "monet",
Dave Mankoffdffcc472020-07-08 15:25:16 -0400122 "dagger2",
Andy Wickham64e34102021-03-07 16:02:01 -0800123 "jsr330",
Beverly46817e12021-06-22 16:29:52 -0400124 "lottie",
Jason Monka2f2d822018-08-13 11:10:48 -0400125 ],
126 manifest: "AndroidManifest.xml",
127
Selim Cinek820ba2d2019-06-18 18:59:09 -0700128 kotlincflags: ["-Xjvm-default=enable"],
Jason Monk73e8ffc2018-12-06 14:45:19 -0500129
Dave Mankoffdffcc472020-07-08 15:25:16 -0400130 plugins: ["dagger2-compiler"],
Jason Monka2f2d822018-08-13 11:10:48 -0400131}
132
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900133filegroup {
Fabian Kozynskid389df52022-01-06 10:52:51 -0500134 name: "AAA-src",
135 srcs: ["tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java"],
136 path: "tests/src",
137}
138
139filegroup {
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900140 name: "SystemUI-tests-utils",
141 srcs: [
Fabian Kozynskid389df52022-01-06 10:52:51 -0500142 "tests/src/com/android/systemui/SysuiBaseFragmentTest.java",
Dave Mankoffb4935a22021-06-01 15:12:15 -0400143 "tests/src/com/android/systemui/SysuiTestCase.java",
144 "tests/src/com/android/systemui/TestableDependency.java",
145 "tests/src/com/android/systemui/classifier/FalsingManagerFake.java",
Beverly79c89ec2019-12-13 10:33:01 -0500146 "tests/src/com/android/systemui/statusbar/notification/collection/NotificationEntryBuilder.java",
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900147 "tests/src/com/android/systemui/statusbar/RankingBuilder.java",
148 "tests/src/com/android/systemui/statusbar/SbnBuilder.java",
Dave Mankoffb4935a22021-06-01 15:12:15 -0400149 "tests/src/com/android/systemui/SysuiTestableContext.java",
Fabian Kozynski9ccb2342022-01-05 15:01:19 -0500150 "tests/src/com/android/systemui/util/**/*Fake.java",
Dave Mankoffb4935a22021-06-01 15:12:15 -0400151 "tests/src/com/android/systemui/utils/leaks/BaseLeakChecker.java",
152 "tests/src/com/android/systemui/utils/leaks/LeakCheckedTest.java",
153 "tests/src/com/android/systemui/**/Fake*.java",
154 "tests/src/com/android/systemui/**/Fake*.kt",
155 ],
156 exclude_srcs: [
157 "tests/src/com/android/systemui/**/*Test.java",
158 "tests/src/com/android/systemui/**/*Test.kt",
Tadashi G. Takaokaa6572dc2019-09-17 15:18:53 +0900159 ],
160 path: "tests/src",
161}
162
Bryce Leea5b08082021-10-06 11:34:56 -0700163java_library {
164 name: "SystemUI-tests-concurrency",
165 srcs: [
166 "src/com/android/systemui/util/concurrency/DelayableExecutor.java",
167 "src/com/android/systemui/util/time/SystemClock.java",
168 "tests/src/com/android/systemui/util/concurrency/FakeExecutor.java",
169 "tests/src/com/android/systemui/util/time/FakeSystemClock.java",
170 ],
171 jarjar_rules: ":jarjar-rules-shared",
172}
173
Jason Monkae7ced22018-08-22 16:56:58 -0400174android_library {
175 name: "SystemUI-tests",
Sunny Goyaleb18d392020-02-07 16:48:14 -0800176 manifest: "tests/AndroidManifest-base.xml",
177 additional_manifests: ["tests/AndroidManifest.xml"],
178
Jason Monkae7ced22018-08-22 16:56:58 -0400179 resource_dirs: [
180 "tests/res",
Sunny Goyalb4a26012019-12-05 15:49:41 -0800181 "res-product",
Jason Monkae7ced22018-08-22 16:56:58 -0400182 "res-keyguard",
183 "res",
184 ],
185 srcs: [
186 "tests/src/**/*.kt",
187 "tests/src/**/*.java",
188 "src/**/*.kt",
189 "src/**/*.java",
190 "src/**/I*.aidl",
Dave Mankoff1a934e92021-10-21 10:30:19 -0400191 ":ReleaseJavaFiles",
Jason Monkae7ced22018-08-22 16:56:58 -0400192 ],
193 static_libs: [
Quang Luongc6fc5b22021-06-10 14:35:32 -0700194 "WifiTrackerLib",
Jordan Demeulenaerecea62bb2021-04-08 11:04:50 +0200195 "SystemUIAnimationLib",
Jason Monkae7ced22018-08-22 16:56:58 -0400196 "SystemUIPluginLib",
197 "SystemUISharedLib",
Hyunyoung Song3d89c932020-04-11 13:31:06 -0700198 "SystemUI-statsd",
Jason Monkae7ced22018-08-22 16:56:58 -0400199 "SettingsLib",
Fabian Kozynski713b7272020-03-03 18:35:52 -0500200 "androidx.viewpager2_viewpager2",
Jason Monkae7ced22018-08-22 16:56:58 -0400201 "androidx.legacy_legacy-support-v4",
202 "androidx.recyclerview_recyclerview",
203 "androidx.preference_preference",
204 "androidx.appcompat_appcompat",
Mark Renoufe2395012020-12-16 01:05:12 -0500205 "androidx.concurrent_concurrent-futures",
Jason Monkae7ced22018-08-22 16:56:58 -0400206 "androidx.mediarouter_mediarouter",
207 "androidx.palette_palette",
208 "androidx.legacy_legacy-preference-v14",
209 "androidx.leanback_leanback",
210 "androidx.slice_slice-core",
211 "androidx.slice_slice-view",
212 "androidx.slice_slice-builders",
213 "androidx.arch.core_core-runtime",
Bryce Lee436e42c2022-01-24 14:53:49 -0800214 "androidx.lifecycle_lifecycle-common-java8",
Jason Monkae7ced22018-08-22 16:56:58 -0400215 "androidx.lifecycle_lifecycle-extensions",
Joshua Tsujib1a796b2019-01-16 15:43:12 -0800216 "androidx.dynamicanimation_dynamicanimation",
Steve Elliott300b48f2019-05-29 14:13:50 -0400217 "androidx-constraintlayout_constraintlayout",
Miranda Kepharte1a22b92020-12-16 14:01:12 -0500218 "androidx.exifinterface_exifinterface",
Pinyao Tingee191b12020-04-29 18:35:39 -0700219 "kotlinx-coroutines-android",
220 "kotlinx-coroutines-core",
Lyn Han1b4f25e2019-06-11 13:56:34 -0700221 "iconloader_base",
Jason Monkae7ced22018-08-22 16:56:58 -0400222 "SystemUI-tags",
223 "SystemUI-proto",
224 "metrics-helper-lib",
Tadashi G. Takaokac7340fb2020-10-20 17:50:13 +0900225 "hamcrest-library",
226 "androidx.test.rules",
227 "androidx.test.uiautomator",
Beverly9028d412019-12-11 16:33:16 -0500228 "mockito-target-extended-minus-junit4",
Jason Monkae7ced22018-08-22 16:56:58 -0400229 "testables",
230 "truth-prebuilt",
Lucas Dupine37369f2021-08-31 00:19:39 +0000231 "monet",
Dave Mankoffdffcc472020-07-08 15:25:16 -0400232 "dagger2",
Bill Lina17858d12020-07-14 10:30:10 +0800233 "jsr330",
234 "WindowManager-Shell",
Jason Monkae7ced22018-08-22 16:56:58 -0400235 ],
236 libs: [
237 "android.test.runner",
Jason Monkae7ced22018-08-22 16:56:58 -0400238 "android.test.base",
239 ],
Selim Cinek820ba2d2019-06-18 18:59:09 -0700240 kotlincflags: ["-Xjvm-default=enable"],
Jason Monkae7ced22018-08-22 16:56:58 -0400241 aaptflags: [
242 "--extra-packages",
Hyunyoung Song8f9d34c2019-08-30 14:47:43 -0700243 "com.android.systemui",
Jason Monkae7ced22018-08-22 16:56:58 -0400244 ],
Dave Mankoffdffcc472020-07-08 15:25:16 -0400245 plugins: ["dagger2-compiler"],
Jason Monkae7ced22018-08-22 16:56:58 -0400246}
247
Jared Duke9dfa77b2021-12-22 13:31:06 -0800248// Opt-in config for optimizing the SystemUI target using R8.
249// Enabled via `export SYSTEMUI_OPTIMIZE_JAVA=true`, or explicitly in Make via
250// the `SOONG_CONFIG_ANDROID_SYSTEMUI_OPTIMIZE_JAVA` variable.
251// TODO(b/203472868): Enable optimizations by default after stabilizing and
252// building out retrace infrastructure.
253soong_config_module_type {
254 name: "systemui_optimized_java_defaults",
255 module_type: "java_defaults",
256 config_namespace: "ANDROID",
257 bool_variables: ["SYSTEMUI_OPTIMIZE_JAVA"],
258 properties: ["optimize"],
Jared Duke2fee7402021-10-18 14:35:04 -0700259}
260
Jared Duke9dfa77b2021-12-22 13:31:06 -0800261systemui_optimized_java_defaults {
Jared Duke2fee7402021-10-18 14:35:04 -0700262 name: "SystemUI_app_defaults",
263 soong_config_variables: {
Jared Duke9dfa77b2021-12-22 13:31:06 -0800264 SYSTEMUI_OPTIMIZE_JAVA: {
Jared Duke2fee7402021-10-18 14:35:04 -0700265 optimize: {
266 enabled: true,
267 optimize: true,
268 shrink: true,
269 proguard_flags_files: ["proguard.flags"],
270 },
271 conditions_default: {
272 optimize: {
273 proguard_flags_files: ["proguard.flags"],
274 },
275 },
276 },
277 },
278}
279
Jason Monka2f2d822018-08-13 11:10:48 -0400280android_app {
281 name: "SystemUI",
Jared Duke2fee7402021-10-18 14:35:04 -0700282 defaults: [
283 "platform_app_defaults",
284 "SystemUI_app_defaults",
285 ],
Jason Monka2f2d822018-08-13 11:10:48 -0400286 static_libs: [
287 "SystemUI-core",
288 ],
Anton Hansson7ccca9f2019-02-08 09:01:32 +0000289 resource_dirs: [],
Jason Monka2f2d822018-08-13 11:10:48 -0400290
291 platform_apis: true,
Jeongik Chad45d9e12019-12-04 13:38:39 +0900292 system_ext_specific: true,
Jason Monka2f2d822018-08-13 11:10:48 -0400293 certificate: "platform",
294 privileged: true,
295
Selim Cinek820ba2d2019-06-18 18:59:09 -0700296 kotlincflags: ["-Xjvm-default=enable"],
297
Jason Monka2f2d822018-08-13 11:10:48 -0400298 dxflags: ["--multi-dex"],
Winson Chungb754f522020-08-03 22:17:08 -0700299 required: [
300 "privapp_whitelist_com.android.systemui",
Winson Chungb754f522020-08-03 22:17:08 -0700301 ],
Jason Monka2f2d822018-08-13 11:10:48 -0400302}