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 22filegroup { 23 name: "ThemePicker_srcs", 24 srcs: [ 25 "src/**/*.java", 26 "src/**/*.kt", 27 // Min requirement for CustomizationInjector and StatsLogUserEventLogger to build without Clock and Theme feature. 28 "src/com/android/customization/model/clock/BaseClockManager.java", 29 "src/com/android/customization/model/clock/Clockface.java", 30 "src/com/android/customization/model/clock/ClockManager.java", 31 "src/com/android/customization/model/clock/ClockProvider.java", 32 "src/com/android/customization/model/theme/OverlayManagerCompat.java", 33 "src/com/android/customization/model/theme/ThemeBundleProvider.java", 34 "src/com/android/customization/model/theme/ThemeManager.java", 35 "src/com/android/customization/model/theme/ThemeBundle.java", 36 "src/com/android/customization/model/theme/custom/CustomTheme.java", 37 ], 38 exclude_srcs: [ 39 "src/com/android/customization/model/clock/**/*.java", 40 "src/com/android/customization/model/theme/**/*.java", 41 "src/com/android/customization/picker/clock/**/*.java", 42 "src/com/android/customization/picker/theme/**/*.java", 43 ], 44} 45 46filegroup { 47 name: "ThemePicker_Manifest", 48 srcs: [ 49 "AndroidManifest.xml", 50 ], 51} 52 53genrule { 54 name: "ThemePicker_res", 55 tools: ["soong_zip"], 56 srcs: [ 57 "res/**/*" 58 ], 59 out: ["ThemePicker_res.zip"], 60 cmd: "INPUTS=($(in)) && " 61 + "RES_DIR=$$(dirname $$(dirname $${INPUTS[0]})) && " 62 + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR" 63} 64 65// 66// Build app code. 67// 68android_app { 69 name: "ThemePicker", 70 71 static_libs: [ 72 "wallpaper-common-deps", 73 "SettingsLibSettingsTheme", 74 "SystemUI-statsd", 75 "styleprotoslite", 76 ], 77 78 srcs: [ 79 ":WallpaperPicker2_srcs", 80 ":ThemePicker_srcs", 81 "src_override/**/*.java", 82 "src_override/**/*.kt", 83 ], 84 85 use_embedded_native_libs: true, 86 87 resource_zips: [":WallpaperPicker2_res", ":ThemePicker_res"], 88 89 optimize: { 90 enabled: false, 91 }, 92 kotlincflags: ["-Xjvm-default=enable"], 93 certificate: "", 94 95 privileged: true, 96 system_ext_specific: true, 97 platform_apis: true, 98 manifest: "AndroidManifest.xml", 99 additional_manifests: [":WallpaperPicker2_Manifest"], 100 overrides: ["WallpaperPicker2"], 101} 102