Toggle monitoring over live connection without reconnect
This commit is contained in:
@@ -537,7 +537,7 @@ class MainActivity : Activity(), SvxService.Listener {
|
|||||||
}, 300)
|
}, 300)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Включить/выключить режим мониторинга групп с переподключением. */
|
/** Включить/выключить режим мониторинга групп по живому соединению. */
|
||||||
private fun toggleMonitoring() {
|
private fun toggleMonitoring() {
|
||||||
val enabling = !monitoring
|
val enabling = !monitoring
|
||||||
if (enabling) {
|
if (enabling) {
|
||||||
@@ -549,8 +549,18 @@ class MainActivity : Activity(), SvxService.Listener {
|
|||||||
updateMonitorButton()
|
updateMonitorButton()
|
||||||
updatePttEnabled()
|
updatePttEnabled()
|
||||||
if (connected) {
|
if (connected) {
|
||||||
svc?.disconnect()
|
monitorIdleTask?.let { mainHandler.removeCallbacks(it) }
|
||||||
mainHandler.postDelayed({ connect() }, 500)
|
if (enabling) {
|
||||||
|
// Без переподключения: сервер начнёт присылать уведомления
|
||||||
|
// со всех групп, сами сидим на базовой.
|
||||||
|
svc?.setMonitorTgs(settings.groups)
|
||||||
|
svc?.selectGroup(settings.talkGroup)
|
||||||
|
statusChip.text = getString(R.string.status_monitoring, monitorTgLabel())
|
||||||
|
} else {
|
||||||
|
svc?.selectGroup(settings.talkGroup)
|
||||||
|
svc?.setMonitorTgs(listOf(settings.talkGroup))
|
||||||
|
statusChip.text = getString(R.string.status_connected)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
connect()
|
connect()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user