blob: 562c84a14f4b89010cfe8aaa9642ce1ede918444 [file] [log] [blame]
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -07001// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Bob Badour4bdf3802021-02-12 17:08:17 -080015package {
Bob Badoura7548b52022-01-27 22:04:48 -080016 // See: http://go/android-license-faq
17 default_applicable_licenses: ["Android-Apache-2.0"],
Bob Badour4bdf3802021-02-12 17:08:17 -080018}
19
Sunny Goyal621918f2024-09-18 11:31:58 -070020min_launcher3_sdk_version = "31"
Sunny Goyal1fb271f2021-05-20 10:43:23 -070021
Jared Duke1222dd72024-07-12 00:01:11 +000022// Targets that don't inherit framework aconfig libs (i.e., those that don't set
23// `platform_apis: true`) must manually link them.
24java_defaults {
25 name: "launcher-non-platform-apis-defaults",
26 static_libs: [
27 "android.os.flags-aconfig-java",
28 "android.appwidget.flags-aconfig-java",
29 "com.android.window.flags.window-aconfig-java",
Anushree Ganjambd863312024-08-23 17:15:30 -070030 ],
Jared Duke1222dd72024-07-12 00:01:11 +000031}
Bob Badour4bdf3802021-02-12 17:08:17 -080032
Thales Lima2c54bbf2022-07-12 15:45:10 +000033// Common source files used to build launcher (java and kotlin)
34// All sources are split so they can be reused in many other libraries/apps in other folders
Sunny Goyal77954ba2024-03-25 11:53:17 -070035
36// Main Launcher source, excluding the build config
Thales Lima2c54bbf2022-07-12 15:45:10 +000037filegroup {
38 name: "launcher-src",
Cole Faustbad33e62023-12-20 11:57:04 -080039 srcs: [
40 "src/**/*.java",
41 "src/**/*.kt",
42 ],
Thales Lima2c54bbf2022-07-12 15:45:10 +000043}
44
Jordan Silva4afa1952024-08-06 16:54:59 +010045// Main Launcher source for compose, excluding the build config
46filegroup {
47 name: "launcher-compose-enabled-src",
48 srcs: [
49 "compose/facade/enabled/*.kt",
50 "compose/facade/core/*.kt",
51 "compose/features/**/*.kt",
52 ],
53}
54
55filegroup {
56 name: "launcher-compose-disabled-src",
57 srcs: [
58 "compose/facade/core/*.kt",
59 "compose/facade/disabled/*.kt",
60 ],
61}
62
Sunny Goyal77954ba2024-03-25 11:53:17 -070063// Source code for quickstep build, on top of launcher-src
Thales Lima2c54bbf2022-07-12 15:45:10 +000064filegroup {
65 name: "launcher-quickstep-src",
Cole Faustbad33e62023-12-20 11:57:04 -080066 srcs: [
67 "quickstep/src/**/*.java",
68 "quickstep/src/**/*.kt",
69 ],
Thales Lima2c54bbf2022-07-12 15:45:10 +000070}
71
Anushree Ganjam14721d12024-08-29 10:05:12 -070072// Source code for quickstep dagger
73filegroup {
74 name: "launcher-quickstep-dagger",
75 srcs: [
76 "quickstep/dagger/**/*.java",
77 "quickstep/dagger/**/*.kt",
78 ],
79}
80
Jordan Silva4afa1952024-08-06 16:54:59 +010081// Source code for quickstep build with compose enabled, on top of launcher-src
82filegroup {
83 name: "launcher-quickstep-compose-enabled-src",
84 srcs: [
85 "quickstep/compose/facade/core/*.kt",
86 "quickstep/compose/facade/enabled/*.kt",
87 "quickstep/compose/features/**/*.kt",
88 ],
89}
90
91filegroup {
92 name: "launcher-quickstep-compose-disabled-src",
93 srcs: [
94 "quickstep/compose/facade/core/*.kt",
95 "quickstep/compose/facade/disabled/*.kt",
96 ],
97}
98
Sunny Goyal77954ba2024-03-25 11:53:17 -070099// Alternate source when quickstep is not included
Thales Lima2c54bbf2022-07-12 15:45:10 +0000100filegroup {
Sunny Goyal77954ba2024-03-25 11:53:17 -0700101 name: "launcher-src_no_quickstep",
Cole Faustbad33e62023-12-20 11:57:04 -0800102 srcs: [
Sunny Goyal77954ba2024-03-25 11:53:17 -0700103 "src_no_quickstep/**/*.java",
104 "src_no_quickstep/**/*.kt",
Cole Faustbad33e62023-12-20 11:57:04 -0800105 ],
Thales Lima2c54bbf2022-07-12 15:45:10 +0000106}
107
Sunny Goyal77954ba2024-03-25 11:53:17 -0700108// Default build config for Launcher3
Thales Lima2c54bbf2022-07-12 15:45:10 +0000109filegroup {
Sunny Goyal77954ba2024-03-25 11:53:17 -0700110 name: "launcher-build-config",
Cole Faustbad33e62023-12-20 11:57:04 -0800111 srcs: [
Sunny Goyal77954ba2024-03-25 11:53:17 -0700112 "src_build_config/**/*.java",
Cole Faustbad33e62023-12-20 11:57:04 -0800113 ],
Thales Lima2c54bbf2022-07-12 15:45:10 +0000114}
115
Thales Lima2c54bbf2022-07-12 15:45:10 +0000116// Proguard files for Launcher3
117filegroup {
118 name: "launcher-proguard-rules",
119 srcs: ["proguard.flags"],
120}
121
Jordan Silva4afa1952024-08-06 16:54:59 +0100122// Opt-in configuration for Launcher3 code depending on Jetpack Compose.
123soong_config_module_type {
124 name: "launcher_compose_java_defaults",
125 module_type: "java_defaults",
126 config_namespace: "ANDROID",
127 bool_variables: ["release_enable_compose_in_launcher"],
128 properties: [
129 "srcs",
130 "static_libs",
131 ],
132}
133
134// Opt-in configuration for Launcher Quickstep code depending on Jetpack Compose.
135soong_config_bool_variable {
136 name: "release_enable_compose_in_launcher",
137}
138
139soong_config_module_type {
140 name: "quickstep_compose_java_defaults",
141 module_type: "java_defaults",
142 config_namespace: "ANDROID",
143 bool_variables: ["release_enable_compose_in_launcher"],
144 properties: [
145 "srcs",
146 "static_libs",
147 ],
148}
149
150soong_config_module_type {
151 name: "launcher_compose_tests_java_defaults",
152 module_type: "java_defaults",
153 config_namespace: "ANDROID",
154 bool_variables: ["release_enable_compose_in_launcher"],
155 properties: [
156 "static_libs",
157 ],
158}
159
160launcher_compose_java_defaults {
161 name: "launcher_compose_defaults",
162 soong_config_variables: {
163 release_enable_compose_in_launcher: {
164 srcs: [
Anushree Ganjambd863312024-08-23 17:15:30 -0700165 ":launcher-compose-enabled-src",
Jordan Silva4afa1952024-08-06 16:54:59 +0100166 ],
167
168 // Compose dependencies
169 static_libs: [
170 "androidx.compose.runtime_runtime",
171 "androidx.compose.material3_material3",
172 ],
173
174 // By default, Compose is disabled and we compile the ComposeFacade
175 // in compose/launcher3/facade/disabled/.
176 conditions_default: {
177 srcs: [
Anushree Ganjambd863312024-08-23 17:15:30 -0700178 ":launcher-compose-disabled-src",
Jordan Silva4afa1952024-08-06 16:54:59 +0100179 ],
180 static_libs: [],
181 },
182 },
183 },
184}
185
186quickstep_compose_java_defaults {
187 name: "quickstep_compose_defaults",
188 soong_config_variables: {
189 release_enable_compose_in_launcher: {
190 srcs: [
Anushree Ganjambd863312024-08-23 17:15:30 -0700191 ":launcher-quickstep-compose-enabled-src",
Jordan Silva4afa1952024-08-06 16:54:59 +0100192 ],
193
194 // Compose dependencies
195 static_libs: [
196 "androidx.compose.runtime_runtime",
197 "androidx.compose.material3_material3",
198 ],
199
200 // By default, Compose is disabled and we compile the ComposeFacade
201 // in compose/quickstep/facade/disabled/.
202 conditions_default: {
203 srcs: [
Anushree Ganjambd863312024-08-23 17:15:30 -0700204 ":launcher-quickstep-compose-disabled-src",
Jordan Silva4afa1952024-08-06 16:54:59 +0100205 ],
206 static_libs: [],
207 },
208 },
209 },
210}
211
212launcher_compose_tests_java_defaults {
213 name: "launcher_compose_tests_defaults",
214 soong_config_variables: {
215 release_enable_compose_in_launcher: {
216 // Compose dependencies
217 static_libs: [
218 "androidx.compose.runtime_runtime",
219 "androidx.compose.ui_ui-test-junit4",
220 "androidx.compose.ui_ui-test-manifest",
221 ],
222
223 conditions_default: {
224 static_libs: [],
225 },
226 },
227 },
228}
229
vadimt09df0832019-03-07 14:59:30 -0800230android_library {
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -0700231 name: "launcher-aosp-tapl",
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700232 libs: [
Jihoon Kang9f8e4b62024-08-30 00:29:41 +0000233 "framework-statsd.stubs.module_lib",
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700234 ],
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -0700235 static_libs: [
236 "androidx.annotation_annotation",
Brett Chabotd7d692c2018-10-23 21:17:58 -0700237 "androidx.test.runner",
238 "androidx.test.rules",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -0700239 "androidx.test.uiautomator_uiautomator",
Hyunyoung Songbb715822020-08-04 10:45:53 -0700240 "androidx.preference_preference",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -0700241 "SystemUISharedLib",
Peter Kalauskas9bdb1da2024-04-02 15:38:57 -0700242 "//frameworks/libs/systemui:animationlib",
helencheuk39a60932024-08-05 16:11:07 +0100243 "//frameworks/libs/systemui:contextualeducationlib",
Nicolo' Mazzucatoe8ee34a2023-01-24 15:41:10 +0000244 "launcher-testing-shared",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -0700245 ],
246 srcs: [
Uwais Ashraf9c2f5a42024-03-04 09:49:39 +0000247 "tests/tapl/**/*.java",
248 "tests/tapl/**/*.kt",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -0700249 ],
Cole Faustbad33e62023-12-20 11:57:04 -0800250 resource_dirs: [],
Uwais Ashraf9c2f5a42024-03-04 09:49:39 +0000251 manifest: "tests/tapl/AndroidManifest.xml",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -0700252 platform_apis: true,
253}
thiruram5e1ecf62019-11-13 17:49:35 -0800254
255java_library_static {
thiruramc1c2bfa2020-02-04 18:56:40 -0800256 name: "launcher_log_protos_lite",
thiruram5e1ecf62019-11-13 17:49:35 -0800257 srcs: [
258 "protos/*.proto",
thiruramcbeb13d2021-01-27 14:45:58 -0800259 "protos_overrides/*.proto",
thiruram5e1ecf62019-11-13 17:49:35 -0800260 ],
261 sdk_version: "current",
262 proto: {
263 type: "lite",
Cole Faustbad33e62023-12-20 11:57:04 -0800264 local_include_dirs: [
thiruram5e1ecf62019-11-13 17:49:35 -0800265 "protos",
thiruramcbeb13d2021-01-27 14:45:58 -0800266 "protos_overrides",
thiruram5e1ecf62019-11-13 17:49:35 -0800267 ],
268 },
thiruramc1c2bfa2020-02-04 18:56:40 -0800269 static_libs: ["libprotobuf-java-lite"],
thiruram5e1ecf62019-11-13 17:49:35 -0800270}
Hyunyoung Song8605be32020-02-21 14:52:25 -0800271
thiruramcbeb13d2021-01-27 14:45:58 -0800272java_library_static {
273 name: "launcher_quickstep_log_protos_lite",
274 srcs: [
275 "quickstep/protos_overrides/*.proto",
276 ],
277 sdk_version: "current",
278 proto: {
279 type: "lite",
Cole Faustbad33e62023-12-20 11:57:04 -0800280 local_include_dirs: [
thiruramcbeb13d2021-01-27 14:45:58 -0800281 "quickstep/protos_overrides",
282 ],
283 },
284 static_libs: [
Cole Faustbad33e62023-12-20 11:57:04 -0800285 "libprotobuf-java-lite",
286 "launcher_log_protos_lite",
287 ],
thiruramcbeb13d2021-01-27 14:45:58 -0800288}
289
Hyunyoung Song8605be32020-02-21 14:52:25 -0800290java_library {
291 name: "LauncherPluginLib",
292
293 static_libs: ["PluginCoreLib"],
294
295 srcs: ["src_plugins/**/*.java"],
296
297 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700298 min_sdk_version: min_launcher3_sdk_version,
Hyunyoung Song8605be32020-02-21 14:52:25 -0800299}
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800300
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800301// Library with all the dependencies for building Launcher3
302android_library {
303 name: "Launcher3ResLib",
Jordan Silva4afa1952024-08-06 16:54:59 +0100304 defaults: [
305 "launcher_compose_defaults",
306 ],
Cole Faustbad33e62023-12-20 11:57:04 -0800307 srcs: [],
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800308 resource_dirs: ["res"],
309 static_libs: [
310 "LauncherPluginLib",
311 "launcher_quickstep_log_protos_lite",
312 "androidx-constraintlayout_constraintlayout",
313 "androidx.recyclerview_recyclerview",
314 "androidx.dynamicanimation_dynamicanimation",
315 "androidx.fragment_fragment",
316 "androidx.preference_preference",
317 "androidx.slice_slice-view",
318 "androidx.cardview_cardview",
Sebastian Franco9ae40322023-10-10 10:50:28 -0700319 "androidx.window_window",
Brian Isganitis93031bc2021-06-09 16:34:45 -0400320 "com.google.android.material_material",
Peter Kalauskas9bdb1da2024-04-02 15:38:57 -0700321 "//frameworks/libs/systemui:iconloader_base",
322 "//frameworks/libs/systemui:view_capture",
323 "//frameworks/libs/systemui:animationlib",
helencheuk39a60932024-08-05 16:11:07 +0100324 "//frameworks/libs/systemui:contextualeducationlib",
Anna Zhuravleva9c203812023-11-20 18:30:35 +0000325 "SystemUI-statsd",
Nicolo' Mazzucatoe8ee34a2023-01-24 15:41:10 +0000326 "launcher-testing-shared",
Uwais Ashraf6e9927e2024-03-25 10:53:06 +0000327 "androidx.lifecycle_lifecycle-common-java8",
328 "androidx.lifecycle_lifecycle-extensions",
329 "androidx.lifecycle_lifecycle-runtime-ktx",
330 "kotlinx_coroutines_android",
331 "kotlinx_coroutines",
Anushree Ganjam2a14b972023-08-30 13:31:10 -0700332 "com_android_launcher3_flags_lib",
Jeremy Sim9e44e372023-10-10 14:54:39 -0700333 "com_android_wm_shell_flags_lib",
maxwen8fd65a52022-11-18 16:17:14 +0100334 "OmniPreferenceTheme",
Anushree Ganjambd863312024-08-23 17:15:30 -0700335 "dagger2",
336 "jsr330",
George Linde4d7452024-08-27 16:57:32 +0000337 "com_android_systemui_shared_flags_lib",
Nicolo' Mazzucatoe8ee34a2023-01-24 15:41:10 +0000338 ],
Sunny Goyal77954ba2024-03-25 11:53:17 -0700339 manifest: "AndroidManifest-common.xml",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800340 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700341 min_sdk_version: min_launcher3_sdk_version,
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000342 lint: {
Sunny Goyal9d2ece12024-03-22 13:52:19 -0700343 baseline_filename: "lint-baseline.xml",
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000344 },
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800345}
346
347//
348// Build rule for Launcher3 app.
349//
350android_app {
351 name: "Launcher3",
Jared Duke1222dd72024-07-12 00:01:11 +0000352 defaults: ["launcher-non-platform-apis-defaults"],
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800353
354 static_libs: [
Sunny Goyal77954ba2024-03-25 11:53:17 -0700355 "Launcher3ResLib",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800356 ],
357 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000358 ":launcher-src",
Sunny Goyal77954ba2024-03-25 11:53:17 -0700359 ":launcher-src_no_quickstep",
360 ":launcher-build-config",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800361 ],
Sunny Goyal9d2ece12024-03-22 13:52:19 -0700362
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800363 optimize: {
Jordan Silva6a8d81a2024-07-08 13:29:48 +0000364 proguard_flags_files: [":launcher-proguard-rules"],
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800365 // Proguard is disable for testing. Derivarive prjects to keep proguard enabled
366 enabled: false,
367 },
368
369 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700370 min_sdk_version: min_launcher3_sdk_version,
371 target_sdk_version: "current",
Anushree Ganjambd863312024-08-23 17:15:30 -0700372 plugins: ["dagger2-compiler"],
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800373 privileged: true,
374 system_ext_specific: true,
375
376 overrides: [
377 "Home",
378 "Launcher2",
379 ],
380 required: ["privapp_whitelist_com.android.launcher3"],
381
382 jacoco: {
383 include_filter: ["com.android.launcher3.**"],
384 },
385 additional_manifests: [
386 "AndroidManifest-common.xml",
387 ],
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000388 lint: {
Cole Faustc778a672024-01-10 12:30:39 -0800389 baseline_filename: "lint-baseline.xml",
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000390 },
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800391}
392
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800393// Library with all the dependencies for building quickstep
394android_library {
395 name: "QuickstepResLib",
Cole Faustbad33e62023-12-20 11:57:04 -0800396 srcs: [],
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800397 resource_dirs: [
398 "quickstep/res",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800399 ],
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700400 libs: [
Jihoon Kang9f8e4b62024-08-30 00:29:41 +0000401 "framework-statsd.stubs.module_lib",
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700402 ],
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800403 static_libs: [
404 "Launcher3ResLib",
Schneider Victor-tuliasd0865f82021-11-09 13:19:21 -0800405 "lottie",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800406 "SystemUISharedLib",
Jagrut Desaifae321c2023-10-30 20:30:39 +0000407 "SettingsLibSettingsTheme",
Anushree Ganjambd863312024-08-23 17:15:30 -0700408 "dagger2",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800409 ],
410 manifest: "quickstep/AndroidManifest.xml",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700411 min_sdk_version: "current",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800412}
413
Sunny Goyal77954ba2024-03-25 11:53:17 -0700414// Library with all the source code and dependencies for building Launcher Go
Jon Spivacka65d68b2021-04-07 10:22:25 -0700415android_library {
Sunny Goyal77954ba2024-03-25 11:53:17 -0700416 name: "Launcher3GoLib",
Jordan Silva4afa1952024-08-06 16:54:59 +0100417 defaults: [
418 "launcher_compose_defaults",
419 "quickstep_compose_defaults",
420 ],
Jon Spivacka65d68b2021-04-07 10:22:25 -0700421 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000422 ":launcher-src",
423 ":launcher-quickstep-src",
Anushree Ganjam14721d12024-08-29 10:05:12 -0700424 ":launcher-quickstep-dagger",
Sunny Goyal77954ba2024-03-25 11:53:17 -0700425 "go/quickstep/src/**/*.java",
426 "go/quickstep/src/**/*.kt",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700427 ],
428 resource_dirs: [
Jon Spivacka65d68b2021-04-07 10:22:25 -0700429 "go/quickstep/res",
430 ],
Ben Murdochfabc8732021-12-02 18:22:17 +0000431 // Note the ordering here is important when it comes to resource
432 // overriding. We want the most specific resource overrides defined
433 // in QuickstepResLib to take precendece, so it should be the final
434 // dependency. See b/205278434 for how this can go wrong.
Jon Spivacka65d68b2021-04-07 10:22:25 -0700435 static_libs: [
Jon Spivacka65d68b2021-04-07 10:22:25 -0700436 "QuickstepResLib",
Jon Spivack89c21c72021-08-13 13:18:24 -0700437 "androidx.room_room-runtime",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700438 ],
Anushree Ganjambd863312024-08-23 17:15:30 -0700439 plugins: [
440 "androidx.room_room-compiler-plugin",
441 "dagger2-compiler",
442 ],
Arvind Kumar384a0ed2023-07-07 09:41:29 +0530443 manifest: "quickstep/AndroidManifest.xml",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700444 additional_manifests: [
445 "go/AndroidManifest.xml",
446 "AndroidManifest-common.xml",
447 ],
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700448 min_sdk_version: "current",
Colin Crossf156b6b2024-01-11 14:03:12 -0800449 // TODO(b/319712088): re-enable use_resource_processor
450 use_resource_processor: false,
Jon Spivacka65d68b2021-04-07 10:22:25 -0700451}
452
Sunny Goyal77954ba2024-03-25 11:53:17 -0700453// Library with all the source code and dependencies for building Quickstep
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700454android_library {
Thecrazyskullb6775e62017-02-11 18:45:26 -0500455 name: "Launcher3QuickStepLibGoogle",
Jordan Silva4afa1952024-08-06 16:54:59 +0100456 defaults: [
457 "launcher_compose_defaults",
Anushree Ganjambd863312024-08-23 17:15:30 -0700458 "quickstep_compose_defaults",
Jordan Silva4afa1952024-08-06 16:54:59 +0100459 ],
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700460 srcs: [
Thecrazyskullb6775e62017-02-11 18:45:26 -0500461 "src_overlay/google/com/android/launcher3/overlay/OverlayCallbackImpl.java",
Thales Lima2c54bbf2022-07-12 15:45:10 +0000462 ":launcher-src",
463 ":launcher-quickstep-src",
Anushree Ganjam14721d12024-08-29 10:05:12 -0700464 ":launcher-quickstep-dagger",
Sunny Goyal77954ba2024-03-25 11:53:17 -0700465 ":launcher-build-config",
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700466 ],
Thales Limac335ad22021-11-08 15:31:49 +0000467 resource_dirs: [],
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700468 libs: [
Jihoon Kang9f8e4b62024-08-30 00:29:41 +0000469 "framework-statsd.stubs.module_lib",
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700470 ],
Ben Murdochfabc8732021-12-02 18:22:17 +0000471 // Note the ordering here is important when it comes to resource
472 // overriding. We want the most specific resource overrides defined
473 // in QuickstepResLib to take precendece, so it should be the final
474 // dependency. See b/208647810 for how this can go wrong.
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700475 static_libs: [
Thecrazyskullb6775e62017-02-11 18:45:26 -0500476 "OmniLib",
477 "//vendor/omni:libGoogleFeed",
478 "SystemUI-statsd",
479 "QuickstepResLib",
480 ],
481 manifest: "quickstep/AndroidManifest.xml",
482 platform_apis: true,
483 min_sdk_version: "current",
484 // TODO(b/319712088): re-enable use_resource_processor
485 use_resource_processor: false,
486}
487
488android_library {
489 name: "Launcher3QuickStepLibMock",
490 srcs: [
491 "src_overlay/mock/com/android/launcher3/overlay/OverlayCallbackImpl.java",
492 "src_overlay/mock/com/google/android/libraries/gsa/launcherclient/LauncherClientCallbacks.java",
493 ":launcher-src",
494 ":launcher-quickstep-src",
495 ":launcher-build-config",
496 ],
497 resource_dirs: [],
498 libs: [
499 "framework-statsd",
500 ],
501 // Note the ordering here is important when it comes to resource
502 // overriding. We want the most specific resource overrides defined
503 // in QuickstepResLib to take precendece, so it should be the final
504 // dependency. See b/208647810 for how this can go wrong.
505 static_libs: [
506 "OmniLib",
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700507 "SystemUI-statsd",
Ben Murdochfabc8732021-12-02 18:22:17 +0000508 "QuickstepResLib",
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700509 ],
510 manifest: "quickstep/AndroidManifest.xml",
511 platform_apis: true,
Anushree Ganjambd863312024-08-23 17:15:30 -0700512 plugins: ["dagger2-compiler"],
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700513 min_sdk_version: "current",
Colin Crossf156b6b2024-01-11 14:03:12 -0800514 // TODO(b/319712088): re-enable use_resource_processor
515 use_resource_processor: false,
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700516}
Thales Lima813834a2022-05-18 15:29:59 +0000517
Thales Lima813834a2022-05-18 15:29:59 +0000518// Build rule for Quickstep app.
519android_app {
520 name: "Launcher3QuickStep",
Thecrazyskullb6775e62017-02-11 18:45:26 -0500521 defaults: ["omni_launcher3_defaults"],
Thales Lima813834a2022-05-18 15:29:59 +0000522 optimize: {
Jordan Silva6a8d81a2024-07-08 13:29:48 +0000523 proguard_flags_files: [":launcher-proguard-rules"],
524 enabled: true,
525 shrink_resources: true,
Thales Lima813834a2022-05-18 15:29:59 +0000526 },
527
528 platform_apis: true,
529 min_sdk_version: "current",
530 target_sdk_version: "current",
531
532 privileged: true,
533 system_ext_specific: true,
534 overrides: [
535 "Home",
536 "Launcher2",
537 "Launcher3",
538 ],
539 required: ["privapp_whitelist_com.android.launcher3"],
540
541 resource_dirs: ["quickstep/res"],
542
543 additional_manifests: [
544 "quickstep/AndroidManifest-launcher.xml",
545 "AndroidManifest-common.xml",
546 ],
547
548 manifest: "quickstep/AndroidManifest.xml",
549 jacoco: {
550 include_filter: ["com.android.launcher3.*"],
Cole Faustbad33e62023-12-20 11:57:04 -0800551 },
Thales Lima813834a2022-05-18 15:29:59 +0000552
553}
554
Sunny Goyal77954ba2024-03-25 11:53:17 -0700555// Build rule for Launcher3 Go app with quickstep for Android Go devices.
556// Note that the following two rules are exactly same, and should
557// eventually be merged into a single target
558android_app {
559 name: "Launcher3Go",
Sunny Goyal77954ba2024-03-25 11:53:17 -0700560 static_libs: ["Launcher3GoLib"],
Sunny Goyal3b452f52024-04-12 19:16:19 +0000561 resource_dirs: [],
Thales Lima813834a2022-05-18 15:29:59 +0000562
563 platform_apis: true,
564 min_sdk_version: "current",
565 target_sdk_version: "current",
566
Thales Lima813834a2022-05-18 15:29:59 +0000567 optimize: {
568 proguard_flags_files: ["proguard.flags"],
569 enabled: true,
Jordan Silva6a8d81a2024-07-08 13:29:48 +0000570 shrink_resources: true,
Thales Lima813834a2022-05-18 15:29:59 +0000571 },
572
573 privileged: true,
574 system_ext_specific: true,
575 overrides: [
576 "Home",
577 "Launcher2",
578 "Launcher3",
579 "Launcher3QuickStep",
580 ],
581 required: ["privapp_whitelist_com.android.launcher3"],
582
583 additional_manifests: [
584 "go/AndroidManifest.xml",
585 "go/AndroidManifest-launcher.xml",
586 "AndroidManifest-common.xml",
587 ],
588
589 manifest: "quickstep/AndroidManifest.xml",
590 jacoco: {
591 include_filter: ["com.android.launcher3.*"],
Cole Faustbad33e62023-12-20 11:57:04 -0800592 },
Sunny Goyal77954ba2024-03-25 11:53:17 -0700593}
Anushree Ganjambd863312024-08-23 17:15:30 -0700594
Sunny Goyal77954ba2024-03-25 11:53:17 -0700595android_app {
596 name: "Launcher3QuickStepGo",
Sunny Goyal77954ba2024-03-25 11:53:17 -0700597 static_libs: ["Launcher3GoLib"],
Sunny Goyal3b452f52024-04-12 19:16:19 +0000598 resource_dirs: [],
Sunny Goyal77954ba2024-03-25 11:53:17 -0700599
600 platform_apis: true,
601 min_sdk_version: "current",
602 target_sdk_version: "current",
603
604 optimize: {
605 proguard_flags_files: ["proguard.flags"],
606 enabled: true,
Jordan Silva6a8d81a2024-07-08 13:29:48 +0000607 shrink_resources: true,
Sunny Goyal77954ba2024-03-25 11:53:17 -0700608 },
609
610 privileged: true,
611 system_ext_specific: true,
612 overrides: [
613 "Home",
614 "Launcher2",
615 "Launcher3",
616 "Launcher3QuickStep",
617 ],
618 required: ["privapp_whitelist_com.android.launcher3"],
619
620 additional_manifests: [
621 "go/AndroidManifest.xml",
622 "go/AndroidManifest-launcher.xml",
623 "AndroidManifest-common.xml",
624 ],
625
626 manifest: "quickstep/AndroidManifest.xml",
627 jacoco: {
628 include_filter: ["com.android.launcher3.*"],
629 },
Thales Lima813834a2022-05-18 15:29:59 +0000630}