summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulia Reynolds <juliacr@google.com>2021-06-22 13:30:37 -0400
committerJustin Dunlap <justindunlap@google.com>2022-08-22 15:43:38 -0700
commit5a5dd2b827b5ba5284e6fcbe2b215b340e4a63bf (patch)
treea5fc3c2dc29245a02a06fe7af28cd6e03c716e93
parent6374e49af51db3390ab0b37b8f9fdc7ae11f9a86 (diff)
downloadbase-5a5dd2b827b5ba5284e6fcbe2b215b340e4a63bf.tar.gz
Fix NPE when deleting old zen rules
Test: manually revoke access for a DND app that has rules created before and after b/189332346 Bug: 191773100 Bug: 189332346 Bug: 235823407 Change-Id: I069fcc124af24227fa50b61d4fc55d6dadc7a20b Merged-In: I069fcc124af24227fa50b61d4fc55d6dadc7a20b (cherry picked from commit b4fe101e5e609f3f24ec471a35a7e0e96a416834) (cherry picked from commit 7bb9cd92bfb46bef8a739a322b25c41690171b87) Merged-In: I069fcc124af24227fa50b61d4fc55d6dadc7a20b
-rw-r--r--services/core/java/com/android/server/notification/ZenModeHelper.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index 1000d34968a1..92891ce0d2e8 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -383,7 +383,14 @@ public class ZenModeHelper {
newConfig = mConfig.copy();
for (int i = newConfig.automaticRules.size() - 1; i >= 0; i--) {
ZenRule rule = newConfig.automaticRules.get(newConfig.automaticRules.keyAt(i));
- if (rule.pkg.equals(packageName) && canManageAutomaticZenRule(rule)) {
+ String pkg = rule.pkg != null
+ ? rule.pkg
+ : (rule.component != null)
+ ? rule.component.getPackageName()
+ : (rule.configurationActivity != null)
+ ? rule.configurationActivity.getPackageName()
+ : null;
+ if (Objects.equals(pkg, packageName) && canManageAutomaticZenRule(rule)) {
newConfig.automaticRules.removeAt(i);
}
}