From 656cd8d6b1ab8e1eb497e4b75d324c1d5fb147ab Mon Sep 17 00:00:00 2001 From: Benjamin Gordon Date: Fri, 1 Nov 2024 16:39:41 -0600 Subject: Handle missing ActivityTaskManager service ActivityTaskManager.getService can return null if SystemManager.getService(Context.ACTIVITY_TASK_SERVICE) returns null. StrictMode.registerBackgroundActivityStartCallback needs to check for this so it doesn't try to register a callback on a non-object. Bug: 376302055 Bug: 324089586 Test: atest CtsPrintTestCases Change-Id: If71e95981f1c7c23e21968405ae3e30149d16417 --- core/java/android/os/StrictMode.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java index b5ecc1430cf7..90993e1850d4 100644 --- a/core/java/android/os/StrictMode.java +++ b/core/java/android/os/StrictMode.java @@ -33,6 +33,7 @@ import android.app.ActivityManager; import android.app.ActivityTaskManager; import android.app.ActivityThread; import android.app.IActivityManager; +import android.app.IActivityTaskManager; import android.app.IBackgroundActivityLaunchCallback; import android.app.IUnsafeIntentStrictModeCallback; import android.app.PendingIntent; @@ -2189,8 +2190,11 @@ public final class StrictMode { private static void registerBackgroundActivityLaunchCallback() { try { - ActivityTaskManager.getService().registerBackgroundActivityStartCallback( + IActivityTaskManager service = ActivityTaskManager.getService(); + if (service != null) { + service.registerBackgroundActivityStartCallback( new BackgroundActivityLaunchCallback()); + } } catch (DeadObjectException e) { // ignore } catch (RemoteException e) { -- cgit v1.2.3-59-g8ed1b