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