mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Ask for record audio permission when trying to record a voice message if not granted yet
This commit is contained in:
parent
26b3fe67a3
commit
73229f51a1
2 changed files with 25 additions and 2 deletions
|
|
@ -19,6 +19,7 @@
|
|||
*/
|
||||
package org.linphone.ui.main.chat.fragment
|
||||
|
||||
import android.Manifest
|
||||
import android.app.Dialog
|
||||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
|
|
@ -153,6 +154,17 @@ class ConversationFragment : GenericFragment() {
|
|||
}
|
||||
}
|
||||
|
||||
private val requestPermissionLauncher = registerForActivityResult(
|
||||
ActivityResultContracts.RequestPermission()
|
||||
) { isGranted ->
|
||||
if (isGranted) {
|
||||
Log.i("$TAG RECORD_AUDIO permission has been granted, starting voice message recording")
|
||||
sendMessageViewModel.startVoiceMessageRecording()
|
||||
} else {
|
||||
Log.e("$TAG RECORD_AUDIO permission has been denied")
|
||||
}
|
||||
}
|
||||
|
||||
private var bottomSheetDeliveryModel: ChatMessageDeliveryModel? = null
|
||||
|
||||
private var bottomSheetReactionsModel: ChatMessageReactionsModel? = null
|
||||
|
|
@ -325,6 +337,13 @@ class ConversationFragment : GenericFragment() {
|
|||
}
|
||||
}
|
||||
|
||||
sendMessageViewModel.askRecordAudioPermissionEvent.observe(viewLifecycleOwner) {
|
||||
it.consume {
|
||||
Log.w("$TAG Asking for RECORD_AUDIO permission")
|
||||
requestPermissionLauncher.launch(Manifest.permission.RECORD_AUDIO)
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.searchFilter.observe(viewLifecycleOwner) { filter ->
|
||||
viewModel.applyFilter(filter.trim())
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,6 +108,10 @@ class SendMessageInConversationViewModel @UiThread constructor() : ViewModel() {
|
|||
MutableLiveData<Event<String>>()
|
||||
}
|
||||
|
||||
val askRecordAudioPermissionEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
}
|
||||
|
||||
lateinit var chatRoom: ChatRoom
|
||||
|
||||
private var chatMessageToReplyTo: ChatMessage? = null
|
||||
|
|
@ -343,9 +347,9 @@ class SendMessageInConversationViewModel @UiThread constructor() : ViewModel() {
|
|||
) != PackageManager.PERMISSION_GRANTED
|
||||
) {
|
||||
Log.w(
|
||||
"$TAG Can't start voice message recording, AUDIO_RECORD permission wasn't granted yet"
|
||||
"$TAG Can't start voice message recording, RECORD_AUDIO permission wasn't granted yet"
|
||||
)
|
||||
// TODO: request record audio permission
|
||||
askRecordAudioPermissionEvent.postValue(Event(true))
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue