Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 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 | |
Bob Badour | e9c2068 | 2021-03-19 03:30:57 -0700 | [diff] [blame] | 18 | package { |
| 19 | default_applicable_licenses: ["Android-Apache-2.0"], |
| 20 | } |
| 21 | |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 22 | filegroup { |
| 23 | name: "ThemePicker_srcs", |
| 24 | srcs: [ |
| 25 | "src/**/*.java", |
| 26 | "src/**/*.kt", |
| 27 | ], |
| 28 | } |
| 29 | |
| 30 | filegroup { |
Chris Poultney | f510906 | 2022-12-20 19:57:42 +0000 | [diff] [blame] | 31 | name: "ThemePicker_src_overrides", |
| 32 | srcs: [ |
| 33 | "src_override/**/*.java", |
| 34 | "src_override/**/*.kt", |
| 35 | ], |
| 36 | } |
| 37 | |
Chris Poultney | 6ad04ab | 2023-09-13 15:12:07 +0000 | [diff] [blame] | 38 | // Production-only files that should be excluded in tests. |
| 39 | filegroup { |
| 40 | name: "ThemePicker_src_prod", |
| 41 | visibility: [":__subpackages__"], |
| 42 | srcs: ["src_override/com/android/customization/picker/CustomizationPickerApplication.java"], |
| 43 | } |
| 44 | |
Chris Poultney | f510906 | 2022-12-20 19:57:42 +0000 | [diff] [blame] | 45 | filegroup { |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 46 | name: "ThemePicker_Manifest", |
| 47 | srcs: [ |
| 48 | "AndroidManifest.xml", |
| 49 | ], |
| 50 | } |
| 51 | |
| 52 | genrule { |
| 53 | name: "ThemePicker_res", |
| 54 | tools: ["soong_zip"], |
| 55 | srcs: [ |
George Lin | 621fb8f | 2022-07-29 21:13:41 +0000 | [diff] [blame] | 56 | "res/**/*", |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 57 | ], |
| 58 | out: ["ThemePicker_res.zip"], |
| 59 | cmd: "INPUTS=($(in)) && " |
| 60 | + "RES_DIR=$$(dirname $$(dirname $${INPUTS[0]})) && " |
Colin Cross | 928f313 | 2021-05-11 18:32:09 +0000 | [diff] [blame] | 61 | + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR" |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 62 | } |
| 63 | |
Chris Poultney | f510906 | 2022-12-20 19:57:42 +0000 | [diff] [blame] | 64 | genrule { |
| 65 | name: "ThemePicker_res_overrides", |
| 66 | tools: ["soong_zip"], |
| 67 | srcs: [ |
| 68 | "res_override/**/*", |
| 69 | ], |
| 70 | out: ["ThemePicker_res_overrides.zip"], |
| 71 | cmd: "INPUTS=($(in)) && " |
| 72 | + "RES_DIR=$$(dirname $$(dirname $${INPUTS[0]})) && " |
| 73 | + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR" |
| 74 | } |
| 75 | |
Chris Poultney | 20d1928 | 2023-09-19 16:11:41 +0000 | [diff] [blame] | 76 | // Common defaults that doesn't have ThemePicker specifics. |
Chris Poultney | f510906 | 2022-12-20 19:57:42 +0000 | [diff] [blame] | 77 | java_defaults { |
Chris Poultney | 20d1928 | 2023-09-19 16:11:41 +0000 | [diff] [blame] | 78 | name: "ThemePicker_common_defaults", |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 79 | |
| 80 | static_libs: [ |
Kunhung Li | 53fc4d5 | 2022-02-12 16:58:06 +0800 | [diff] [blame] | 81 | "guava", |
| 82 | "monet", |
Colin Cross | c9b3c57 | 2024-01-08 15:36:58 -0800 | [diff] [blame^] | 83 | "renderscript_toolkit", |
| 84 | "WallpaperPicker2Lib", |
Chihhang Chuang | c21a3ff | 2021-06-08 12:53:24 +0800 | [diff] [blame] | 85 | "SettingsLibSettingsTheme", |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 86 | "SystemUI-statsd", |
Chihhang Chuang | c21a3ff | 2021-06-08 12:53:24 +0800 | [diff] [blame] | 87 | "styleprotoslite", |
Alejandro Nijamkin | 7a06228 | 2023-02-06 13:38:40 -0800 | [diff] [blame] | 88 | "androidx.lifecycle_lifecycle-livedata-ktx", |
Alejandro Nijamkin | 0f02b08 | 2022-11-24 13:43:43 -0800 | [diff] [blame] | 89 | "androidx.lifecycle_lifecycle-runtime-ktx", |
| 90 | "androidx.lifecycle_lifecycle-viewmodel-ktx", |
| 91 | "androidx.recyclerview_recyclerview", |
| 92 | "SystemUICustomizationLib", |
Austin Wang | 54ab36b | 2023-06-15 17:29:00 -0700 | [diff] [blame] | 93 | "hilt_android", |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 94 | ], |
| 95 | |
Ching-Sung Li | bdf3422 | 2022-03-30 15:19:13 +0800 | [diff] [blame] | 96 | jni_libs: [ |
| 97 | "librenderscript-toolkit", |
| 98 | ], |
| 99 | |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 100 | srcs: [ |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 101 | ":ThemePicker_srcs", |
George Lin | 621fb8f | 2022-07-29 21:13:41 +0000 | [diff] [blame] | 102 | ], |
| 103 | |
Edward Savage-Jones | d325f17 | 2022-05-13 00:49:59 +0200 | [diff] [blame] | 104 | required: ["android.software.theme_picker.xml"], |
| 105 | |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 106 | use_embedded_native_libs: true, |
| 107 | |
Colin Cross | c9b3c57 | 2024-01-08 15:36:58 -0800 | [diff] [blame^] | 108 | resource_zips: [":ThemePicker_res", ":ThemePicker_res_overrides"], |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 109 | |
| 110 | optimize: { |
| 111 | enabled: false, |
| 112 | }, |
Colin Cross | 9088a45 | 2023-07-19 14:26:55 -0700 | [diff] [blame] | 113 | kotlincflags: ["-Xjvm-default=all"], |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 114 | certificate: "", |
| 115 | |
| 116 | privileged: true, |
| 117 | system_ext_specific: true, |
Chris Poultney | f510906 | 2022-12-20 19:57:42 +0000 | [diff] [blame] | 118 | } |
| 119 | |
Chris Poultney | 20d1928 | 2023-09-19 16:11:41 +0000 | [diff] [blame] | 120 | java_defaults { |
| 121 | name: "ThemePicker_defaults", |
| 122 | defaults: ["ThemePicker_common_defaults"], |
| 123 | srcs: [":ThemePicker_src_overrides"], |
| 124 | } |
| 125 | |
Edward Savage-Jones | d325f17 | 2022-05-13 00:49:59 +0200 | [diff] [blame] | 126 | prebuilt_etc { |
| 127 | name: "android.software.theme_picker.xml", |
| 128 | system_ext_specific: true, |
| 129 | sub_dir: "permissions", |
| 130 | src: "android.software.theme_picker.xml", |
| 131 | } |
| 132 | |
Chris Poultney | f510906 | 2022-12-20 19:57:42 +0000 | [diff] [blame] | 133 | // |
| 134 | // Build app code. |
| 135 | // |
| 136 | android_app { |
| 137 | name: "ThemePicker", |
| 138 | defaults: ["ThemePicker_defaults"], |
| 139 | |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 140 | platform_apis: true, |
| 141 | manifest: "AndroidManifest.xml", |
Chihhang Chuang | d2ece57 | 2021-06-17 22:40:26 +0800 | [diff] [blame] | 142 | additional_manifests: [":WallpaperPicker2_Manifest"], |
Chris Poultney | 6b50368 | 2023-08-14 20:57:09 +0000 | [diff] [blame] | 143 | overrides: ["WallpaperPicker", "WallpaperPicker2"], |
Santiago Etchebehere | 0b1d66e | 2021-03-04 18:25:05 -0800 | [diff] [blame] | 144 | } |