Disallow buzz/beep/disturb changes for notifications with locked importance.

If mAppRow.lockedImportance (which comes from the whitelist config_nonBlockableNotificationPackages), don't allow sound, vibration, or override dnd to be changed.

Bug: 38480212
Test: manually verified for now
Change-Id: I04aa7f15f2480472ec6ee487472098e81ab3d99f
This commit is contained in:
Alison Cichowlas
2017-05-31 17:01:24 -04:00
parent 98b67a4e94
commit 9f36db1f4c
2 changed files with 14 additions and 6 deletions

View File

@@ -293,6 +293,8 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
private void setupImportanceToggle() {
mImportanceToggle = (RestrictedSwitchPreference) findPreference(KEY_ALLOW_SOUND);
mImportanceToggle.setDisabledByAdmin(mSuspendedAppsAdmin);
mImportanceToggle.setEnabled(!(mAppRow.lockedImportance
|| mImportanceToggle.isDisabledByAdmin()));
mImportanceToggle.setChecked(mChannel.getImportance() >= IMPORTANCE_DEFAULT
|| mChannel.getImportance() == IMPORTANCE_UNSPECIFIED);
mImportanceToggle.setOnPreferenceChangeListener(
@@ -313,6 +315,7 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
protected void setupPriorityPref(boolean priority) {
mPriority = (RestrictedSwitchPreference) findPreference(KEY_BYPASS_DND);
mPriority.setDisabledByAdmin(mSuspendedAppsAdmin);
mPriority.setEnabled(!(mAppRow.lockedImportance || mPriority.isDisabledByAdmin()));
mPriority.setChecked(priority);
mPriority.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override