Merge "DO NOT MERGE Fix Notification Settings when unblockable app is blocked." into nyc-mr2-dev

This commit is contained in:
Geoffrey Pitsch
2017-01-10 19:06:00 +00:00
committed by Android (Google) Code Review

View File

@@ -176,10 +176,11 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
}); });
} else { } else {
setVisible(mImportance, false); setVisible(mImportance, false);
if (notBlockable) { // Hide controls that are not settable, unless they are already switched on.
final boolean blocked = (importance == Ranking.IMPORTANCE_NONE || banned);
if (notBlockable && !blocked) {
setVisible(mBlock, false); setVisible(mBlock, false);
} else { } else {
boolean blocked = importance == Ranking.IMPORTANCE_NONE || banned;
mBlock.setChecked(blocked); mBlock.setChecked(blocked);
mBlock.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { mBlock.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override @Override
@@ -193,10 +194,11 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
} }
}); });
} }
if (notSilenceable) { final boolean silenced = (importance == Ranking.IMPORTANCE_LOW);
if (notSilenceable && !silenced) {
setVisible(mSilent, false); setVisible(mSilent, false);
} else { } else {
mSilent.setChecked(importance == Ranking.IMPORTANCE_LOW); mSilent.setChecked(silenced);
mSilent.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { mSilent.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {