From 24e9073b42376b9e4f7f7a0e2b4350eda3cd62a7 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Tue, 17 Dec 2019 15:55:55 -0800 Subject: [PATCH] Skip foregound check if ActivityManagerService returns null list In some unknown cases, ActivityManagerService can return a null list of processes. This is already a corner case, and we do have other checks so it should be safe to return `true` when this happens. Fixes: 144821633 Test: BiometricPromptDemo Change-Id: I07458f812be7f8e331e48cd5566568ed015596bd --- .../android/server/biometrics/BiometricServiceBase.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java index 2de18c391d4a1..98e07ab91141b 100644 --- a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java +++ b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java @@ -1013,8 +1013,13 @@ public abstract class BiometricServiceBase extends SystemService private boolean isForegroundActivity(int uid, int pid) { try { - List procs = + final List procs = ActivityManager.getService().getRunningAppProcesses(); + if (procs == null) { + Slog.e(getTag(), "Processes null, defaulting to true"); + return true; + } + int N = procs.size(); for (int i = 0; i < N; i++) { ActivityManager.RunningAppProcessInfo proc = procs.get(i);