Toggle monitoring over live connection without reconnect
This commit is contained in:
@@ -537,7 +537,7 @@ class MainActivity : Activity(), SvxService.Listener {
|
||||
}, 300)
|
||||
}
|
||||
|
||||
/** Включить/выключить режим мониторинга групп с переподключением. */
|
||||
/** Включить/выключить режим мониторинга групп по живому соединению. */
|
||||
private fun toggleMonitoring() {
|
||||
val enabling = !monitoring
|
||||
if (enabling) {
|
||||
@@ -549,8 +549,18 @@ class MainActivity : Activity(), SvxService.Listener {
|
||||
updateMonitorButton()
|
||||
updatePttEnabled()
|
||||
if (connected) {
|
||||
svc?.disconnect()
|
||||
mainHandler.postDelayed({ connect() }, 500)
|
||||
monitorIdleTask?.let { mainHandler.removeCallbacks(it) }
|
||||
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 {
|
||||
connect()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user