History log of /system/core/healthd/BatteryPropertiesRegistrar.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fd68370074fab549f569d8b9a5bf3d7c535c47bc 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
/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