Respect user customization for implicit Zen rules

For both setInterruptionFilter() and setNotificationPolicy(), we ignore the app-supplied value only if the user has customized that specific part of the rule (interruption filter and ZenPolicy respectively). This is to make the API behavior a bit less surprising. (In particular, rules with a customized interruption filter may not exist, depending on how we implement MODES_UI).

Note that this blocking is more localized than the one for updateAutomaticZenRule() (where ~all updates are blocked for a rule customized in any way).

Fixes: 319242222
Test: atest ZenModeHelperTest
Change-Id: Ie6ab94c73f4675b2432b0b130c2ea54616035a5f
4 files changed