Fix talker label in normal mode; keep base group during own TX
This commit is contained in:
@@ -396,17 +396,24 @@ class MainActivity : Activity(), SvxService.Listener {
|
||||
|
||||
override fun onTalkerStart(tg: Long, callsign: String) {
|
||||
mainHandler.post {
|
||||
Log.d("SVXRemote", "talkerStart tg=$tg cs=$callsign monitoring=$monitoring ptt=${pttButton.isPressed2}")
|
||||
talkLog.addLast(TalkLogEntry(System.currentTimeMillis(), callsign, tg))
|
||||
while (talkLog.size > TALK_LOG_MAX) {
|
||||
talkLog.removeFirst()
|
||||
}
|
||||
// Мониторинг: переключаемся на группу, где началась передача,
|
||||
// и даём ей 15 секунд; после тишины вернёмся ко всем группам.
|
||||
// Во время своей передачи группу не меняем.
|
||||
if (monitoring && !pttButton.isPressed2) {
|
||||
svc?.selectGroup(tg)
|
||||
if (monitoring) {
|
||||
// Переключаемся на группу, где началась передача, и даём ей
|
||||
// 15 секунд; после тишины вернёмся ко всем группам.
|
||||
// Во время своей передачи группу не меняем.
|
||||
if (!pttButton.isPressed2) {
|
||||
svc?.selectGroup(tg)
|
||||
lblTalkerTitle.text = getString(R.string.talker_mon, callsign, tg)
|
||||
lblTalkerTitle.setTextColor(getColor(R.color.text_secondary))
|
||||
lblTalker.text = callsign
|
||||
}
|
||||
resetMonitorIdle()
|
||||
lblTalkerTitle.text = getString(R.string.talker_mon, callsign, tg)
|
||||
} else {
|
||||
lblTalkerTitle.text = getString(R.string.talker_now, callsign)
|
||||
lblTalkerTitle.setTextColor(getColor(R.color.text_secondary))
|
||||
lblTalker.text = callsign
|
||||
}
|
||||
@@ -488,7 +495,8 @@ class MainActivity : Activity(), SvxService.Listener {
|
||||
private fun resetMonitorIdle() {
|
||||
monitorIdleTask?.let { mainHandler.removeCallbacks(it) }
|
||||
val task = Runnable {
|
||||
if (monitoring && connected) {
|
||||
// Во время своей передачи на базу не возвращаемся
|
||||
if (monitoring && connected && !pttButton.isPressed2) {
|
||||
svc?.selectGroup(settings.talkGroup)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user