From 4049b997ee7e985d9f70d7c5adcf12b80e609fa6 Mon Sep 17 00:00:00 2001 From: Christian Ascheberg Date: Mon, 18 Jan 2016 13:39:13 +0100 Subject: [PATCH] fix silent in-thread notification Fixes #5090 Closes #5091 // FREEBIE --- .../notifications/MessageNotifier.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/org/thoughtcrime/securesms/notifications/MessageNotifier.java b/src/org/thoughtcrime/securesms/notifications/MessageNotifier.java index 9d4aa67e5..81d1f6071 100644 --- a/src/org/thoughtcrime/securesms/notifications/MessageNotifier.java +++ b/src/org/thoughtcrime/securesms/notifications/MessageNotifier.java @@ -25,7 +25,6 @@ import android.content.Intent; import android.database.Cursor; import android.media.AudioAttributes; import android.media.AudioManager; -import android.media.MediaPlayer; import android.media.Ringtone; import android.media.RingtoneManager; import android.net.Uri; @@ -58,7 +57,6 @@ import org.thoughtcrime.securesms.util.SpanUtil; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.whispersystems.textsecure.api.messages.TextSecureEnvelope; -import java.io.IOException; import java.util.List; import java.util.ListIterator; import java.util.concurrent.TimeUnit; @@ -290,18 +288,28 @@ public class MessageNotifier { if (ringtone == null) { Log.w(TAG, "ringtone preference was null."); return; - } else { - uri = Uri.parse(ringtone); + } + + uri = Uri.parse(ringtone); + + if (uri == null) { + Log.w(TAG, "couldn't parse ringtone uri " + ringtone); + return; } } - if (uri == null) { - Log.w(TAG, "couldn't parse ringtone uri " + TextSecurePreferences.getNotificationRingtone(context)); + if (uri.toString().isEmpty()) { + Log.d(TAG, "ringtone uri is empty"); return; } Ringtone ringtone = RingtoneManager.getRingtone(context, uri); + if (ringtone == null) { + Log.w(TAG, "ringtone is null"); + return; + } + if (Build.VERSION.SDK_INT >= 21) { ringtone.setAudioAttributes(new AudioAttributes.Builder().setContentType(AudioAttributes.CONTENT_TYPE_UNKNOWN) .setUsage(AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_INSTANT)