blob: 1228b233f81a5867d27a5bd5351db3d57e4cddfb [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",
Stefan Berger06c6f502019-04-06 11:05:19 +020076 defaults: [
77 "libbatterymonitor_defaults",
78 "use_battery_info_defaults",
79 ],
Jack Wu2ed5c9c2023-01-21 14:33:55 +080080 srcs: ["BatteryMonitor.cpp"],
Jack Wuf83e5a62023-01-10 14:50:52 +080081 static_libs: [
David Andersond473bcf2023-11-17 20:33:25 -080082 "android.hardware.health-V3-ndk",
Yifan Hongb99d15c2022-03-01 12:12:34 -080083 ],
84 whole_static_libs: [
85 // Need to translate HIDL to AIDL to support legacy APIs in
86 // BatteryMonitor.
87 "android.hardware.health-translate-ndk",
Yifan Hongffff9aa2017-06-01 14:34:29 -070088 ],
Jack Wuf83e5a62023-01-10 14:50:52 +080089}
90
91// TODO(b/251425963): remove when android.hardware.health is upgraded to V2.
92cc_library_static {
93 name: "libbatterymonitor-V1",
Stefan Berger06c6f502019-04-06 11:05:19 +020094 defaults: [
95 "libbatterymonitor_defaults",
96 "use_battery_info_defaults",
97 ],
Jack Wu2ed5c9c2023-01-21 14:33:55 +080098 srcs: ["BatteryMonitor_v1.cpp"],
Jack Wuf83e5a62023-01-10 14:50:52 +080099 static_libs: [
100 "android.hardware.health-V1-ndk",
101 ],
102 whole_static_libs: [
103 // Need to translate HIDL to AIDL to support legacy APIs in
104 // BatteryMonitor.
105 "android.hardware.health-translate-V1-ndk",
106 ],
Yifan Hongffff9aa2017-06-01 14:34:29 -0700107}
Yifan Hong2763df82017-09-19 17:57:50 -0700108
Tao Bao5747e222018-09-11 10:46:35 -0700109cc_library_static {
110 name: "libhealthd_charger_nops",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700111 recovery_available: true,
Tao Bao5747e222018-09-11 10:46:35 -0700112
113 srcs: [
114 "healthd_mode_charger_nops.cpp",
115 ],
116
117 cflags: [
118 "-Wall",
119 "-Werror",
120 ],
121
122 header_libs: [
123 "libhealthd_headers",
124 ],
125
126 static_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700127 "libhealthloop",
128 "libhealth2impl",
Tao Bao5747e222018-09-11 10:46:35 -0700129 ],
130
131 shared_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700132 "android.hardware.health@2.1",
Tao Bao5747e222018-09-11 10:46:35 -0700133 "libutils",
134 ],
135}
Yifan Hong97eecdc2019-07-03 11:07:37 -0700136
137sysprop_library {
138 name: "charger_sysprop",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700139 recovery_available: true,
Yifan Hong97eecdc2019-07-03 11:07:37 -0700140 srcs: ["charger.sysprop"],
141 property_owner: "Platform",
142 api_packages: ["android.sysprop"],
143}
Yifan Hongdbaa4772019-07-03 11:40:08 -0700144
145cc_library_static {
146 name: "libhealthd_draw",
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700147 vendor_available: true,
Yifan Hongdbaa4772019-07-03 11:40:08 -0700148 export_include_dirs: ["."],
149 static_libs: [
150 "libcharger_sysprop",
151 "libminui",
152 ],
153 shared_libs: [
154 "libbase",
155 ],
156 header_libs: ["libbatteryservice_headers"],
157
158 srcs: ["healthd_draw.cpp"],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700159
160 target: {
161 vendor: {
162 exclude_static_libs: [
163 "libcharger_sysprop",
164 ],
165 },
166 },
Yifan Hongdbaa4772019-07-03 11:40:08 -0700167}
168
169cc_library_static {
Yifan Hongb5d70332021-10-20 17:15:32 -0700170 name: "libhealthd_charger_ui",
Jack Wuf83e5a62023-01-10 14:50:52 +0800171 defaults: ["libhealthd_charger_ui_defaults"],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700172
173 static_libs: [
David Andersond473bcf2023-11-17 20:33:25 -0800174 "android.hardware.health-V3-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700175 "android.hardware.health-translate-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700176 ],
177
178 export_static_lib_headers: [
David Andersond473bcf2023-11-17 20:33:25 -0800179 "android.hardware.health-V3-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700180 ],
Jack Wuf83e5a62023-01-10 14:50:52 +0800181}
Yifan Hongb5d70332021-10-20 17:15:32 -0700182
Jack Wuf83e5a62023-01-10 14:50:52 +0800183// TODO(b/251425963): remove when android.hardware.health is upgraded to V2.
184cc_library_static {
185 name: "libhealthd_charger_ui-V1",
186 defaults: ["libhealthd_charger_ui_defaults"],
187
188 static_libs: [
189 "android.hardware.health-V1-ndk",
190 "android.hardware.health-translate-V1-ndk",
Yifan Hongdbaa4772019-07-03 11:40:08 -0700191 ],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700192
Jack Wuf83e5a62023-01-10 14:50:52 +0800193 export_static_lib_headers: [
194 "android.hardware.health-V1-ndk",
195 ],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700196}
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700197
Yifan Hongb5d70332021-10-20 17:15:32 -0700198cc_library_static {
199 name: "libhealthd_charger",
200 export_include_dirs: [
201 "include",
202 "include_charger",
203 ],
204
205 static_libs: [
206 "android.hardware.health@1.0-convert",
Yifan Hong8e551342021-10-26 22:51:29 -0700207 "libcharger_sysprop",
Yifan Hongb5d70332021-10-20 17:15:32 -0700208 "libhealth2impl",
209 "libhealthd_charger_ui",
210 ],
211
212 shared_libs: [
213 "android.hardware.health@2.1",
214 "libbase",
215 "libcutils",
216 "liblog",
217 "libutils",
218 ],
219
220 srcs: [
221 "healthd_mode_charger_hidl.cpp",
222 ],
223}
224
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700225cc_defaults {
226 name: "charger_defaults",
Yifan Hongb5d70332021-10-20 17:15:32 -0700227 local_include_dirs: [
228 "include_charger",
229 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700230
231 cflags: [
232 "-Wall",
233 "-Werror",
234 ],
235
236 shared_libs: [
237 // common
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700238 "libbase",
239 "libcutils",
240 "libhidlbase",
241 "liblog",
242 "libutils",
243
244 // system charger only
245 "libpng",
246 ],
247
248 static_libs: [
249 // common
250 "android.hardware.health@1.0-convert",
David Andersond473bcf2023-11-17 20:33:25 -0800251 "android.hardware.health-V3-ndk",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700252 "libbatterymonitor",
253 "libcharger_sysprop",
254 "libhealthd_charger_nops",
255 "libhealthloop",
256 "libhealth2impl",
257
258 // system charger only
259 "libhealthd_draw",
260 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700261 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700262 "libminui",
263 "libsuspend",
264 ],
265}
266
267cc_binary {
268 name: "charger",
269 defaults: ["charger_defaults"],
270 recovery_available: true,
271 srcs: [
272 "charger.cpp",
273 "charger_utils.cpp",
274 ],
Yifan Hong57718582021-12-13 14:01:14 -0800275 shared_libs: [
276 "android.hardware.health@2.0",
277 "android.hardware.health@2.1",
278 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700279
280 target: {
281 recovery: {
282 // No UI and libsuspend for recovery charger.
283 cflags: [
284 "-DCHARGER_FORCE_NO_UI=1",
285 ],
286 exclude_shared_libs: [
287 "libpng",
288 ],
289 exclude_static_libs: [
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 }
298}
299
300cc_test {
301 name: "charger_test",
302 defaults: ["charger_defaults"],
303 srcs: ["charger_test.cpp"],
Yifan Hong57718582021-12-13 14:01:14 -0800304 static_libs: [
305 "android.hardware.health@1.0",
306 "android.hardware.health@2.0",
307 "android.hardware.health@2.1",
308 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700309}
Yifan Hong12d15752020-08-05 16:25:33 -0700310
311cc_test {
312 name: "libhealthd_charger_test",
Yifan Hongc2bed972020-08-07 16:27:49 -0700313 defaults: ["charger_defaults"],
314 srcs: [
315 "AnimationParser_test.cpp",
316 "healthd_mode_charger_test.cpp"
Yifan Hong12d15752020-08-05 16:25:33 -0700317 ],
318 static_libs: [
Yifan Hong57718582021-12-13 14:01:14 -0800319 "android.hardware.health@1.0",
320 "android.hardware.health@2.0",
321 "android.hardware.health@2.1",
Yifan Hongc2bed972020-08-07 16:27:49 -0700322 "libgmock",
Yifan Hong12d15752020-08-05 16:25:33 -0700323 ],
Yifan Hong186b4d92020-08-05 16:30:43 -0700324 test_suites: [
325 "general-tests",
326 "device-tests",
327 ],
Yifan Hongc2bed972020-08-07 16:27:49 -0700328 data: [
329 ":libhealthd_charger_test_data",
330 ],
331 require_root: true,
Yifan Hong12d15752020-08-05 16:25:33 -0700332}
Yifan Hong5109c8c2020-08-05 18:24:25 -0700333
334// /system/etc/res/images/charger/battery_fail.png
335prebuilt_etc {
336 name: "system_core_charger_res_images_battery_fail.png",
337 src: "images/battery_fail.png",
338 relative_install_path: "res/images/charger",
339 filename: "battery_fail.png",
340}
341
342// /system/etc/res/images/charger/battery_scale.png
343prebuilt_etc {
344 name: "system_core_charger_res_images_battery_scale.png",
345 src: "images/battery_scale.png",
346 relative_install_path: "res/images/charger",
347 filename: "battery_scale.png",
348}
349
350phony {
351 name: "charger_res_images",
352 required: [
353 "system_core_charger_res_images_battery_fail.png",
354 "system_core_charger_res_images_battery_scale.png",
355 ],
356}
Yifan Hongac748362021-10-26 17:20:25 -0700357
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200358// /vendor/etc/res/images/default/charger/battery_fail.png
Yifan Hongac748362021-10-26 17:20:25 -0700359prebuilt_etc {
360 name: "system_core_charger_res_images_battery_fail.png_default_vendor",
361 src: "images/battery_fail.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200362 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700363 vendor: true,
364 filename: "battery_fail.png",
365}
366
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200367// /vendor/etc/res/images/default/charger/battery_scale.png
Yifan Hongac748362021-10-26 17:20:25 -0700368prebuilt_etc {
369 name: "system_core_charger_res_images_battery_scale.png_default_vendor",
370 src: "images/battery_scale.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200371 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700372 vendor: true,
373 filename: "battery_scale.png",
374}
375
376phony {
377 name: "charger_res_images_vendor",
378 required: [
379 "system_core_charger_res_images_battery_fail.png_default_vendor",
380 "system_core_charger_res_images_battery_scale.png_default_vendor",
381 ],
382}