Commit graph

300 commits

Author SHA1 Message Date
Treehugger Robot
652b89bd0a Merge "libhealthloop: Remove the POWER_SUPPLY_SUBSYSTEM macro" 2022-02-12 00:23:15 +00:00
Treehugger Robot
71af5c2da9 Merge "health: vendor.charger-* -> vendor.charger." 2022-01-28 01:20:11 +00:00
Yifan Hong
64345cd628 health: vendor.charger-* -> vendor.charger.
Devices may have actions triggered by
init.svc.vendor.charger. If the name is changed,
these actions are not triggered properly.

The name is usually vendor.charger, so the default
service will also use vendor.charger as the name.

Test: none
Bug: 215152892
Change-Id: Icb296ae82a6f3472730fdb3abc35dcede22889e7
2022-01-26 15:53:11 -08:00
Treehugger Robot
a366ec1a33 Merge "health: support Dock charging" 2022-01-25 01:55:20 +00:00
Jack Wu
5b13512b89 health: support Dock charging
Bug: 194012532
Test: Show dock type correctly
Signed-off-by: Jack Wu <wjack@google.com>
Change-Id: I6031d4c12a89317fdf98894ff4bec1cfc5dcfddf
2022-01-15 10:22:27 +00:00
Steven Moreland
ee22878ac8 Merge "remove libbinder_ndk_host_user" 2022-01-14 23:10:16 +00:00
Hridya Valsaraju
ec876871ed health: vts: Remove hridya@ from OWNERS
Test: N/A
Bug: N/A
Change-Id: I37b12a4e4dcabf09c3ff7188a59482357fe36242
2022-01-12 11:15:42 -08:00
Steven Moreland
738d3d5950 remove libbinder_ndk_host_user
no longer needed

Bug: 211908498
Test: build
Change-Id: Iadffdf1d7759e32986c4e0e28acb2087d9f27ab0
2022-01-07 22:18:58 +00:00
Yifan Hong
fab263ceae health: Add libhealth_aidl_impl_user.
This is the defaults for users of libhealth_aidl_impl.

Test: builds
Bug: 213273090
Change-Id: Iddcc0a0bc194f337c5e9a632ea2468140804a30a
2022-01-05 14:47:53 -08:00
Steven Moreland
a049eb0faf Remove separate_platform_variant entries.
This no longer does anything.

Bug: 161456198
Test: build
Change-Id: If7ca08cc1d7a829c637e1ea8254eed6361be0490
2022-01-04 18:22:44 +00:00
Treehugger Robot
c8b8ec2983 Merge "health: Add AIDL VTS to general-tests." 2021-12-22 21:23:27 +00:00
Yifan Hong
8469276466 health: Add AIDL VTS to general-tests.
This allows it to run on forrest.

Test: pass
Bug: 203245778
Change-Id: I78481d5bd7185cd660243e44440982f50c9f07ca
2021-12-14 20:31:28 +00:00
Yifan Hong
4c12800dd8 Merge "health: add libhealthshim" 2021-12-07 18:18:07 +00:00
Treehugger Robot
21c1e163d4 Merge "health: properly support charger mode." 2021-12-01 03:45:49 +00:00
Yifan Hong
7a6956ee0d health: add libhealthshim
This is a shim library that wraps a HIDL IHealth to
an AIDL BnHealth.

Also add tests for the library.

Bug: 177269435
Test: libhealthshim_test

Change-Id: Ia5f32c1ae0693c70cf698b46b48d5f77006cf6c7
2021-11-29 16:43:05 -08:00
Treehugger Robot
4b0c7f0e7a Merge "health storage AIDL HAL logs more." 2021-11-29 23:33:55 +00:00
Yifan Hong
9f1639f6b4 health storage AIDL HAL logs more.
Test: builds
Bug: 206775954
Change-Id: I211e29e495a974e9c93ac97c7dd9ef93e1bcb5ef
2021-11-29 22:03:15 +00:00
Yifan Hong
87ece16955 health: fix running HAL in recovery mode.
- Add proper RC files
- overrides charger.recovery
- update readme for implementing recovery mode

Test: pass
Bug: 177269435
Change-Id: Id60b57978e4e5bf78af32bd67523333ba0c2a04d
2021-11-19 02:18:21 +00:00
Yifan Hong
04c4754b9c health: properly support charger mode.
Use charger_vendor SELinux context.

Also update readme to reflect the change.

Test: manual in offline-charging mode
Bug: 177269435
Change-Id: Icf5cd9d579b3365037e2d360fcc29b0ef4be1b15
2021-11-17 07:27:12 +00:00
Yifan Hong
d4ebad8aef health: Update README.md for SELinux rule example
Test: none
Bug: 177269435
Change-Id: Ifd5ef99e7dd1c27fe9973daa65ad70714f86a46b
2021-11-16 23:22:16 -08:00
Yifan Hong
4915df85a0 Merge "health: do not use default destructor." 2021-11-16 02:25:29 +00:00
Yifan Hong
2d418a2b5b health: do not use default destructor.
Otherwise, clients will need to know how to destroy
LinkedCallback, a hidden class.

Test: builds
Bug: 177269435
Change-Id: I89532755da16b672c4cbece55b943306f68cdb9e
2021-11-12 19:05:24 -08:00
Yifan Hong
1698fe28eb Merge "health: Also add h2aTranslate(V1_0.HealthInfo)" 2021-11-10 21:11:00 +00:00
Yifan Hong
2e07613c79 health: make libhealth_aidl_impl visibility public
It was meant to be the replacement of health2impl, the helper library
for implementing the health HAL. Hence, vendor implementation needs
to access it.

Test: pass
Bug: 177269435
Change-Id: I58f4bcd860983b2b16ea52fbdd6e05c8d4953454
2021-11-08 13:02:17 -08:00
Yifan Hong
701ff4a1de Merge "health: handle charger in health HAL" 2021-11-08 20:33:46 +00:00
Yifan Hong
9af94c627c Merge "health AIDL: Add readme" 2021-11-08 20:29:15 +00:00
Yifan Hong
02f04175c9 health AIDL: Add readme
Test: none
Bug: 177269435
Change-Id: I54e69d7789c6e1246bb126a27f9463e04407314e
2021-11-08 12:28:18 -08:00
Yifan Hong
4335f1cf9f health: Also add h2aTranslate(V1_0.HealthInfo)
... for BatteryService to use. Other fields
are kept as default values.

Test: builds
Bug: 177269435
Change-Id: I7e1c997f5441c7a81bcffb32688f4a2216378998
2021-11-08 12:23:23 -08:00
Bart Van Assche
ac9f9cb348 libhealthloop: Remove the POWER_SUPPLY_SUBSYSTEM macro
Make the source code slightly easier to read by removing a macro that is
only used once.

Change-Id: I954a1ee9760398480c68a7e9bd2cdf58527c5746
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2021-11-05 21:11:47 +00:00
Bob Badour
7a31e5dbd9 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces
Added SPDX-license-identifier-Apache-2.0 to:
  health/utils/libhealthtest/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Change-Id: Icad37f04c1ca51b2b111b980a45002bf027505c8
2021-11-04 11:22:46 -07:00
Yifan Hong
a8f55cacaa health: handle charger in health HAL
Test: manual in charger mode
Bug: 203246116

Change-Id: Id02077d78fa8b1489ea4fba5b10e32f961c4cea0
2021-11-03 11:56:01 -07:00
Treehugger Robot
9b965ac6a5 Merge "health AIDL: add vts tests" 2021-10-30 00:53:03 +00:00
Treehugger Robot
919d9a3da3 Merge "health: make AIDL HAL recovery available." 2021-10-30 00:30:34 +00:00
Yifan Hong
2200cffdad health AIDL: add vts tests
This is a direct translation of the health 2.0
and 2.1 VTS tests.

Some slight modifications are made (e.g. use googlemock
matchers) to make the test code more readable.

Test: run on Pixel
Bug: 203245778

Change-Id: Ifc3799a04a6a09d0d53f400b60d19fbfe004a3e3
2021-10-29 15:51:42 -07:00
Yifan Hong
1f5c57c965 Merge "health impl: compare interfaces with their binders" 2021-10-29 21:16:46 +00:00
Yifan Hong
6839f6742e health impl: compare interfaces with their binders
The intention is to compare binder objects not the
outer interface class.

Test: VTS
Bug: 177269435
Change-Id: I1c48112a75cb229b40c42ed2a3f347472d1860f9
2021-10-29 21:16:34 +00:00
Bob Badour
a88d5b1cb3 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces
Added SPDX-license-identifier-Apache-2.0 to:
  health/aidl/Android.bp
  health/aidl/default/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Change-Id: I24a0212a955a084c795990653c45b60ebda33357
2021-10-28 17:18:27 -07:00
Yifan Hong
e32a8ea137 health: make AIDL HAL recovery available.
Test: builds
Bug: 170338625
Change-Id: I45e0032e7a765cdeb39e01d17bacf11d1c10a75c
2021-10-26 23:53:55 -07:00
Yifan Hong
830cdb119e health: Add default impl of health AIDL HAL
Compared to the HIDL HAL implementation,
- libhealthloop (and the HealthLoop class) is kept
- Create libhealthaidlimpl that replaces libhealth2impl. Fork the implementation because
  libhealth2impl is highly coupled with HIDL’s design rationale. This includes forking:
  - HalHealthLoop
  - Health implementation
- Combine the passthrough Health and hwbinder BinderHealth classes into the AIDL
  implementation of Health. This is because AIDL does not support passthrough transport.
  Separating the implementation for the two transports in HIDL does not make sense for AIDL.
- In HIDL, a BinderHealth is a HalHealthLoop which is composed of a (passthrough)
  Health implementation. As a result of this change, in AIDL, a Health implementation
  is a HalHealthLoop, which associates with the Health implementation itself with a raw
  pointer.
- hidl_death_recipient becomes ScopedAIBinder_DeathRecipient
- Callback becomes LinkedCallback

Test: manual
Bug: 177269435
Change-Id: I76e914117ce09b218cdb9d655f2135d29bb629ae
2021-10-26 23:53:55 -07:00
Steven Moreland
713d22e0f1 Merge changes from topic "health-aidl"
* changes:
  health: Add to compatibility matrix.
  health: separate_platform_variant = false
  health: Convert of health HAL to AIDL
2021-10-26 22:33:31 +00:00
Yifan Hong
b47f676008 health: separate_platform_variant = false
Disable the generation of ndk_platform variant during the
ndk_platform -> ndk migration.

Test: builds
Bug: 177269435
Change-Id: I467eaee53542b152df1d398a8f044eb42fd01772
2021-10-26 11:03:03 -07:00
Yifan Hong
52ecb3f421 health: Convert of health HAL to AIDL
On top of the hidl2aidl translation, the following is
done manually:

- Renamed the package from health2 to health. Also pulls in
health@1.0::Battery* enums.
- Removes Result and Constants enum. Result values are returned
as transaction status codes.
- Removes health@2.1 charger related APIs.
  - remove shouldKeepScreenOn
  - remove getHealthConfig
  - remove HealthConfig type
- Removes StorageAttribute because it is not used in the framework
- Add units to HealthInfo fields and IHealth methods.
- Update docs (namely, u -> µ in various places)

Bug: 177269435
Test: pass

Change-Id: I9c9a9d9dd5d49142258e608a463412d3e89e91a3
2021-10-26 11:03:03 -07:00
Treehugger Robot
68b3942abe Merge "health: AIDL add owners." 2021-10-19 21:13:20 +00:00
Yifan Hong
9ca39cef7f health: AIDL add owners.
... for usage in other places.

Test: none
Bug: 177269435
Change-Id: I74ea2a497237d966db0c146868c61a1a667e8cca
2021-10-19 19:51:58 +00:00
Yifan Hong
a76a2bf65b health: drop backup instance for non-recovery.
For the core variant (system), clients like storaged
etc. should no longer access the "backup" instance, because
healthd is removed from the system image.

For the vendor variant, this would only break if a
vendor image were launched with Android O / O-MR1 (so
health@2.0 is not required), and were compiled against an
Android T (and above) source tree (which won't check
the "backup" instance). This shouldn't be a valid configuration.

For the recovery variant, the "backup" instance has a different
meaning. It points to

  android.hardware.health@2.0-impl-default.recovery

... which was assumed by OEMs to be always installed when a
vendor-specific libhealthd is not necessary. Hence, its behavior
is kept. See

  hardware/interfaces/health/2.0/README.md

android.hardware.health@2.0-impl-default.recovery, and subsequently the
special handling of recovery mode below, can be removed once health@2.1
is the minimum required version (i.e. compatibility matrix level 3 is
removed). Health 2.1 requires OEMs to install the implementation
to the recovery partition when it is necessary (i.e. on non-A/B devices,
where IsBatteryOk() is needed in recovery).

Test: pass
Bug: 203245871

Change-Id: Ife14f5bdaba20e4cf5bd0b954aea4d04a62009c4
2021-10-19 12:50:11 -07:00
Yiming Pan
1698249ddd Merge "Backfill owner information for VTS module VtsHalHealthV2_1TargetTest." am: c076175c35
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1814136

Change-Id: If5c32786a0b8502443b35dbd563cc76dfdc17773
2021-09-30 00:36:58 +00:00
Yiming Pan
c076175c35 Merge "Backfill owner information for VTS module VtsHalHealthV2_1TargetTest." 2021-09-30 00:22:11 +00:00
Yiming Pan
a2ab6a9a5f Backfill owner information for VTS module VtsHalHealthV2_1TargetTest.
Each VTS module is required to have OWNERS file. The ownership is based on
go/vts-owners. For more information about ownership policy, please visit
go/xts-owners-policy.

Test: Tree Hugger
Bug: 143903671
Change-Id: I7cba8c0c0fc611d7499c9afdc93d5d6fe865b33a
2021-08-30 12:59:11 -07:00
Yiming Pan
b68fc32345 Merge "Update the OWNERS file of VTS module VtsHalHealthV2_0TargetTest" am: aa3873ce1c am: 1c83e9bb9e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1773797

Change-Id: I6e6fc19f1cbab4335fe9a096947e070dd2defd5a
2021-07-30 18:30:09 +00:00
Yiming Pan
aa3873ce1c Merge "Update the OWNERS file of VTS module VtsHalHealthV2_0TargetTest" 2021-07-30 17:57:35 +00:00