Browse Source

Allow simultaneous stream publication and radio in Android UI

master
evgeny 3 days ago
parent
commit
b523282e8e
  1. 6
      tools/chatgui-android/app/src/main/java/com/utun/chat/data/StreamController.kt
  2. 1
      tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt

6
tools/chatgui-android/app/src/main/java/com/utun/chat/data/StreamController.kt

@ -39,8 +39,8 @@ object StreamController {
if (mutable.value?.ongoing == true) { LogManager.addLog("WARN", "stream", "publisher already owned"); return }
val id = nextId()
if (!NativeLib.isReady() || group == 0L || CallController.state.value?.ongoing == true ||
RadioAudioEngine.instance().isActive() || NativeLib.voiceIsActive()) {
LogManager.addLog("WARN", "stream", "start rejected: core/call/radio/voice busy group=$group")
NativeLib.voiceIsActive()) {
LogManager.addLog("WARN", "stream", "start rejected: core/call/voice busy group=$group")
mutable.value = StreamState(id, group, StreamPhase.FAILED, R.string.stream_resources_busy); return
}
capturing = true; mutable.value = StreamState(id, group, StreamPhase.STARTING, pendingConfig = config)
@ -119,7 +119,7 @@ object StreamController {
}
}
/** Звонок/рация/голосовое не отбирают микрофон у foreground-трансляции. */
/** Звонок/голосовое не отбирают микрофон у foreground-трансляции; рация использует общий захват. */
fun blocksCapture(): Boolean {
if (!capturing) return false
LogManager.addLog("WARN", "stream", "microphone/camera owned by stream id=${mutable.value?.id}")

1
tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt

@ -944,7 +944,6 @@ class ChatViewModel : ViewModel() {
val groupId = ch.id.toULongOrNull()?.toLong() ?: return
val wasOnHere = radioChannelId == ch.id
val next = !wasOnHere
if (next && com.utun.chat.data.StreamController.blocksCapture()) return
radioToggleCount++
val caller = Throwable().stackTrace.drop(1).take(8)
.joinToString(" <- ") { "${it.className.substringAfterLast('.')}.${it.methodName}:${it.lineNumber}" }

Loading…
Cancel
Save