blob: 9f7dbdb06bfdf0bd712e1decab8f5b690573f8e9 [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
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080022filegroup {
23 name: "ThemePicker_srcs",
24 srcs: [
25 "src/**/*.java",
26 "src/**/*.kt",
27 ],
28}
29
30filegroup {
Chris Poultneyf5109062022-12-20 19:57:42 +000031 name: "ThemePicker_src_overrides",
32 srcs: [
33 "src_override/**/*.java",
34 "src_override/**/*.kt",
35 ],
36}
37
38filegroup {
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080039 name: "ThemePicker_Manifest",
40 srcs: [
41 "AndroidManifest.xml",
42 ],
43}
44
45genrule {
46 name: "ThemePicker_res",
47 tools: ["soong_zip"],
48 srcs: [
George Lin621fb8f2022-07-29 21:13:41 +000049 "res/**/*",
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080050 ],
51 out: ["ThemePicker_res.zip"],
52 cmd: "INPUTS=($(in)) && "
53 + "RES_DIR=$$(dirname $$(dirname $${INPUTS[0]})) && "
Colin Cross928f3132021-05-11 18:32:09 +000054 + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR"
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080055}
56
Chris Poultneyf5109062022-12-20 19:57:42 +000057genrule {
58 name: "ThemePicker_res_overrides",
59 tools: ["soong_zip"],
60 srcs: [
61 "res_override/**/*",
62 ],
63 out: ["ThemePicker_res_overrides.zip"],
64 cmd: "INPUTS=($(in)) && "
65 + "RES_DIR=$$(dirname $$(dirname $${INPUTS[0]})) && "
66 + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR"
67}
68
Chris Poultney20d19282023-09-19 16:11:41 +000069// Common defaults that doesn't have ThemePicker specifics.
Chris Poultneyf5109062022-12-20 19:57:42 +000070java_defaults {
Chris Poultney20d19282023-09-19 16:11:41 +000071 name: "ThemePicker_common_defaults",
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080072
73 static_libs: [
Kunhung Li53fc4d52022-02-12 16:58:06 +080074 "guava",
75 "monet",
Alejandro Nijamkin0f02b082022-11-24 13:43:43 -080076 "renderscript_toolkit",
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080077 "wallpaper-common-deps",
Chihhang Chuangc21a3ff2021-06-08 12:53:24 +080078 "SettingsLibSettingsTheme",
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080079 "SystemUI-statsd",
Chihhang Chuangc21a3ff2021-06-08 12:53:24 +080080 "styleprotoslite",
Alejandro Nijamkin7a062282023-02-06 13:38:40 -080081 "androidx.lifecycle_lifecycle-livedata-ktx",
Alejandro Nijamkin0f02b082022-11-24 13:43:43 -080082 "androidx.lifecycle_lifecycle-runtime-ktx",
83 "androidx.lifecycle_lifecycle-viewmodel-ktx",
84 "androidx.recyclerview_recyclerview",
85 "SystemUICustomizationLib",
Austin Wang54ab36b2023-06-15 17:29:00 -070086 "hilt_android",
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080087 ],
88
Ching-Sung Libdf34222022-03-30 15:19:13 +080089 jni_libs: [
90 "librenderscript-toolkit",
91 ],
92
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -080093 srcs: [
94 ":WallpaperPicker2_srcs",
95 ":ThemePicker_srcs",
George Lin621fb8f2022-07-29 21:13:41 +000096 ],
97
Edward Savage-Jonesd325f172022-05-13 00:49:59 +020098 required: ["android.software.theme_picker.xml"],
99
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800100 use_embedded_native_libs: true,
101
Chris Poultneyf5109062022-12-20 19:57:42 +0000102 resource_zips: [":WallpaperPicker2_res", ":ThemePicker_res", ":ThemePicker_res_overrides"],
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800103
104 optimize: {
105 enabled: false,
106 },
Colin Cross9088a452023-07-19 14:26:55 -0700107 kotlincflags: ["-Xjvm-default=all"],
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800108 certificate: "",
109
110 privileged: true,
111 system_ext_specific: true,
Chris Poultneyf5109062022-12-20 19:57:42 +0000112}
113
Chris Poultney20d19282023-09-19 16:11:41 +0000114java_defaults {
115 name: "ThemePicker_defaults",
116 defaults: ["ThemePicker_common_defaults"],
117 srcs: [":ThemePicker_src_overrides"],
118}
119
Edward Savage-Jonesd325f172022-05-13 00:49:59 +0200120prebuilt_etc {
121 name: "android.software.theme_picker.xml",
122 system_ext_specific: true,
123 sub_dir: "permissions",
124 src: "android.software.theme_picker.xml",
125}
126
Chris Poultneyf5109062022-12-20 19:57:42 +0000127//
128// Build app code.
129//
130android_app {
131 name: "ThemePicker",
132 defaults: ["ThemePicker_defaults"],
133
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800134 platform_apis: true,
135 manifest: "AndroidManifest.xml",
Chihhang Chuangd2ece572021-06-17 22:40:26 +0800136 additional_manifests: [":WallpaperPicker2_Manifest"],
Chris Poultney6b503682023-08-14 20:57:09 +0000137 overrides: ["WallpaperPicker", "WallpaperPicker2"],
Santiago Etchebehere0b1d66e2021-03-04 18:25:05 -0800138}