blob: 76b6ad0ae27f6972c157ce9885feb62fb988c049 [file] [log] [blame]
Bob Badourd69ad692021-02-16 19:02:14 -08001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Jack Wuf83e5a62023-01-10 14:50:52 +08005cc_defaults {
6 name: "libbatterymonitor_defaults",
Yifan Hongffff9aa2017-06-01 14:34:29 -07007 srcs: ["BatteryMonitor.cpp"],
Chih-Hung Hsieh96352662017-11-29 14:24:50 -08008 cflags: ["-Wall", "-Werror"],
Yifan Hongffff9aa2017-06-01 14:34:29 -07009 vendor_available: true,
Yifan Hong90fdc722018-07-10 13:02:18 -070010 recovery_available: true,
Yifan Hongffff9aa2017-06-01 14:34:29 -070011 export_include_dirs: ["include"],
12 shared_libs: [
13 "libutils",
14 "libbase",
Yifan Hong1d4368b2019-10-07 11:18:04 -070015
Yifan Hongb99d15c2022-03-01 12:12:34 -080016 // Need HealthInfo definition from headers of these shared
17 // libraries. Clients don't need to link to these.
Yifan Hong1d4368b2019-10-07 11:18:04 -070018 "android.hardware.health@2.1",
Jack Wuf83e5a62023-01-10 14:50:52 +080019 ],
20 header_libs: ["libhealthd_headers"],
21 export_header_lib_headers: ["libhealthd_headers"],
22}
23
24cc_defaults {
25 name: "libhealthd_charger_ui_defaults",
26 vendor_available: true,
27 export_include_dirs: [
28 "include",
29 "include_charger",
30 ],
31
32 static_libs: [
33 "libcharger_sysprop",
34 "libhealthd_draw",
35 "libhealthloop",
36 "libminui",
37 ],
38
39 shared_libs: [
40 "libbase",
41 "libcutils",
42 "liblog",
43 "libpng",
44 "libsuspend",
45 "libutils",
46 ],
47
48 header_libs: [
49 "libhealthd_headers",
50 ],
51
52 srcs: [
53 "healthd_mode_charger.cpp",
54 "AnimationParser.cpp",
55 ],
56
57 target: {
58 vendor: {
59 exclude_static_libs: [
60 "libcharger_sysprop",
61 ],
62 },
63 },
64}
65
66cc_library_headers {
67 name: "libhealthd_headers",
68 vendor_available: true,
69 recovery_available: true,
70 export_include_dirs: ["include"],
71 header_libs: ["libbatteryservice_headers"],
72 export_header_lib_headers: ["libbatteryservice_headers"],
73}
74
75cc_library_static {
76 name: "libbatterymonitor",
77 defaults: ["libbatterymonitor_defaults"],
78 static_libs: [
Yifan Hongb99d15c2022-03-01 12:12:34 -080079 "android.hardware.health-V1-ndk",
80 ],
81 whole_static_libs: [
82 // Need to translate HIDL to AIDL to support legacy APIs in
83 // BatteryMonitor.
84 "android.hardware.health-translate-ndk",
Yifan Hongffff9aa2017-06-01 14:34:29 -070085 ],
Jack Wuf83e5a62023-01-10 14:50:52 +080086}
87
88// TODO(b/251425963): remove when android.hardware.health is upgraded to V2.
89cc_library_static {
90 name: "libbatterymonitor-V1",
91 defaults: ["libbatterymonitor_defaults"],
92 static_libs: [
93 "android.hardware.health-V1-ndk",
94 ],
95 whole_static_libs: [
96 // Need to translate HIDL to AIDL to support legacy APIs in
97 // BatteryMonitor.
98 "android.hardware.health-translate-V1-ndk",
99 ],
Yifan Hongffff9aa2017-06-01 14:34:29 -0700100}
Yifan Hong2763df82017-09-19 17:57:50 -0700101
Yifan Hong1cf853f2018-04-04 14:08:57 -0700102cc_defaults {
103 name: "android.hardware.health@2.0-service_defaults",
Yifan Hong2763df82017-09-19 17:57:50 -0700104
Chih-Hung Hsieh96352662017-11-29 14:24:50 -0800105 cflags: [
Chih-Hung Hsieh96352662017-11-29 14:24:50 -0800106 "-Wall",
107 "-Werror",
108 ],
Yifan Hong2763df82017-09-19 17:57:50 -0700109
110 static_libs: [
111 "android.hardware.health@2.0-impl",
112 "android.hardware.health@1.0-convert",
Yifan Hongaffa24f2018-01-19 15:53:25 -0800113 "libhealthservice",
Hridya Valsaraju89178e72018-01-10 16:14:28 -0800114 "libhealthstoragedefault",
Yifan Hong2763df82017-09-19 17:57:50 -0700115 "libbatterymonitor",
116 ],
117
118 shared_libs: [
119 "libbase",
120 "libcutils",
121 "libhidlbase",
Yifan Hong2763df82017-09-19 17:57:50 -0700122 "liblog",
123 "libutils",
124 "android.hardware.health@2.0",
125 ],
126}
Yifan Hong12df1b92017-09-25 17:25:00 -0700127
128cc_binary {
Yifan Hong1cf853f2018-04-04 14:08:57 -0700129 name: "android.hardware.health@2.0-service",
130 defaults: ["android.hardware.health@2.0-service_defaults"],
Yifan Hong31150c12018-05-01 14:59:43 -0700131
Yifan Hongef26fe42018-07-10 13:07:08 -0700132 vendor: true,
133 relative_install_path: "hw",
134 init_rc: ["android.hardware.health@2.0-service.rc"],
135 srcs: [
136 "HealthServiceDefault.cpp",
137 ],
Yifan Hong12df1b92017-09-25 17:25:00 -0700138}
Tao Bao5747e222018-09-11 10:46:35 -0700139
140cc_library_static {
141 name: "libhealthd_charger_nops",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700142 recovery_available: true,
Tao Bao5747e222018-09-11 10:46:35 -0700143
144 srcs: [
145 "healthd_mode_charger_nops.cpp",
146 ],
147
148 cflags: [
149 "-Wall",
150 "-Werror",
151 ],
152
153 header_libs: [
154 "libhealthd_headers",
155 ],
156
157 static_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700158 "libhealthloop",
159 "libhealth2impl",
Tao Bao5747e222018-09-11 10:46:35 -0700160 ],
161
162 shared_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700163 "android.hardware.health@2.1",
Tao Bao5747e222018-09-11 10:46:35 -0700164 "libutils",
165 ],
166}
Yifan Hong97eecdc2019-07-03 11:07:37 -0700167
168sysprop_library {
169 name: "charger_sysprop",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700170 recovery_available: true,
Yifan Hong97eecdc2019-07-03 11:07:37 -0700171 srcs: ["charger.sysprop"],
172 property_owner: "Platform",
173 api_packages: ["android.sysprop"],
174}
Yifan Hongdbaa4772019-07-03 11:40:08 -0700175
176cc_library_static {
177 name: "libhealthd_draw",
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700178 vendor_available: true,
Yifan Hongdbaa4772019-07-03 11:40:08 -0700179 export_include_dirs: ["."],
180 static_libs: [
181 "libcharger_sysprop",
182 "libminui",
183 ],
184 shared_libs: [
185 "libbase",
186 ],
187 header_libs: ["libbatteryservice_headers"],
188
189 srcs: ["healthd_draw.cpp"],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700190
191 target: {
192 vendor: {
193 exclude_static_libs: [
194 "libcharger_sysprop",
195 ],
196 },
197 },
Yifan Hongdbaa4772019-07-03 11:40:08 -0700198}
199
200cc_library_static {
Yifan Hongb5d70332021-10-20 17:15:32 -0700201 name: "libhealthd_charger_ui",
Jack Wuf83e5a62023-01-10 14:50:52 +0800202 defaults: ["libhealthd_charger_ui_defaults"],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700203
204 static_libs: [
Yifan Hongb5d70332021-10-20 17:15:32 -0700205 "android.hardware.health-V1-ndk",
206 "android.hardware.health-translate-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700207 ],
208
209 export_static_lib_headers: [
210 "android.hardware.health-V1-ndk",
211 ],
Jack Wuf83e5a62023-01-10 14:50:52 +0800212}
Yifan Hongb5d70332021-10-20 17:15:32 -0700213
Jack Wuf83e5a62023-01-10 14:50:52 +0800214// TODO(b/251425963): remove when android.hardware.health is upgraded to V2.
215cc_library_static {
216 name: "libhealthd_charger_ui-V1",
217 defaults: ["libhealthd_charger_ui_defaults"],
218
219 static_libs: [
220 "android.hardware.health-V1-ndk",
221 "android.hardware.health-translate-V1-ndk",
Yifan Hongdbaa4772019-07-03 11:40:08 -0700222 ],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700223
Jack Wuf83e5a62023-01-10 14:50:52 +0800224 export_static_lib_headers: [
225 "android.hardware.health-V1-ndk",
226 ],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700227}
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700228
Yifan Hongb5d70332021-10-20 17:15:32 -0700229cc_library_static {
230 name: "libhealthd_charger",
231 export_include_dirs: [
232 "include",
233 "include_charger",
234 ],
235
236 static_libs: [
237 "android.hardware.health@1.0-convert",
Yifan Hong8e551342021-10-26 22:51:29 -0700238 "libcharger_sysprop",
Yifan Hongb5d70332021-10-20 17:15:32 -0700239 "libhealth2impl",
240 "libhealthd_charger_ui",
241 ],
242
243 shared_libs: [
244 "android.hardware.health@2.1",
245 "libbase",
246 "libcutils",
247 "liblog",
248 "libutils",
249 ],
250
251 srcs: [
252 "healthd_mode_charger_hidl.cpp",
253 ],
254}
255
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700256cc_defaults {
257 name: "charger_defaults",
Yifan Hongb5d70332021-10-20 17:15:32 -0700258 local_include_dirs: [
259 "include_charger",
260 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700261
262 cflags: [
263 "-Wall",
264 "-Werror",
265 ],
266
267 shared_libs: [
268 // common
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700269 "libbase",
270 "libcutils",
271 "libhidlbase",
272 "liblog",
273 "libutils",
274
275 // system charger only
276 "libpng",
277 ],
278
279 static_libs: [
280 // common
281 "android.hardware.health@1.0-convert",
Yifan Hongb5d70332021-10-20 17:15:32 -0700282 "android.hardware.health-V1-ndk",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700283 "libbatterymonitor",
284 "libcharger_sysprop",
285 "libhealthd_charger_nops",
286 "libhealthloop",
287 "libhealth2impl",
288
289 // system charger only
290 "libhealthd_draw",
291 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700292 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700293 "libminui",
294 "libsuspend",
295 ],
296}
297
298cc_binary {
299 name: "charger",
300 defaults: ["charger_defaults"],
301 recovery_available: true,
302 srcs: [
303 "charger.cpp",
304 "charger_utils.cpp",
305 ],
Yifan Hong57718582021-12-13 14:01:14 -0800306 shared_libs: [
307 "android.hardware.health@2.0",
308 "android.hardware.health@2.1",
309 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700310
311 target: {
312 recovery: {
313 // No UI and libsuspend for recovery charger.
314 cflags: [
315 "-DCHARGER_FORCE_NO_UI=1",
316 ],
317 exclude_shared_libs: [
318 "libpng",
319 ],
320 exclude_static_libs: [
321 "libhealthd_draw",
322 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700323 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700324 "libminui",
325 "libsuspend",
326 ],
327 }
328 }
329}
330
331cc_test {
332 name: "charger_test",
333 defaults: ["charger_defaults"],
334 srcs: ["charger_test.cpp"],
Yifan Hong57718582021-12-13 14:01:14 -0800335 static_libs: [
336 "android.hardware.health@1.0",
337 "android.hardware.health@2.0",
338 "android.hardware.health@2.1",
339 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700340}
Yifan Hong12d15752020-08-05 16:25:33 -0700341
342cc_test {
343 name: "libhealthd_charger_test",
Yifan Hongc2bed972020-08-07 16:27:49 -0700344 defaults: ["charger_defaults"],
345 srcs: [
346 "AnimationParser_test.cpp",
347 "healthd_mode_charger_test.cpp"
Yifan Hong12d15752020-08-05 16:25:33 -0700348 ],
349 static_libs: [
Yifan Hong57718582021-12-13 14:01:14 -0800350 "android.hardware.health@1.0",
351 "android.hardware.health@2.0",
352 "android.hardware.health@2.1",
Yifan Hongc2bed972020-08-07 16:27:49 -0700353 "libgmock",
Yifan Hong12d15752020-08-05 16:25:33 -0700354 ],
Yifan Hong186b4d92020-08-05 16:30:43 -0700355 test_suites: [
356 "general-tests",
357 "device-tests",
358 ],
Yifan Hongc2bed972020-08-07 16:27:49 -0700359 data: [
360 ":libhealthd_charger_test_data",
361 ],
362 require_root: true,
Yifan Hong12d15752020-08-05 16:25:33 -0700363}
Yifan Hong5109c8c2020-08-05 18:24:25 -0700364
365// /system/etc/res/images/charger/battery_fail.png
366prebuilt_etc {
367 name: "system_core_charger_res_images_battery_fail.png",
368 src: "images/battery_fail.png",
369 relative_install_path: "res/images/charger",
370 filename: "battery_fail.png",
371}
372
373// /system/etc/res/images/charger/battery_scale.png
374prebuilt_etc {
375 name: "system_core_charger_res_images_battery_scale.png",
376 src: "images/battery_scale.png",
377 relative_install_path: "res/images/charger",
378 filename: "battery_scale.png",
379}
380
381phony {
382 name: "charger_res_images",
383 required: [
384 "system_core_charger_res_images_battery_fail.png",
385 "system_core_charger_res_images_battery_scale.png",
386 ],
387}
Yifan Hongac748362021-10-26 17:20:25 -0700388
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200389// /vendor/etc/res/images/default/charger/battery_fail.png
Yifan Hongac748362021-10-26 17:20:25 -0700390prebuilt_etc {
391 name: "system_core_charger_res_images_battery_fail.png_default_vendor",
392 src: "images/battery_fail.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200393 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700394 vendor: true,
395 filename: "battery_fail.png",
396}
397
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200398// /vendor/etc/res/images/default/charger/battery_scale.png
Yifan Hongac748362021-10-26 17:20:25 -0700399prebuilt_etc {
400 name: "system_core_charger_res_images_battery_scale.png_default_vendor",
401 src: "images/battery_scale.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200402 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700403 vendor: true,
404 filename: "battery_scale.png",
405}
406
407phony {
408 name: "charger_res_images_vendor",
409 required: [
410 "system_core_charger_res_images_battery_fail.png_default_vendor",
411 "system_core_charger_res_images_battery_scale.png_default_vendor",
412 ],
413}