blob: eaa8e5bb3a97334529f5f334bf7ec326870e8177 [file] [log] [blame]
Bob Badourd69ad692021-02-16 19:02:14 -08001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Steven Moreland1b13eea2017-07-10 16:05:51 -07005cc_library_headers {
6 name: "libhealthd_headers",
7 vendor_available: true,
Yifan Hong90fdc722018-07-10 13:02:18 -07008 recovery_available: true,
Steven Moreland1b13eea2017-07-10 16:05:51 -07009 export_include_dirs: ["include"],
10 header_libs: ["libbatteryservice_headers"],
11 export_header_lib_headers: ["libbatteryservice_headers"],
12}
Yifan Hongffff9aa2017-06-01 14:34:29 -070013
14cc_library_static {
15 name: "libbatterymonitor",
16 srcs: ["BatteryMonitor.cpp"],
Chih-Hung Hsieh96352662017-11-29 14:24:50 -080017 cflags: ["-Wall", "-Werror"],
Yifan Hongffff9aa2017-06-01 14:34:29 -070018 vendor_available: true,
Yifan Hong90fdc722018-07-10 13:02:18 -070019 recovery_available: true,
Yifan Hongffff9aa2017-06-01 14:34:29 -070020 export_include_dirs: ["include"],
21 shared_libs: [
22 "libutils",
23 "libbase",
Yifan Hong1d4368b2019-10-07 11:18:04 -070024
25 // Need latest HealthInfo definition from headers of this shared
26 // library. Clients don't need to link to this.
27 "android.hardware.health@2.1",
Yifan Hongffff9aa2017-06-01 14:34:29 -070028 ],
29 header_libs: ["libhealthd_headers"],
30 export_header_lib_headers: ["libhealthd_headers"],
31}
Yifan Hong2763df82017-09-19 17:57:50 -070032
Yifan Hong1cf853f2018-04-04 14:08:57 -070033cc_defaults {
34 name: "android.hardware.health@2.0-service_defaults",
Yifan Hong2763df82017-09-19 17:57:50 -070035
Chih-Hung Hsieh96352662017-11-29 14:24:50 -080036 cflags: [
Chih-Hung Hsieh96352662017-11-29 14:24:50 -080037 "-Wall",
38 "-Werror",
39 ],
Yifan Hong2763df82017-09-19 17:57:50 -070040
41 static_libs: [
42 "android.hardware.health@2.0-impl",
43 "android.hardware.health@1.0-convert",
Yifan Hongaffa24f2018-01-19 15:53:25 -080044 "libhealthservice",
Hridya Valsaraju89178e72018-01-10 16:14:28 -080045 "libhealthstoragedefault",
Yifan Hong2763df82017-09-19 17:57:50 -070046 "libbatterymonitor",
47 ],
48
49 shared_libs: [
50 "libbase",
51 "libcutils",
52 "libhidlbase",
Yifan Hong2763df82017-09-19 17:57:50 -070053 "liblog",
54 "libutils",
55 "android.hardware.health@2.0",
56 ],
57}
Yifan Hong12df1b92017-09-25 17:25:00 -070058
59cc_binary {
Yifan Hong1cf853f2018-04-04 14:08:57 -070060 name: "android.hardware.health@2.0-service",
61 defaults: ["android.hardware.health@2.0-service_defaults"],
Yifan Hong31150c12018-05-01 14:59:43 -070062
Yifan Hongef26fe42018-07-10 13:07:08 -070063 vendor: true,
64 relative_install_path: "hw",
65 init_rc: ["android.hardware.health@2.0-service.rc"],
66 srcs: [
67 "HealthServiceDefault.cpp",
68 ],
Yifan Hong12df1b92017-09-25 17:25:00 -070069}
Tao Bao5747e222018-09-11 10:46:35 -070070
71cc_library_static {
72 name: "libhealthd_charger_nops",
Yifan Hong7dcf7b02019-10-08 17:27:11 -070073 recovery_available: true,
Tao Bao5747e222018-09-11 10:46:35 -070074
75 srcs: [
76 "healthd_mode_charger_nops.cpp",
77 ],
78
79 cflags: [
80 "-Wall",
81 "-Werror",
82 ],
83
84 header_libs: [
85 "libhealthd_headers",
86 ],
87
88 static_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -070089 "libhealthloop",
90 "libhealth2impl",
Tao Bao5747e222018-09-11 10:46:35 -070091 ],
92
93 shared_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -070094 "android.hardware.health@2.1",
Tao Bao5747e222018-09-11 10:46:35 -070095 "libutils",
96 ],
97}
Yifan Hong97eecdc2019-07-03 11:07:37 -070098
99sysprop_library {
100 name: "charger_sysprop",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700101 recovery_available: true,
Yifan Hong97eecdc2019-07-03 11:07:37 -0700102 srcs: ["charger.sysprop"],
103 property_owner: "Platform",
104 api_packages: ["android.sysprop"],
105}
Yifan Hongdbaa4772019-07-03 11:40:08 -0700106
107cc_library_static {
108 name: "libhealthd_draw",
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700109 vendor_available: true,
Yifan Hongdbaa4772019-07-03 11:40:08 -0700110 export_include_dirs: ["."],
111 static_libs: [
112 "libcharger_sysprop",
113 "libminui",
114 ],
115 shared_libs: [
116 "libbase",
117 ],
118 header_libs: ["libbatteryservice_headers"],
119
120 srcs: ["healthd_draw.cpp"],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700121
122 target: {
123 vendor: {
124 exclude_static_libs: [
125 "libcharger_sysprop",
126 ],
127 },
128 },
Yifan Hongdbaa4772019-07-03 11:40:08 -0700129}
130
131cc_library_static {
Yifan Hongb5d70332021-10-20 17:15:32 -0700132 name: "libhealthd_charger_ui",
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700133 vendor_available: true,
Yifan Hongb5d70332021-10-20 17:15:32 -0700134 export_include_dirs: [
135 "include",
136 "include_charger",
137 ],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700138
139 static_libs: [
Yifan Hongb5d70332021-10-20 17:15:32 -0700140 "android.hardware.health-V1-ndk",
141 "android.hardware.health-translate-ndk",
Yifan Hongdbaa4772019-07-03 11:40:08 -0700142 "libcharger_sysprop",
Yifan Hongdbaa4772019-07-03 11:40:08 -0700143 "libhealthd_draw",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700144 "libhealthloop",
Yifan Hongdbaa4772019-07-03 11:40:08 -0700145 "libminui",
146 ],
147
148 shared_libs: [
Yifan Hongdbaa4772019-07-03 11:40:08 -0700149 "libbase",
150 "libcutils",
151 "liblog",
152 "libpng",
153 "libsuspend",
154 "libutils",
155 ],
156
Yifan Hongb5d70332021-10-20 17:15:32 -0700157 header_libs: [
158 "libhealthd_headers",
159 ],
160
161 export_static_lib_headers: [
162 "android.hardware.health-V1-ndk",
163 ],
164
Yifan Hongdbaa4772019-07-03 11:40:08 -0700165 srcs: [
166 "healthd_mode_charger.cpp",
167 "AnimationParser.cpp",
168 ],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700169
170 target: {
171 vendor: {
172 exclude_static_libs: [
173 "libcharger_sysprop",
174 ],
175 },
176 },
Yifan Hongdbaa4772019-07-03 11:40:08 -0700177}
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700178
Yifan Hongb5d70332021-10-20 17:15:32 -0700179cc_library_static {
180 name: "libhealthd_charger",
181 export_include_dirs: [
182 "include",
183 "include_charger",
184 ],
185
186 static_libs: [
187 "android.hardware.health@1.0-convert",
Yifan Hong8e551342021-10-26 22:51:29 -0700188 "libcharger_sysprop",
Yifan Hongb5d70332021-10-20 17:15:32 -0700189 "libhealth2impl",
190 "libhealthd_charger_ui",
191 ],
192
193 shared_libs: [
194 "android.hardware.health@2.1",
195 "libbase",
196 "libcutils",
197 "liblog",
198 "libutils",
199 ],
200
201 srcs: [
202 "healthd_mode_charger_hidl.cpp",
203 ],
204}
205
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700206cc_defaults {
207 name: "charger_defaults",
Yifan Hongb5d70332021-10-20 17:15:32 -0700208 local_include_dirs: [
209 "include_charger",
210 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700211
212 cflags: [
213 "-Wall",
214 "-Werror",
215 ],
216
217 shared_libs: [
218 // common
219 "android.hardware.health@2.0",
220 "android.hardware.health@2.1",
221 "libbase",
222 "libcutils",
223 "libhidlbase",
224 "liblog",
225 "libutils",
226
227 // system charger only
228 "libpng",
229 ],
230
231 static_libs: [
232 // common
233 "android.hardware.health@1.0-convert",
Yifan Hongb5d70332021-10-20 17:15:32 -0700234 "android.hardware.health-V1-ndk",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700235 "libbatterymonitor",
236 "libcharger_sysprop",
237 "libhealthd_charger_nops",
238 "libhealthloop",
239 "libhealth2impl",
240
241 // system charger only
242 "libhealthd_draw",
243 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700244 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700245 "libminui",
246 "libsuspend",
247 ],
248}
249
250cc_binary {
251 name: "charger",
252 defaults: ["charger_defaults"],
253 recovery_available: true,
254 srcs: [
255 "charger.cpp",
256 "charger_utils.cpp",
257 ],
258
259 target: {
260 recovery: {
261 // No UI and libsuspend for recovery charger.
262 cflags: [
263 "-DCHARGER_FORCE_NO_UI=1",
264 ],
265 exclude_shared_libs: [
266 "libpng",
267 ],
268 exclude_static_libs: [
269 "libhealthd_draw",
270 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700271 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700272 "libminui",
273 "libsuspend",
274 ],
275 }
276 }
277}
278
279cc_test {
280 name: "charger_test",
281 defaults: ["charger_defaults"],
282 srcs: ["charger_test.cpp"],
283}
Yifan Hong12d15752020-08-05 16:25:33 -0700284
285cc_test {
286 name: "libhealthd_charger_test",
Yifan Hongc2bed972020-08-07 16:27:49 -0700287 defaults: ["charger_defaults"],
288 srcs: [
289 "AnimationParser_test.cpp",
290 "healthd_mode_charger_test.cpp"
Yifan Hong12d15752020-08-05 16:25:33 -0700291 ],
292 static_libs: [
Yifan Hongc2bed972020-08-07 16:27:49 -0700293 "libgmock",
Yifan Hong12d15752020-08-05 16:25:33 -0700294 ],
Yifan Hong186b4d92020-08-05 16:30:43 -0700295 test_suites: [
296 "general-tests",
297 "device-tests",
298 ],
Yifan Hongc2bed972020-08-07 16:27:49 -0700299 data: [
300 ":libhealthd_charger_test_data",
301 ],
302 require_root: true,
Yifan Hong12d15752020-08-05 16:25:33 -0700303}
Yifan Hong5109c8c2020-08-05 18:24:25 -0700304
305// /system/etc/res/images/charger/battery_fail.png
306prebuilt_etc {
307 name: "system_core_charger_res_images_battery_fail.png",
308 src: "images/battery_fail.png",
309 relative_install_path: "res/images/charger",
310 filename: "battery_fail.png",
311}
312
313// /system/etc/res/images/charger/battery_scale.png
314prebuilt_etc {
315 name: "system_core_charger_res_images_battery_scale.png",
316 src: "images/battery_scale.png",
317 relative_install_path: "res/images/charger",
318 filename: "battery_scale.png",
319}
320
321phony {
322 name: "charger_res_images",
323 required: [
324 "system_core_charger_res_images_battery_fail.png",
325 "system_core_charger_res_images_battery_scale.png",
326 ],
327}
Yifan Hongac748362021-10-26 17:20:25 -0700328
329// /vendor/etc/res/images/charger/battery_fail.png
330prebuilt_etc {
331 name: "system_core_charger_res_images_battery_fail.png_default_vendor",
332 src: "images/battery_fail.png",
333 relative_install_path: "res/images/charger/default",
334 vendor: true,
335 filename: "battery_fail.png",
336}
337
338// /vendor/etc/res/images/charger/battery_scale.png
339prebuilt_etc {
340 name: "system_core_charger_res_images_battery_scale.png_default_vendor",
341 src: "images/battery_scale.png",
342 relative_install_path: "res/images/charger/default",
343 vendor: true,
344 filename: "battery_scale.png",
345}
346
347phony {
348 name: "charger_res_images_vendor",
349 required: [
350 "system_core_charger_res_images_battery_fail.png_default_vendor",
351 "system_core_charger_res_images_battery_scale.png_default_vendor",
352 ],
353}