From 4968d79efe2bdc12ef7f48b636b54fb7a63559e0 Mon Sep 17 00:00:00 2001 From: ot903277 Date: Wed, 27 Apr 2022 16:53:53 +0800 Subject: [PATCH] Add PM checker for AppOpsManager Added null == pm to deal with the possible null pointer problem when LowRamDevice gets AppOps Bug:230592908 Fixes:237613199 Test: run gts -m GtsPreserveLegacyStorageHostTest -t android.scopedstorage.cts.host.PreserveLegacyStorageHostTest#testPreserveLegacy Change-Id: I80f1662a694886ef2acde58ae3eec50254e08aa2 --- core/java/android/app/AppOpsManager.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java index 125f5e4e1a21b..017944d384174 100644 --- a/core/java/android/app/AppOpsManager.java +++ b/core/java/android/app/AppOpsManager.java @@ -10291,6 +10291,9 @@ public class AppOpsManager { // system alert window is disable on low ram phones starting from Q final PackageManager pm = context.getPackageManager(); + if (null == pm) { + return AppOpsManager.MODE_DEFAULT; + } // TVs are constantly plugged in and has less concern for memory/power if (ActivityManager.isLowRamDeviceStatic() && !pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK, 0)) {