From ad969ad7bcaa136326ef552bbc6186d3ac8489f4 Mon Sep 17 00:00:00 2001 From: Guojing Yuan Date: Tue, 9 Nov 2021 21:56:05 +0000 Subject: [PATCH] Fix a CDM crash during association The issue happens when the package is power save whitelisted by the system but doesn't have REQUEST_COMPANION_RUN_IN_BACKGROUND permission. Fix: 205356884 Test: N/A Change-Id: Idc4203030ecd70df470b080cb2a38219a88875c0 --- .../server/companion/CompanionDeviceManagerService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index cebabcb204029..f648afa6c9cca 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -757,7 +757,12 @@ public class CompanionDeviceManagerService extends SystemService { android.Manifest.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND)) { mPowerWhitelistManager.addToWhitelist(packageInfo.packageName); } else { - mPowerWhitelistManager.removeFromWhitelist(packageInfo.packageName); + try { + mPowerWhitelistManager.removeFromWhitelist(packageInfo.packageName); + } catch (UnsupportedOperationException e) { + Slog.w(LOG_TAG, packageInfo.packageName + " can't be removed from power save" + + " whitelist. It might due to the package is whitelisted by the system."); + } } NetworkPolicyManager networkPolicyManager = NetworkPolicyManager.from(getContext());