1//
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
18package {
19    default_applicable_licenses: ["Android-Apache-2.0"],
20}
21
22// 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
29java_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
53filegroup {
54    name: "ThemePicker_Manifest",
55    srcs: [
56        "AndroidManifest.xml",
57    ],
58}
59
60android_library {
61    name: "ThemePickerLib",
62
63    static_libs: [
64        "guava",
65        "monet",
66        "renderscript_toolkit",
67        "WallpaperPicker2Lib",
68        "SettingsLibSettingsTheme",
69        "SystemUI-statsd",
70        "styleprotoslite",
71        "androidx.lifecycle_lifecycle-livedata-ktx",
72        "androidx.lifecycle_lifecycle-runtime-ktx",
73        "androidx.lifecycle_lifecycle-viewmodel-ktx",
74        "androidx.recyclerview_recyclerview",
75        "SystemUICustomizationLib",
76        "hilt_android",
77    ],
78
79    srcs: [
80        "src/**/*.java",
81        "src/**/*.kt",
82    ],
83
84    resource_dirs: [
85        "res",
86        "res_override",
87    ],
88
89    manifest: "AndroidManifest-empty.xml",
90}
91
92java_defaults {
93    name: "ThemePicker_defaults",
94    static_libs: [
95        "ThemePickerLib",
96        "hilt_android",
97    ],
98
99    jni_libs: [
100        "librenderscript-toolkit",
101    ],
102
103    required: ["android.software.theme_picker.xml"],
104
105    use_embedded_native_libs: true,
106
107    optimize: {
108        enabled: false,
109    },
110    kotlincflags: ["-Xjvm-default=all"],
111    certificate: "",
112
113    privileged: true,
114    system_ext_specific: true,
115}
116
117java_defaults {
118    name: "ThemePicker_defaults_with_overrides",
119    defaults: ["ThemePicker_defaults"],
120    static_libs: [
121        "ThemePickerOverridesLib",
122    ],
123}
124
125prebuilt_etc {
126    name: "android.software.theme_picker.xml",
127    system_ext_specific: true,
128    sub_dir: "permissions",
129    src: "android.software.theme_picker.xml",
130}
131
132//
133// Build app code.
134//
135android_app {
136    name: "ThemePicker",
137    package_name: "com.android.wallpaper",
138    defaults: ["ThemePicker_defaults_with_overrides"],
139
140    platform_apis: true,
141    manifest: "AndroidManifest.xml",
142    additional_manifests: [":WallpaperPicker2_Manifest"],
143    overrides: ["WallpaperPicker", "WallpaperPicker2"],
144    static_libs: ["ThemePickerApplicationLib"],
145}
146