From 802bb5ca255f0d82d20d3a66aa2f64f6c245b3a5 Mon Sep 17 00:00:00 2001 From: Kunal Malhotra Date: Thu, 13 Apr 2023 16:55:36 +0000 Subject: [PATCH] Bug fix for NPE if FGS stop log called before FGS start Test: unit tests. Bug: 277583461 Change-Id: I7f8beb3c962d92f4dd50148208251d558dbfee97 --- .../android/server/am/ForegroundServiceTypeLoggerModule.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java b/services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java index 993595b4870d9..8f84b08ff6a66 100644 --- a/services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java +++ b/services/core/java/com/android/server/am/ForegroundServiceTypeLoggerModule.java @@ -190,6 +190,10 @@ public class ForegroundServiceTypeLoggerModule { // and also clean up the start calls stack by UID final ArrayList apiTypes = convertFgsTypeToApiTypes(record.foregroundServiceType); final UidState uidState = mUids.get(uid); + if (uidState == null) { + Log.e(TAG, "FGS stop call being logged with no start call for UID " + uid); + return; + } final ArrayList apisFound = new ArrayList<>(); final ArrayList timestampsFound = new ArrayList<>(); for (int i = 0, size = apiTypes.size(); i < size; i++) {