Commit graph

58 commits

Author SHA1 Message Date
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
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