From 381436a1e64826d670e33d5e6b22adb8e3c4c3ad Mon Sep 17 00:00:00 2001 From: Mina Granic Date: Tue, 4 Feb 2025 17:40:12 +0000 Subject: Fix possible NPE for isolated apps and tests. Some tests do not have the ActivityTaskManager service, and might fail with NPE. Flag: EXEMPT simple nullness check Test: VisualQueryDetectionServiceBasicTest Fixes: 382334207 Change-Id: Idac15cfc57a197b151e8df34235261c7c4decbc1 --- core/java/android/hardware/camera2/CameraManager.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java index bfaff941939c..6f74ad57b9c8 100644 --- a/core/java/android/hardware/camera2/CameraManager.java +++ b/core/java/android/hardware/camera2/CameraManager.java @@ -67,6 +67,7 @@ import android.os.Handler; import android.os.HandlerExecutor; import android.os.HandlerThread; import android.os.IBinder; +import android.os.Process; import android.os.RemoteException; import android.os.ServiceManager; import android.os.ServiceSpecificException; @@ -1705,7 +1706,9 @@ public final class CameraManager { return ICameraService.ROTATION_OVERRIDE_NONE; } - if (context != null) { + // Isolated process does not have access to ActivityTaskManager service, which is used + // indirectly in `ActivityManager.getAppTasks()`. + if (context != null && !Process.isIsolated()) { final ActivityManager activityManager = context.getSystemService(ActivityManager.class); if (activityManager != null) { for (ActivityManager.AppTask appTask : activityManager.getAppTasks()) { -- cgit v1.2.3-59-g8ed1b