diff options
4 files changed, 11 insertions, 4 deletions
diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java index 2efd8a29..6d99e358 100644 --- a/src/main/java/eu/siacs/conversations/entities/Conversation.java +++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java @@ -519,6 +519,13 @@ public class Conversation extends AbstractEntity implements Blockable { return getContact().getOtrFingerprints().contains(getOtrFingerprint()); } + /** + * short for is Private and Non-anonymous + */ + public boolean isPnNA() { + return mode == MODE_SINGLE || (getMucOptions().membersOnly() && getMucOptions().nonanonymous()); + } + public synchronized MucOptions getMucOptions() { if (this.mucOptions == null) { this.mucOptions = new MucOptions(this); diff --git a/src/main/java/eu/siacs/conversations/services/NotificationService.java b/src/main/java/eu/siacs/conversations/services/NotificationService.java index 956f704e..47f0347f 100644 --- a/src/main/java/eu/siacs/conversations/services/NotificationService.java +++ b/src/main/java/eu/siacs/conversations/services/NotificationService.java @@ -64,7 +64,7 @@ public class NotificationService { return (message.getStatus() == Message.STATUS_RECEIVED) && notificationsEnabled() && !message.getConversation().isMuted() - && (message.getConversation().getMode() == Conversation.MODE_SINGLE + && (message.getConversation().isPnNA() || conferenceNotificationsEnabled() || wasHighlightedOrPrivate(message) ); diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index cc514ef3..1adb8235 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -108,8 +108,8 @@ <string name="pref_vibrate_summary">Also vibrate when a new message arrives</string> <string name="pref_sound">Sound</string> <string name="pref_sound_summary">Play ringtone with notification</string> - <string name="pref_conference_notifications">Conference notifications</string> - <string name="pref_conference_notifications_summary">Always notify when a new conference message arrives instead of only when highlighted</string> + <string name="pref_conference_notifications">Notifications in Public Conferences</string> + <string name="pref_conference_notifications_summary">Always notify when a message arrives in a public conference instead of only when highlighted</string> <string name="pref_notification_grace_period">Notification grace period</string> <string name="pref_notification_grace_period_summary">Disable notifications for a short time after a carbon copy was received</string> <string name="pref_advanced_options">Advanced Options</string> diff --git a/src/main/res/xml/preferences.xml b/src/main/res/xml/preferences.xml index 5b7d6904..13598cb6 100644 --- a/src/main/res/xml/preferences.xml +++ b/src/main/res/xml/preferences.xml @@ -83,7 +83,7 @@ android:title="@string/pref_sound" /> <CheckBoxPreference - android:defaultValue="true" + android:defaultValue="false" android:dependency="show_notification" android:key="always_notify_in_conference" android:summary="@string/pref_conference_notifications_summary" |