blob: 427ac48ba0503de7c16e01d7935796d3df19b585 [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",
Chih-Hung Hsieh96352662017-11-29 14:24:50 -08007 cflags: ["-Wall", "-Werror"],
Yifan Hongffff9aa2017-06-01 14:34:29 -07008 vendor_available: true,
Yifan Hong90fdc722018-07-10 13:02:18 -07009 recovery_available: true,
Yifan Hongffff9aa2017-06-01 14:34:29 -070010 export_include_dirs: ["include"],
11 shared_libs: [
12 "libutils",
13 "libbase",
Yifan Hong1d4368b2019-10-07 11:18:04 -070014
Yifan Hongb99d15c2022-03-01 12:12:34 -080015 // Need HealthInfo definition from headers of these shared
16 // libraries. Clients don't need to link to these.
Yifan Hong1d4368b2019-10-07 11:18:04 -070017 "android.hardware.health@2.1",
Jack Wuf83e5a62023-01-10 14:50:52 +080018 ],
19 header_libs: ["libhealthd_headers"],
20 export_header_lib_headers: ["libhealthd_headers"],
21}
22
23cc_defaults {
24 name: "libhealthd_charger_ui_defaults",
25 vendor_available: true,
26 export_include_dirs: [
27 "include",
28 "include_charger",
29 ],
30
31 static_libs: [
32 "libcharger_sysprop",
33 "libhealthd_draw",
34 "libhealthloop",
35 "libminui",
36 ],
37
38 shared_libs: [
39 "libbase",
40 "libcutils",
41 "liblog",
42 "libpng",
43 "libsuspend",
44 "libutils",
45 ],
46
47 header_libs: [
48 "libhealthd_headers",
49 ],
50
51 srcs: [
52 "healthd_mode_charger.cpp",
53 "AnimationParser.cpp",
54 ],
55
56 target: {
57 vendor: {
58 exclude_static_libs: [
59 "libcharger_sysprop",
60 ],
61 },
62 },
63}
64
65cc_library_headers {
66 name: "libhealthd_headers",
67 vendor_available: true,
68 recovery_available: true,
69 export_include_dirs: ["include"],
70 header_libs: ["libbatteryservice_headers"],
71 export_header_lib_headers: ["libbatteryservice_headers"],
72}
73
74cc_library_static {
75 name: "libbatterymonitor",
76 defaults: ["libbatterymonitor_defaults"],
Jack Wu2ed5c9c2023-01-21 14:33:55 +080077 srcs: ["BatteryMonitor.cpp"],
Jack Wuf83e5a62023-01-10 14:50:52 +080078 static_libs: [
David Andersond473bcf2023-11-17 20:33:25 -080079 "android.hardware.health-V3-ndk",
Yifan Hongb99d15c2022-03-01 12:12:34 -080080 ],
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"],
Jack Wu2ed5c9c2023-01-21 14:33:55 +080092 srcs: ["BatteryMonitor_v1.cpp"],
Jack Wuf83e5a62023-01-10 14:50:52 +080093 static_libs: [
94 "android.hardware.health-V1-ndk",
95 ],
96 whole_static_libs: [
97 // Need to translate HIDL to AIDL to support legacy APIs in
98 // BatteryMonitor.
99 "android.hardware.health-translate-V1-ndk",
100 ],
Yifan Hongffff9aa2017-06-01 14:34:29 -0700101}
Yifan Hong2763df82017-09-19 17:57:50 -0700102
Yifan Hong1cf853f2018-04-04 14:08:57 -0700103cc_defaults {
104 name: "android.hardware.health@2.0-service_defaults",
Yifan Hong2763df82017-09-19 17:57:50 -0700105
Chih-Hung Hsieh96352662017-11-29 14:24:50 -0800106 cflags: [
Chih-Hung Hsieh96352662017-11-29 14:24:50 -0800107 "-Wall",
108 "-Werror",
109 ],
Yifan Hong2763df82017-09-19 17:57:50 -0700110
111 static_libs: [
112 "android.hardware.health@2.0-impl",
113 "android.hardware.health@1.0-convert",
Yifan Hongaffa24f2018-01-19 15:53:25 -0800114 "libhealthservice",
Hridya Valsaraju89178e72018-01-10 16:14:28 -0800115 "libhealthstoragedefault",
Yifan Hong2763df82017-09-19 17:57:50 -0700116 "libbatterymonitor",
117 ],
118
119 shared_libs: [
120 "libbase",
121 "libcutils",
122 "libhidlbase",
Yifan Hong2763df82017-09-19 17:57:50 -0700123 "liblog",
124 "libutils",
125 "android.hardware.health@2.0",
126 ],
127}
Yifan Hong12df1b92017-09-25 17:25:00 -0700128
129cc_binary {
Yifan Hong1cf853f2018-04-04 14:08:57 -0700130 name: "android.hardware.health@2.0-service",
131 defaults: ["android.hardware.health@2.0-service_defaults"],
Yifan Hong31150c12018-05-01 14:59:43 -0700132
Yifan Hongef26fe42018-07-10 13:07:08 -0700133 vendor: true,
134 relative_install_path: "hw",
135 init_rc: ["android.hardware.health@2.0-service.rc"],
136 srcs: [
137 "HealthServiceDefault.cpp",
138 ],
Yifan Hong12df1b92017-09-25 17:25:00 -0700139}
Tao Bao5747e222018-09-11 10:46:35 -0700140
141cc_library_static {
142 name: "libhealthd_charger_nops",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700143 recovery_available: true,
Tao Bao5747e222018-09-11 10:46:35 -0700144
145 srcs: [
146 "healthd_mode_charger_nops.cpp",
147 ],
148
149 cflags: [
150 "-Wall",
151 "-Werror",
152 ],
153
154 header_libs: [
155 "libhealthd_headers",
156 ],
157
158 static_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700159 "libhealthloop",
160 "libhealth2impl",
Tao Bao5747e222018-09-11 10:46:35 -0700161 ],
162
163 shared_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700164 "android.hardware.health@2.1",
Tao Bao5747e222018-09-11 10:46:35 -0700165 "libutils",
166 ],
167}
Yifan Hong97eecdc2019-07-03 11:07:37 -0700168
169sysprop_library {
170 name: "charger_sysprop",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700171 recovery_available: true,
Yifan Hong97eecdc2019-07-03 11:07:37 -0700172 srcs: ["charger.sysprop"],
173 property_owner: "Platform",
174 api_packages: ["android.sysprop"],
175}
Yifan Hongdbaa4772019-07-03 11:40:08 -0700176
177cc_library_static {
178 name: "libhealthd_draw",
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700179 vendor_available: true,
Yifan Hongdbaa4772019-07-03 11:40:08 -0700180 export_include_dirs: ["."],
181 static_libs: [
182 "libcharger_sysprop",
183 "libminui",
184 ],
185 shared_libs: [
186 "libbase",
187 ],
188 header_libs: ["libbatteryservice_headers"],
189
190 srcs: ["healthd_draw.cpp"],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700191
192 target: {
193 vendor: {
194 exclude_static_libs: [
195 "libcharger_sysprop",
196 ],
197 },
198 },
Yifan Hongdbaa4772019-07-03 11:40:08 -0700199}
200
201cc_library_static {
Yifan Hongb5d70332021-10-20 17:15:32 -0700202 name: "libhealthd_charger_ui",
Jack Wuf83e5a62023-01-10 14:50:52 +0800203 defaults: ["libhealthd_charger_ui_defaults"],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700204
205 static_libs: [
David Andersond473bcf2023-11-17 20:33:25 -0800206 "android.hardware.health-V3-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700207 "android.hardware.health-translate-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700208 ],
209
210 export_static_lib_headers: [
David Andersond473bcf2023-11-17 20:33:25 -0800211 "android.hardware.health-V3-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700212 ],
Jack Wuf83e5a62023-01-10 14:50:52 +0800213}
Yifan Hongb5d70332021-10-20 17:15:32 -0700214
Jack Wuf83e5a62023-01-10 14:50:52 +0800215// TODO(b/251425963): remove when android.hardware.health is upgraded to V2.
216cc_library_static {
217 name: "libhealthd_charger_ui-V1",
218 defaults: ["libhealthd_charger_ui_defaults"],
219
220 static_libs: [
221 "android.hardware.health-V1-ndk",
222 "android.hardware.health-translate-V1-ndk",
Yifan Hongdbaa4772019-07-03 11:40:08 -0700223 ],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700224
Jack Wuf83e5a62023-01-10 14:50:52 +0800225 export_static_lib_headers: [
226 "android.hardware.health-V1-ndk",
227 ],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700228}
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700229
Yifan Hongb5d70332021-10-20 17:15:32 -0700230cc_library_static {
231 name: "libhealthd_charger",
232 export_include_dirs: [
233 "include",
234 "include_charger",
235 ],
236
237 static_libs: [
238 "android.hardware.health@1.0-convert",
Yifan Hong8e551342021-10-26 22:51:29 -0700239 "libcharger_sysprop",
Yifan Hongb5d70332021-10-20 17:15:32 -0700240 "libhealth2impl",
241 "libhealthd_charger_ui",
242 ],
243
244 shared_libs: [
245 "android.hardware.health@2.1",
246 "libbase",
247 "libcutils",
248 "liblog",
249 "libutils",
250 ],
251
252 srcs: [
253 "healthd_mode_charger_hidl.cpp",
254 ],
255}
256
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700257cc_defaults {
258 name: "charger_defaults",
Yifan Hongb5d70332021-10-20 17:15:32 -0700259 local_include_dirs: [
260 "include_charger",
261 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700262
263 cflags: [
264 "-Wall",
265 "-Werror",
266 ],
267
268 shared_libs: [
269 // common
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700270 "libbase",
271 "libcutils",
272 "libhidlbase",
273 "liblog",
274 "libutils",
275
276 // system charger only
277 "libpng",
278 ],
279
280 static_libs: [
281 // common
282 "android.hardware.health@1.0-convert",
David Andersond473bcf2023-11-17 20:33:25 -0800283 "android.hardware.health-V3-ndk",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700284 "libbatterymonitor",
285 "libcharger_sysprop",
286 "libhealthd_charger_nops",
287 "libhealthloop",
288 "libhealth2impl",
289
290 // system charger only
291 "libhealthd_draw",
292 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700293 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700294 "libminui",
295 "libsuspend",
296 ],
297}
298
299cc_binary {
300 name: "charger",
301 defaults: ["charger_defaults"],
302 recovery_available: true,
303 srcs: [
304 "charger.cpp",
305 "charger_utils.cpp",
306 ],
Yifan Hong57718582021-12-13 14:01:14 -0800307 shared_libs: [
308 "android.hardware.health@2.0",
309 "android.hardware.health@2.1",
310 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700311
312 target: {
313 recovery: {
314 // No UI and libsuspend for recovery charger.
315 cflags: [
316 "-DCHARGER_FORCE_NO_UI=1",
317 ],
318 exclude_shared_libs: [
319 "libpng",
320 ],
321 exclude_static_libs: [
322 "libhealthd_draw",
323 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700324 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700325 "libminui",
326 "libsuspend",
327 ],
328 }
329 }
330}
331
332cc_test {
333 name: "charger_test",
334 defaults: ["charger_defaults"],
335 srcs: ["charger_test.cpp"],
Yifan Hong57718582021-12-13 14:01:14 -0800336 static_libs: [
337 "android.hardware.health@1.0",
338 "android.hardware.health@2.0",
339 "android.hardware.health@2.1",
340 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700341}
Yifan Hong12d15752020-08-05 16:25:33 -0700342
343cc_test {
344 name: "libhealthd_charger_test",
Yifan Hongc2bed972020-08-07 16:27:49 -0700345 defaults: ["charger_defaults"],
346 srcs: [
347 "AnimationParser_test.cpp",
348 "healthd_mode_charger_test.cpp"
Yifan Hong12d15752020-08-05 16:25:33 -0700349 ],
350 static_libs: [
Yifan Hong57718582021-12-13 14:01:14 -0800351 "android.hardware.health@1.0",
352 "android.hardware.health@2.0",
353 "android.hardware.health@2.1",
Yifan Hongc2bed972020-08-07 16:27:49 -0700354 "libgmock",
Yifan Hong12d15752020-08-05 16:25:33 -0700355 ],
Yifan Hong186b4d92020-08-05 16:30:43 -0700356 test_suites: [
357 "general-tests",
358 "device-tests",
359 ],
Yifan Hongc2bed972020-08-07 16:27:49 -0700360 data: [
361 ":libhealthd_charger_test_data",
362 ],
363 require_root: true,
Yifan Hong12d15752020-08-05 16:25:33 -0700364}
Yifan Hong5109c8c2020-08-05 18:24:25 -0700365
366// /system/etc/res/images/charger/battery_fail.png
367prebuilt_etc {
368 name: "system_core_charger_res_images_battery_fail.png",
369 src: "images/battery_fail.png",
370 relative_install_path: "res/images/charger",
371 filename: "battery_fail.png",
372}
373
374// /system/etc/res/images/charger/battery_scale.png
375prebuilt_etc {
376 name: "system_core_charger_res_images_battery_scale.png",
377 src: "images/battery_scale.png",
378 relative_install_path: "res/images/charger",
379 filename: "battery_scale.png",
380}
381
382phony {
383 name: "charger_res_images",
384 required: [
385 "system_core_charger_res_images_battery_fail.png",
386 "system_core_charger_res_images_battery_scale.png",
387 ],
388}
Yifan Hongac748362021-10-26 17:20:25 -0700389
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200390// /vendor/etc/res/images/default/charger/battery_fail.png
Yifan Hongac748362021-10-26 17:20:25 -0700391prebuilt_etc {
392 name: "system_core_charger_res_images_battery_fail.png_default_vendor",
393 src: "images/battery_fail.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200394 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700395 vendor: true,
396 filename: "battery_fail.png",
397}
398
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200399// /vendor/etc/res/images/default/charger/battery_scale.png
Yifan Hongac748362021-10-26 17:20:25 -0700400prebuilt_etc {
401 name: "system_core_charger_res_images_battery_scale.png_default_vendor",
402 src: "images/battery_scale.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200403 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700404 vendor: true,
405 filename: "battery_scale.png",
406}
407
408phony {
409 name: "charger_res_images_vendor",
410 required: [
411 "system_core_charger_res_images_battery_fail.png_default_vendor",
412 "system_core_charger_res_images_battery_scale.png_default_vendor",
413 ],
414}