From 6f53188ebe94da2ea2a19b3b91979a2edd69a943 Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Tue, 3 May 2022 10:17:55 +0800 Subject: [PATCH] Execute pause timeout only when attached to a process In order to prevent NPE since the #activityPaused assumed the app process existed. Bug: 230866778 Test: wm presubmit Change-Id: Id12b175e728f27150e1ae48e3e3af776eb08acf1 --- services/core/java/com/android/server/wm/ActivityRecord.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index d00d8b8c9f8a4..732cb71227eda 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -933,9 +933,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // so we need to be conservative and assume it isn't. Slog.w(TAG, "Activity pause timeout for " + ActivityRecord.this); synchronized (mAtmService.mGlobalLock) { - if (hasProcess()) { - mAtmService.logAppTooSlow(app, pauseTime, "pausing " + ActivityRecord.this); + if (!hasProcess()) { + return; } + mAtmService.logAppTooSlow(app, pauseTime, "pausing " + ActivityRecord.this); activityPaused(true); } }