Fix incorrect notification sound when channel is set to silent.

Fixes #12317
fork-5.53.8
Cody Henthorne 2022-07-08 15:03:27 -04:00 zatwierdzone przez Alex Hart
rodzic e80df64698
commit 748dbc2ba5
3 zmienionych plików z 5 dodań i 3 usunięć

Wyświetl plik

@ -25,7 +25,8 @@ class CustomNotificationsSettingsRepository(context: Context) {
val recipient = Recipient.resolved(recipientId) val recipient = Recipient.resolved(recipientId)
val database = SignalDatabase.recipients val database = SignalDatabase.recipients
if (recipient.notificationChannel != null) { if (recipient.notificationChannel != null) {
database.setMessageRingtone(recipient.id, NotificationChannels.getMessageRingtone(context, recipient)) val ringtoneUri: Uri? = NotificationChannels.getMessageRingtone(context, recipient)
database.setMessageRingtone(recipient.id, if (ringtoneUri == Uri.EMPTY) null else ringtoneUri)
database.setMessageVibrate(recipient.id, RecipientDatabase.VibrateState.fromBoolean(NotificationChannels.getMessageVibrate(context, recipient))) database.setMessageVibrate(recipient.id, RecipientDatabase.VibrateState.fromBoolean(NotificationChannels.getMessageVibrate(context, recipient)))
} }
} }

Wyświetl plik

@ -296,7 +296,8 @@ public class NotificationChannels {
return null; return null;
} }
return channel.getSound(); Uri channelSound = channel.getSound();
return channelSound != null ? channelSound : Uri.EMPTY;
} }
/** /**

Wyświetl plik

@ -274,7 +274,7 @@ object NotificationFactory {
recipient.messageRingtone ?: SignalStore.settings().messageNotificationSound recipient.messageRingtone ?: SignalStore.settings().messageNotificationSound
} }
if (uri.toString().isEmpty()) { if (uri == Uri.EMPTY || uri.toString().isEmpty()) {
Log.d(TAG, "ringtone uri is empty") Log.d(TAG, "ringtone uri is empty")
return return
} }