blob: 5efee5170066ab1a74b7ac0815a0cc2d3ee5ac92 [file] [log] [blame]
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -08001//
2// Copyright (C) 2021 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
17
Bob Badoure9c20682021-03-19 03:30:57 -070018package {
19 default_applicable_licenses: ["Android-Apache-2.0"],
20}
21
Chris Poultney6ad04ab2023-09-13 15:12:07 +000022// Production-only files that should be excluded in tests.
23filegroup {
24 name: "ThemePicker_src_prod",
25 visibility: [":__subpackages__"],
26 srcs: ["src_override/com/android/customization/picker/CustomizationPickerApplication.java"],
27}
28
Colin Cross08db0642024-01-08 17:10:53 -080029java_library {
30 name: "ThemePickerOverridesLib",
31 srcs: [
32 "src_override/**/*.java",
33 "src_override/**/*.kt",
34 ],
35 exclude_srcs: [":ThemePicker_src_prod"],
36 libs: [
37 "hilt_android",
38 "ThemePickerLib",
39 ],
40}
41
42java_library {
43 name: "ThemePickerApplicationLib",
44 srcs: [":ThemePicker_src_prod"],
45 libs: [
46 "hilt_android",
47 "ThemePickerLib",
48 "ThemePickerOverridesLib",
49 ],
50}
51
52
Chris Poultneyf5109062022-12-20 19:57:42 +000053filegroup {
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080054 name: "ThemePicker_Manifest",
55 srcs: [
56 "AndroidManifest.xml",
57 ],
58}
59
Colin Cross08db0642024-01-08 17:10:53 -080060android_library {
61 name: "ThemePickerLib",
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080062
63 static_libs: [
Kunhung Li53fc4d52022-02-12 16:58:06 +080064 "guava",
65 "monet",
Colin Crossc9b3c572024-01-08 15:36:58 -080066 "renderscript_toolkit",
67 "WallpaperPicker2Lib",
Chihhang Chuangc21a3ff2021-06-08 12:53:24 +080068 "SettingsLibSettingsTheme",
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080069 "SystemUI-statsd",
Chihhang Chuangc21a3ff2021-06-08 12:53:24 +080070 "styleprotoslite",
Alejandro Nijamkin7a062282023-02-06 13:38:40 -080071 "androidx.lifecycle_lifecycle-livedata-ktx",
Alejandro Nijamkin0f02b082022-11-24 13:43:43 -080072 "androidx.lifecycle_lifecycle-runtime-ktx",
73 "androidx.lifecycle_lifecycle-viewmodel-ktx",
74 "androidx.recyclerview_recyclerview",
75 "SystemUICustomizationLib",
Austin Wang54ab36b2023-06-15 17:29:00 -070076 "hilt_android",
Catherine Liang6c1f0232025-01-24 22:36:07 +000077 // Compose
78 "PlatformComposeCore",
79 "androidx.activity_activity-compose",
80 "androidx.compose.foundation_foundation",
81 "androidx.compose.foundation_foundation-layout",
82 "androidx.compose.material3_material3",
83 "androidx.compose.runtime_runtime",
84 "androidx.compose.ui_ui",
85 "androidx.compose.ui_ui-tooling",
86 "androidx.lifecycle_lifecycle-runtime-compose",
87 "androidx.lifecycle_lifecycle-viewmodel-compose",
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080088 ],
89
Colin Cross08db0642024-01-08 17:10:53 -080090 srcs: [
91 "src/**/*.java",
92 "src/**/*.kt",
Ching-Sung Libdf34222022-03-30 15:19:13 +080093 ],
94
Colin Cross08db0642024-01-08 17:10:53 -080095 resource_dirs: [
96 "res",
97 "res_override",
98 ],
99
100 manifest: "AndroidManifest-empty.xml",
101}
102
103java_defaults {
104 name: "ThemePicker_defaults",
105 static_libs: [
106 "ThemePickerLib",
Colin Cross08db0642024-01-08 17:10:53 -0800107 "hilt_android",
108 ],
109
110 jni_libs: [
111 "librenderscript-toolkit",
George Lin621fb8f2022-07-29 21:13:41 +0000112 ],
113
Edward Savage-Jonesd325f172022-05-13 00:49:59 +0200114 required: ["android.software.theme_picker.xml"],
115
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800116 use_embedded_native_libs: true,
117
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800118 optimize: {
119 enabled: false,
120 },
Colin Cross9088a452023-07-19 14:26:55 -0700121 kotlincflags: ["-Xjvm-default=all"],
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800122 certificate: "",
123
124 privileged: true,
125 system_ext_specific: true,
Chris Poultneyf5109062022-12-20 19:57:42 +0000126}
127
Chris Poultneyfccc06e2024-04-25 22:01:18 +0000128java_defaults {
129 name: "ThemePicker_defaults_with_overrides",
130 defaults: ["ThemePicker_defaults"],
131 static_libs: [
132 "ThemePickerOverridesLib",
133 ],
134}
135
Edward Savage-Jonesd325f172022-05-13 00:49:59 +0200136prebuilt_etc {
137 name: "android.software.theme_picker.xml",
138 system_ext_specific: true,
139 sub_dir: "permissions",
140 src: "android.software.theme_picker.xml",
141}
142
Chris Poultneyf5109062022-12-20 19:57:42 +0000143//
144// Build app code.
145//
146android_app {
147 name: "ThemePicker",
Chris Poultney9054c132024-02-05 21:14:08 +0000148 package_name: "com.android.wallpaper",
Chris Poultney66c45482024-05-28 15:20:54 -0400149 defaults: ["ThemePicker_defaults_with_overrides"],
Chris Poultneyf5109062022-12-20 19:57:42 +0000150
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800151 platform_apis: true,
152 manifest: "AndroidManifest.xml",
Chihhang Chuangd2ece572021-06-17 22:40:26 +0800153 additional_manifests: [":WallpaperPicker2_Manifest"],
Chris Poultney6b503682023-08-14 20:57:09 +0000154 overrides: ["WallpaperPicker", "WallpaperPicker2"],
Colin Cross08db0642024-01-08 17:10:53 -0800155 static_libs: ["ThemePickerApplicationLib"],
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800156}