summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Ma <yanmin@google.com>2018-06-29 12:18:27 -0700
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-07-23 23:00:54 +0000
commitcab85f2d4b9e15c3759ba3640ac2a11ff9dee2b9 (patch)
treec7773c4d34a61ee8cb1fc91056062b7493387670
parentdcba7110160d014935a183a635d8b222687192e8 (diff)
downloadbase-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.java4
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.
}