Update equals and hashCode methods of NoMan.Policy

Test: atest AudioManagerTest#testPriorityOnlyChannelsCanBypassDnd
Bug: 142395610
Bug: 142643922
Change-Id: I15835f784ba73b40eccf92a0a430905d28647669
This commit is contained in:
Beverly
2019-10-24 13:35:03 -04:00
committed by Beverly Tai
parent cabc32d247
commit 4f8b0224e1
3 changed files with 14 additions and 9 deletions

View File

@@ -1772,7 +1772,7 @@ public class NotificationManager {
@Override @Override
public int hashCode() { public int hashCode() {
return Objects.hash(priorityCategories, priorityCallSenders, priorityMessageSenders, return Objects.hash(priorityCategories, priorityCallSenders, priorityMessageSenders,
suppressedVisualEffects); suppressedVisualEffects, state);
} }
@Override @Override
@@ -1784,10 +1784,10 @@ public class NotificationManager {
&& other.priorityCallSenders == priorityCallSenders && other.priorityCallSenders == priorityCallSenders
&& other.priorityMessageSenders == priorityMessageSenders && other.priorityMessageSenders == priorityMessageSenders
&& suppressedVisualEffectsEqual(suppressedVisualEffects, && suppressedVisualEffectsEqual(suppressedVisualEffects,
other.suppressedVisualEffects); other.suppressedVisualEffects)
&& other.state == this.state;
} }
private boolean suppressedVisualEffectsEqual(int suppressedEffects, private boolean suppressedVisualEffectsEqual(int suppressedEffects,
int otherSuppressedVisualEffects) { int otherSuppressedVisualEffects) {
if (suppressedEffects == otherSuppressedVisualEffects) { if (suppressedEffects == otherSuppressedVisualEffects) {

View File

@@ -3896,8 +3896,7 @@ public class AudioService extends IAudioService.Stub
final boolean muteSystem = (zenPolicy.priorityCategories final boolean muteSystem = (zenPolicy.priorityCategories
& NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM) == 0; & NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM) == 0;
final boolean muteNotificationAndRing = ZenModeConfig final boolean muteNotificationAndRing = ZenModeConfig
.areAllPriorityOnlyRingerSoundsMuted( .areAllPriorityOnlyRingerSoundsMuted(zenPolicy);
mNm.getConsolidatedNotificationPolicy());
return muteAlarms && isAlarm(streamType) return muteAlarms && isAlarm(streamType)
|| muteMedia && isMedia(streamType) || muteMedia && isMedia(streamType)
|| muteSystem && isSystem(streamType) || muteSystem && isSystem(streamType)
@@ -3910,11 +3909,12 @@ public class AudioService extends IAudioService.Stub
/** /**
* Notifications, ringer and system sounds are controlled by the ringer: * Notifications, ringer and system sounds are controlled by the ringer:
* {@link ZenModeHelper.RingerModeDelegate#getRingerModeAffectedStreams(int)} * {@link ZenModeHelper.RingerModeDelegate#getRingerModeAffectedStreams(int)} but can
* also be muted by DND based on the DND mode:
* DND total silence: media and alarms streams can be muted by DND * DND total silence: media and alarms streams can be muted by DND
* DND alarms only: no streams additionally controlled by DND * DND alarms only: no streams additionally controlled by DND
* DND priority only: alarms, media, system streams can be muted by DND based on * DND priority only: alarms, media, system, ringer and notification streams can be muted by
* zenPolicy (this method determines which streams) * DND. The current applied zenPolicy determines which streams will be muted by DND.
* @return true if changed, else false * @return true if changed, else false
*/ */
private boolean updateZenModeAffectedStreams() { private boolean updateZenModeAffectedStreams() {
@@ -3946,6 +3946,11 @@ public class AudioService extends IAudioService.Stub
& NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM) == 0) { & NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM) == 0) {
zenModeAffectedStreams |= 1 << AudioManager.STREAM_SYSTEM; zenModeAffectedStreams |= 1 << AudioManager.STREAM_SYSTEM;
} }
if (ZenModeConfig.areAllPriorityOnlyRingerSoundsMuted(zenPolicy)) {
zenModeAffectedStreams |= 1 << AudioManager.STREAM_NOTIFICATION;
zenModeAffectedStreams |= 1 << AudioManager.STREAM_RING;
}
} }
if (mZenModeAffectedStreams != zenModeAffectedStreams) { if (mZenModeAffectedStreams != zenModeAffectedStreams) {

View File

@@ -99,7 +99,7 @@ public class ZenModeConfigTest extends UiServiceTestCase {
suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_AMBIENT; suppressedVisualEffects |= Policy.SUPPRESSED_EFFECT_AMBIENT;
Policy expectedPolicy = new Policy(priorityCategories, priorityCallSenders, Policy expectedPolicy = new Policy(priorityCategories, priorityCallSenders,
priorityMessageSenders, suppressedVisualEffects); priorityMessageSenders, suppressedVisualEffects, 0);
assertEquals(expectedPolicy, config.toNotificationPolicy(zenPolicy)); assertEquals(expectedPolicy, config.toNotificationPolicy(zenPolicy));
} }