Merge "Update equals and hashCode methods of NoMan.Policy"

This commit is contained in:
Treehugger Robot
2019-11-18 21:05:15 +00:00
committed by Gerrit Code Review
3 changed files with 17 additions and 11 deletions

View File

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

View File

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

View File

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