05807fa1afd29f8c93bf8525280ddf21e58e89d4 |
|
26-Jun-2017 |
Todd Poynor <toddpoynor@google.com> |
healthd: notify listeners using local copy of list, drop lock Binder currently may service an incoming oneway transaction whenever an outbound oneway call is made (if there is already a pending incoming oneway call waiting). The unexpected nested method call blocks forever on a recursive mutex acquire because healthd is single- threaded. The binder behavior is considered a bug and may change in the future. For now, work around this in healthd. Make a local copy of the listeners list, then drop the lock and perform the outbound calls on the local copy of the list. Bug: 38201220 Test: Marlin with modified client calling scheduleUpdate() repeatedly Change-Id: If35c2847556245921e2aff808ff747bb60356811 (cherry picked from commit fd68370074fab549f569d8b9a5bf3d7c535c47bc)
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
3dec1aa66d111a078c04b5b738daa928816de1af |
|
16-Feb-2017 |
Adam Lesinski <adamlesinski@google.com> |
healthd: Implement scheduleUpdate scheduleUpdate forces a healthd battery update, which will notify all listeners. Test: Manual (strace -p $healthd_pid) Bug: 32645990 Change-Id: I8b19f79b633ca8988f0e3dd5be14757f6421ddcb
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
4df105635b626a894f16eaec92e763b773a5a6e1 |
|
28-Jul-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix clang-tidy performance warnings in healthd. * Use const reference type for parameters to avoid unnecessary copy. Bug: 30407689 Change-Id: I926ea7b6e9e020a228c812b7e23087a2b7ed9809 Test: build with WITH_TIDY=1
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
e98e177a34eb3200b9f95be8379223271933b885 |
|
17-Feb-2016 |
Yabin Cui <yabinc@google.com> |
healthd: separate libbatterymonitor for use in recovery. Bug: 26879394 Change-Id: I97b5b4994c42988ce43f5085b8b4b25e9e80c9fa
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
e55356486fb16aa74f3b85242ec281ee7dec3fac |
|
06-Jan-2016 |
Todd Poynor <toddpoynor@google.com> |
healthd: BatteryPropertiesRegistrar binder service ref count fixup Call addService using a reference to a strong pointer to the service object, such that the proper IBinder object is ref counted, instead of passing the object's this pointer. Bug: None Change-Id: I72cac08c835a17b8cc263b2dc34864420b7a2841
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
26279a9ef164e658c8c583facc65abc51ed54e22 |
|
14-Nov-2014 |
Marco Nelissen <marcone@google.com> |
Update calls to IInterface::asBinder() to use the new static version. Change-Id: Idcf82bb8c0b4b141475abb5330b08409dc14a600
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
6f5b47f9144960412b0fb6bc417f0c41bf53438a |
|
16-May-2014 |
Mark Salyzyn <salyzyn@google.com> |
healthd: Turn on -Werror Change-Id: I72caf38008ee7d842dfacd3f58add9bc8e4787e8
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
3e6d3319b2b131ebdeb831f248dbb8dc72e68c83 |
|
30-Apr-2014 |
Natalie Silvanovich <natashenka@google.com> |
NULL check in registerListener Prevents crash in batteryproperties. Now with two times as much NULL checking. Bug: 13730158 Change-Id: Ica083da60c6543431c2d82d46aed48eaccc3b4b4
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
9b53cf79afb843758546752327de96a8d8fde951 |
|
23-Oct-2013 |
Todd Poynor <toddpoynor@google.com> |
healthd: remove service batterypropreg Change-Id: Iac24af6a59453686fca145d0814dc5ff045efcec
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
f0e2ac26424da01f1a48eed1c343dfdafd338553 |
|
23-Oct-2013 |
Todd Poynor <toddpoynor@google.com> |
healthd: rename service batterypropreg => batteryproperties Part 1 of 2 (to avoid transitory runtime crashes). Change-Id: I40d990ef7ee18cea99e5add39738bbe9fd5701ca
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
020369d8724eff2b87350e54e157a609846166e4 |
|
19-Sep-2013 |
Todd Poynor <toddpoynor@google.com> |
healthd: BatteryService dumpstate support Change-Id: Ia6938b7126751801310632c995af0f96e41f5f64
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
7b27f27d3de9e39d0de86c6e592d49bd4cc89158 |
|
07-Sep-2013 |
Todd Poynor <toddpoynor@google.com> |
healthd: break link between BatteryMonitor and BatteryPropertiesRegistrar Make it easier to later separate out binder-related code. Add helper functions healthd_battery_update(), healthd_get_property() to allow these operations without needing references to the BatteryMonitor object. Change-Id: Ie584bf53e5178ce0a098d0d940d6c311fdff62d4
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
c133b7198a02c8738aeef86d6cfd921a626adce7 |
|
15-Aug-2013 |
Todd Poynor <toddpoynor@google.com> |
healthd: read individual battery property value on demand Adding support for batteryChargeCounter and batteryCurrentNow as parameters likely to be useful for power consumption analysis. Change-Id: Ib23b05d3c31c22ece0d21e55cc481c1b5dabe59e
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|
752faf2c18407fd79127fb3f3773910b4ddf669d |
|
12-Jun-2013 |
Todd Poynor <toddpoynor@google.com> |
healthd: Add system health monitoring daemon Initially moving battery health monitoring here. Command line flag -n tells healthd not to use (or wait for) servicemanager in this execution, for charger and recovery modes. Change-Id: I1720594724af0c068497b359f9c6ad65aeaa1519
/system/core/healthd/BatteryPropertiesRegistrar.cpp
|