diff options
author | Mike Ma <yanmin@google.com> | 2018-06-29 12:18:27 -0700 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-07-23 23:00:54 +0000 |
commit | cab85f2d4b9e15c3759ba3640ac2a11ff9dee2b9 (patch) | |
tree | c7773c4d34a61ee8cb1fc91056062b7493387670 | |
parent | dcba7110160d014935a183a635d8b222687192e8 (diff) | |
download | base-cab85f2d4b9e15c3759ba3640ac2a11ff9dee2b9.tar.gz |
Fix a NPE in BatteryStatsImpl
ServiceManager.getService("batteryproperties")) may return null for some
devices right after boot. (We don't know why, need further investigation)
This causes async batterystats update to crash, leaving BatteryStats in a
bad state (OnBattery() == true, but mOnBatteryTimeBase is not running),
which does not accept aggregated stats update anymore.
Bug: 109930230
Test: manual
Change-Id: I0654beff95f0a2b9df2567f1a2efffd3330e58ff
(cherry picked from commit c6dfed1ce06c18097a81275eeeeb6e6e66d8e932)
(cherry picked from commit b3a81a1fad84b4f57c09673b685d8543071f0707)
-rw-r--r-- | core/java/com/android/internal/os/BatteryStatsImpl.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index 4cc91ec3ae72..50d3a56454df 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -4021,7 +4021,9 @@ public class BatteryStatsImpl extends BatteryStats { try { IBatteryPropertiesRegistrar registrar = IBatteryPropertiesRegistrar.Stub.asInterface( ServiceManager.getService("batteryproperties")); - registrar.scheduleUpdate(); + if (registrar != null) { + registrar.scheduleUpdate(); + } } catch (RemoteException e) { // Ignore. } |