From 0767818077e879ce10f976387cdc2cd6c68cb105 Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Thu, 7 Jan 2021 13:12:19 -0800 Subject: [PATCH] Create copy of op list, return empty if indicators disabled When assembling the op list, create a copy, do not use the existing camera op list, as that list is final. Also return an empty list when indicators are disabled, not null. Fixes: 177005228 Test: Manual Change-Id: I281085c12f0706836098fc2f16d196887596170e --- core/java/android/permission/PermissionUsageHelper.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/java/android/permission/PermissionUsageHelper.java b/core/java/android/permission/PermissionUsageHelper.java index 6a8dca1535854..7243234227b4d 100644 --- a/core/java/android/permission/PermissionUsageHelper.java +++ b/core/java/android/permission/PermissionUsageHelper.java @@ -153,11 +153,13 @@ public class PermissionUsageHelper { * @see PermissionManager.getIndicatorAppOpUsageData */ public List getOpUsageData(boolean isMicMuted) { + List usages = new ArrayList<>(); + if (!shouldShowIndicators()) { - return null; + return usages; } - List ops = CAMERA_OPS; + List ops = new ArrayList<>(CAMERA_OPS); if (shouldShowLocationIndicator()) { ops.addAll(LOCATION_OPS); } @@ -169,7 +171,6 @@ public class PermissionUsageHelper { Map packagesWithAttributionLabels = getTrustedAttributions(rawUsages.get(MICROPHONE)); - List usages = new ArrayList<>(); List usedPermGroups = new ArrayList<>(rawUsages.keySet()); for (int permGroupNum = 0; permGroupNum < usedPermGroups.size(); permGroupNum++) { boolean isPhone = false;