diff --git a/app/src/main/java/org/linphone/activities/main/chat/data/ChatMessageContentData.kt b/app/src/main/java/org/linphone/activities/main/chat/data/ChatMessageContentData.kt
index a5447207e..487f3cd9e 100644
--- a/app/src/main/java/org/linphone/activities/main/chat/data/ChatMessageContentData.kt
+++ b/app/src/main/java/org/linphone/activities/main/chat/data/ChatMessageContentData.kt
@@ -24,6 +24,7 @@ import android.text.Spannable
import android.text.SpannableString
import android.text.Spanned
import android.text.style.UnderlineSpan
+import android.widget.Toast
import androidx.lifecycle.MutableLiveData
import java.text.SimpleDateFormat
import java.util.*
@@ -292,6 +293,11 @@ class ChatMessageContentData(
}
}
}
+ Log.i("[Voice Recording] Found speaker sound card [$speakerCard] and earpiece sound card [$earpieceCard]")
+
+ if (AppUtils.isMediaVolumeLow(coreContext.context)) {
+ Toast.makeText(coreContext.context, R.string.chat_message_voice_recording_playback_low_volume, Toast.LENGTH_LONG).show()
+ }
val localPlayer = coreContext.core.createLocalPlayer(speakerCard ?: earpieceCard, null, null)
if (localPlayer != null) {
diff --git a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt
index e50088784..8282f374b 100644
--- a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt
+++ b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt
@@ -19,6 +19,7 @@
*/
package org.linphone.activities.main.chat.viewmodels
+import android.widget.Toast
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
@@ -32,10 +33,12 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.LinphoneApplication.Companion.corePreferences
+import org.linphone.R
import org.linphone.activities.main.chat.data.ChatMessageAttachmentData
import org.linphone.activities.main.chat.data.ChatMessageData
import org.linphone.core.*
import org.linphone.core.tools.Log
+import org.linphone.utils.AppUtils
import org.linphone.utils.Event
import org.linphone.utils.FileUtils
import org.linphone.utils.PermissionHelper
@@ -381,6 +384,11 @@ class ChatMessageSendingViewModel(private val chatRoom: ChatRoom) : ViewModel()
}
}
}
+ Log.i("[Chat Message Sending] Found speaker sound card [$speakerCard] and earpiece sound card [$earpieceCard]")
+
+ if (AppUtils.isMediaVolumeLow(coreContext.context)) {
+ Toast.makeText(coreContext.context, R.string.chat_message_voice_recording_playback_low_volume, Toast.LENGTH_LONG).show()
+ }
val localPlayer = coreContext.core.createLocalPlayer(speakerCard ?: earpieceCard, null, null)
if (localPlayer != null) {
diff --git a/app/src/main/java/org/linphone/utils/AppUtils.kt b/app/src/main/java/org/linphone/utils/AppUtils.kt
index 0875e5139..852771a1f 100644
--- a/app/src/main/java/org/linphone/utils/AppUtils.kt
+++ b/app/src/main/java/org/linphone/utils/AppUtils.kt
@@ -23,6 +23,7 @@ import android.app.Activity
import android.content.ActivityNotFoundException
import android.content.Context
import android.content.Intent
+import android.media.AudioManager
import android.os.Bundle
import android.text.format.Formatter.formatShortFileSize
import android.util.TypedValue
@@ -131,5 +132,13 @@ class AppUtils {
return bundle
}
+
+ fun isMediaVolumeLow(context: Context): Boolean {
+ val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
+ val currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
+ val maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
+ Log.i("[Media Volume] Current value is $currentVolume, max value is $maxVolume")
+ return currentVolume <= maxVolume * 0.5
+ }
}
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9dc80758b..dd9796b55 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -219,6 +219,7 @@
Reply
Message
Hold button to record voice message
+ Your media volume is low, you may want to increase it
No recordings