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