From 595002a0acd4b68cf996e333defbed8f3bd9edfe Mon Sep 17 00:00:00 2001 From: Jeffrey Huang Date: Thu, 11 Mar 2021 11:13:49 -0800 Subject: Fix an NPE in BatteryService mCallback is possible to be null. Avoid registering null callbacks. Bug: 175184519 Test: TH Change-Id: Ic382d268f40a8ea31aaeedc7a85b6dc9b4e6c210 Merged-In: Ic382d268f40a8ea31aaeedc7a85b6dc9b4e6c210 (cherry picked from commit 780ca87adc239f295a26b7f0e89502a7f8758878) --- 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 8dd4fa6d8fd1..c9ba58a5fef5 100644 --- a/services/core/java/com/android/server/BatteryService.java +++ b/services/core/java/com/android/server/BatteryService.java @@ -1505,6 +1505,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 -- cgit v1.2.3-59-g8ed1b