blob: 24777c8e602184be8b56cb8509451afafdc76cb3 [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
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700219 "libbase",
220 "libcutils",
221 "libhidlbase",
222 "liblog",
223 "libutils",
224
225 // system charger only
226 "libpng",
227 ],
228
229 static_libs: [
230 // common
231 "android.hardware.health@1.0-convert",
Yifan Hongb5d70332021-10-20 17:15:32 -0700232 "android.hardware.health-V1-ndk",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700233 "libbatterymonitor",
234 "libcharger_sysprop",
235 "libhealthd_charger_nops",
236 "libhealthloop",
237 "libhealth2impl",
238
239 // system charger only
240 "libhealthd_draw",
241 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700242 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700243 "libminui",
244 "libsuspend",
245 ],
246}
247
248cc_binary {
249 name: "charger",
250 defaults: ["charger_defaults"],
251 recovery_available: true,
252 srcs: [
253 "charger.cpp",
254 "charger_utils.cpp",
255 ],
Yifan Hong57718582021-12-13 14:01:14 -0800256 shared_libs: [
257 "android.hardware.health@2.0",
258 "android.hardware.health@2.1",
259 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700260
261 target: {
262 recovery: {
263 // No UI and libsuspend for recovery charger.
264 cflags: [
265 "-DCHARGER_FORCE_NO_UI=1",
266 ],
267 exclude_shared_libs: [
268 "libpng",
269 ],
270 exclude_static_libs: [
271 "libhealthd_draw",
272 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700273 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700274 "libminui",
275 "libsuspend",
276 ],
277 }
278 }
279}
280
281cc_test {
282 name: "charger_test",
283 defaults: ["charger_defaults"],
284 srcs: ["charger_test.cpp"],
Yifan Hong57718582021-12-13 14:01:14 -0800285 static_libs: [
286 "android.hardware.health@1.0",
287 "android.hardware.health@2.0",
288 "android.hardware.health@2.1",
289 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700290}
Yifan Hong12d15752020-08-05 16:25:33 -0700291
292cc_test {
293 name: "libhealthd_charger_test",
Yifan Hongc2bed972020-08-07 16:27:49 -0700294 defaults: ["charger_defaults"],
295 srcs: [
296 "AnimationParser_test.cpp",
297 "healthd_mode_charger_test.cpp"
Yifan Hong12d15752020-08-05 16:25:33 -0700298 ],
299 static_libs: [
Yifan Hong57718582021-12-13 14:01:14 -0800300 "android.hardware.health@1.0",
301 "android.hardware.health@2.0",
302 "android.hardware.health@2.1",
Yifan Hongc2bed972020-08-07 16:27:49 -0700303 "libgmock",
Yifan Hong12d15752020-08-05 16:25:33 -0700304 ],
Yifan Hong186b4d92020-08-05 16:30:43 -0700305 test_suites: [
306 "general-tests",
307 "device-tests",
308 ],
Yifan Hongc2bed972020-08-07 16:27:49 -0700309 data: [
310 ":libhealthd_charger_test_data",
311 ],
312 require_root: true,
Yifan Hong12d15752020-08-05 16:25:33 -0700313}
Yifan Hong5109c8c2020-08-05 18:24:25 -0700314
315// /system/etc/res/images/charger/battery_fail.png
316prebuilt_etc {
317 name: "system_core_charger_res_images_battery_fail.png",
318 src: "images/battery_fail.png",
319 relative_install_path: "res/images/charger",
320 filename: "battery_fail.png",
321}
322
323// /system/etc/res/images/charger/battery_scale.png
324prebuilt_etc {
325 name: "system_core_charger_res_images_battery_scale.png",
326 src: "images/battery_scale.png",
327 relative_install_path: "res/images/charger",
328 filename: "battery_scale.png",
329}
330
331phony {
332 name: "charger_res_images",
333 required: [
334 "system_core_charger_res_images_battery_fail.png",
335 "system_core_charger_res_images_battery_scale.png",
336 ],
337}
Yifan Hongac748362021-10-26 17:20:25 -0700338
339// /vendor/etc/res/images/charger/battery_fail.png
340prebuilt_etc {
341 name: "system_core_charger_res_images_battery_fail.png_default_vendor",
342 src: "images/battery_fail.png",
343 relative_install_path: "res/images/charger/default",
344 vendor: true,
345 filename: "battery_fail.png",
346}
347
348// /vendor/etc/res/images/charger/battery_scale.png
349prebuilt_etc {
350 name: "system_core_charger_res_images_battery_scale.png_default_vendor",
351 src: "images/battery_scale.png",
352 relative_install_path: "res/images/charger/default",
353 vendor: true,
354 filename: "battery_scale.png",
355}
356
357phony {
358 name: "charger_res_images_vendor",
359 required: [
360 "system_core_charger_res_images_battery_fail.png_default_vendor",
361 "system_core_charger_res_images_battery_scale.png_default_vendor",
362 ],
363}