From 780ca87adc239f295a26b7f0e89502a7f8758878 Mon Sep 17 00:00:00 2001 From: Jeffrey Huang Date: Thu, 11 Mar 2021 11:13:49 -0800 Subject: [PATCH] Fix an NPE in BatteryService mCallback is possible to be null. Avoid registering null callbacks. Bug: 175184519 Test: TH Change-Id: Ic382d268f40a8ea31aaeedc7a85b6dc9b4e6c210 --- services/core/java/com/android/server/BatteryService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/core/java/com/android/server/BatteryService.java b/services/core/java/com/android/server/BatteryService.java index bb4bbd5bc6d46..57dfc8b7e44e2 100644 --- a/services/core/java/com/android/server/BatteryService.java +++ b/services/core/java/com/android/server/BatteryService.java @@ -1539,6 +1539,8 @@ public final class BatteryService extends SystemService { if (Objects.equals(newService, oldService)) return; Slog.i(TAG, "health: new instance registered " + mInstanceName); + // #init() may be called with null callback. Skip null callbacks. + if (mCallback == null) return; mCallback.onRegistration(oldService, newService, mInstanceName); } catch (NoSuchElementException | RemoteException ex) { Slog.e(TAG, "health: Cannot get instance '" + mInstanceName