Merge "Prevent users from blocking system notifications." into nyc-dev

This commit is contained in:
TreeHugger Robot
2016-06-14 22:25:25 +00:00
committed by Android (Google) Code Review

View File

@@ -175,32 +175,36 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
}); });
} else { } else {
setVisible(mImportance, false); setVisible(mImportance, false);
boolean blocked = importance == Ranking.IMPORTANCE_NONE || banned; if (isSystemApp) {
mBlock.setChecked(blocked); setVisible(mBlock, false);
mBlock.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { } else {
@Override boolean blocked = importance == Ranking.IMPORTANCE_NONE || banned;
public boolean onPreferenceChange(Preference preference, Object newValue) { mBlock.setChecked(blocked);
final boolean blocked = (Boolean) newValue; mBlock.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
final int importance = @Override
blocked ? Ranking.IMPORTANCE_NONE :Ranking.IMPORTANCE_UNSPECIFIED; public boolean onPreferenceChange(Preference preference, Object newValue) {
mBackend.setImportance(mPkgInfo.packageName, mUid, importance); final boolean blocked = (Boolean) newValue;
updateDependents(importance); final int importance =
return true; blocked ? Ranking.IMPORTANCE_NONE : Ranking.IMPORTANCE_UNSPECIFIED;
} mBackend.setImportance(mPkgInfo.packageName, mUid, importance);
}); updateDependents(importance);
return true;
}
});
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) {
final boolean silenced = (Boolean) newValue; final boolean silenced = (Boolean) newValue;
final int importance = final int importance =
silenced ? Ranking.IMPORTANCE_LOW : Ranking.IMPORTANCE_UNSPECIFIED; silenced ? Ranking.IMPORTANCE_LOW : Ranking.IMPORTANCE_UNSPECIFIED;
mBackend.setImportance(mPkgInfo.packageName, mUid, importance); mBackend.setImportance(mPkgInfo.packageName, mUid, importance);
updateDependents(importance); updateDependents(importance);
return true; return true;
} }
}); });
updateDependents(banned ? Ranking.IMPORTANCE_NONE : importance); updateDependents(banned ? Ranking.IMPORTANCE_NONE : importance);
}
} }
} }