From 2ba71ad15d8420979061e6d56a61a623b45b1ee8 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Thu, 17 Dec 2015 08:46:09 -0500 Subject: [PATCH] Don't show orphaned rule instances in Settings. Bug: 25472361 Change-Id: Ic9bec4872777b720aa786679cbc960a9ee51dbe1 --- .../settings/notification/ZenModeAutomationSettings.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/notification/ZenModeAutomationSettings.java b/src/com/android/settings/notification/ZenModeAutomationSettings.java index dbbd9a92dc9..c2473ad8e84 100644 --- a/src/com/android/settings/notification/ZenModeAutomationSettings.java +++ b/src/com/android/settings/notification/ZenModeAutomationSettings.java @@ -156,7 +156,10 @@ public class ZenModeAutomationSettings extends ZenModeSettingsBase { root.removeAll(); final AutomaticZenRule[] sortedRules = sortedRules(); for (AutomaticZenRule sortedRule : sortedRules) { - root.addPreference(new ZenRulePreference(getPrefContext(), sortedRule)); + ZenRulePreference pref = new ZenRulePreference(getPrefContext(), sortedRule); + if (pref.appExists) { + root.addPreference(pref); + } } final Preference p = new Preference(getPrefContext()); p.setIcon(R.drawable.ic_add); @@ -264,6 +267,7 @@ public class ZenModeAutomationSettings extends ZenModeSettingsBase { private class ZenRulePreference extends Preference { final String mName; final String mId; + final boolean appExists; public ZenRulePreference(Context context, final AutomaticZenRule rule) { super(context); @@ -283,8 +287,11 @@ public class ZenModeAutomationSettings extends ZenModeSettingsBase { setSummary(computeRuleSummary(rule, isSystemRule, info.loadLabel(mPm))); } catch (PackageManager.NameNotFoundException e) { setIcon(R.drawable.ic_label); + appExists = false; + return; } + appExists = true; setTitle(rule.getName()); setPersistent(false);