Refresh the whole rule in zen listing screen
Because the whole rule is pushed to NMS when it's
enabled/disabled.
Test: manual
Fixes: 135170330
Change-Id: I4bbc30f82dab07cff9184f9ab8a6f729499c6126
diff --git a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java b/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
index 499bfbc..2f62f45 100644
--- a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
@@ -69,7 +69,7 @@
for (int i = 0; i < sortedRules.length; i++) {
ZenRulePreference pref = (ZenRulePreference) mPreferenceCategory.getPreference(i);
// we are either:
- // 1. updating the enabled state or name of the rule
+ // 1. updating everything about the rule
// 2. rule was added or deleted, so reload the entire list
if (Objects.equals(pref.mId, sortedRules[i].getKey())) {
AutomaticZenRule rule = sortedRules[i].getValue();
diff --git a/src/com/android/settings/notification/ZenRulePreference.java b/src/com/android/settings/notification/ZenRulePreference.java
index 8bc602a..fb6e92a 100644
--- a/src/com/android/settings/notification/ZenRulePreference.java
+++ b/src/com/android/settings/notification/ZenRulePreference.java
@@ -49,7 +49,7 @@
final ZenServiceListing mServiceListing;
final PackageManager mPm;
final MetricsFeatureProvider mMetricsFeatureProvider;
- final AutomaticZenRule mRule;
+ AutomaticZenRule mRule;
CharSequence mName;
private Intent mIntent;
@@ -122,14 +122,14 @@
if (!mRule.getName().equals(rule.getName())) {
mName = rule.getName();
setTitle(mName);
- mRule.setName(mName.toString());
}
if (mRule.isEnabled() != rule.isEnabled()) {
- mRule.setEnabled(rule.isEnabled());
setChecked(mRule.isEnabled());
setSummary(computeRuleSummary(mRule));
}
+
+ mRule = rule;
}
@Override