From 2a3dcf6a28dfd315bb06d08eb0fb477692c9d36c Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Sat, 18 Jun 2022 15:39:58 +0300 Subject: [PATCH] More register/un-register related fixes and improvements --- .../kotlin/com/tutpro/baresip/BaresipService.kt | 14 +++++++------- .../main/kotlin/com/tutpro/baresip/MainActivity.kt | 3 +-- .../main/kotlin/com/tutpro/baresip/TaskReceiver.kt | 2 ++ 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index 411cce60..7886014f 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -566,6 +566,13 @@ class BaresipService: Service() { for (account_index in uas.indices) { if (uas[account_index].account.aor == aor) { when (ev[0]) { + "registering", "unregistering" -> { + ua.status = R.drawable.dot_yellow + updateStatusNotification() + if (isMainVisible) + registrationUpdate.postValue(System.currentTimeMillis()) + return + } "registered" -> { ua.status = if (Api.account_regint(ua.account.accp) == 0) R.drawable.dot_white @@ -593,13 +600,6 @@ class BaresipService: Service() { } return } - "unregistering" -> { - ua.status = R.drawable.dot_white - updateStatusNotification() - if (isMainVisible) - registrationUpdate.postValue(System.currentTimeMillis()) - return - } "call outgoing" -> { if (call!!.status == "transferring") break diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index cc157744..202df158 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -281,14 +281,13 @@ class MainActivity : AppCompatActivity() { if (ua != null) { val acc = ua.account if (Api.ua_isregistered(ua.uap)) { - acc.regint = 0 Api.account_set_regint(acc.accp, 0) Api.ua_unregister(ua.uap) } else { - acc.regint = REGISTRATION_INTERVAL Api.account_set_regint(acc.accp, REGISTRATION_INTERVAL) Api.ua_register(ua.uap) } + acc.regint = Api.account_regint(acc.accp) AccountsActivity.saveAccounts() } } diff --git a/app/src/main/kotlin/com/tutpro/baresip/TaskReceiver.kt b/app/src/main/kotlin/com/tutpro/baresip/TaskReceiver.kt index 382d5fc8..35818307 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/TaskReceiver.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/TaskReceiver.kt @@ -26,12 +26,14 @@ class TaskReceiver : BroadcastReceiver() { Log.d(TAG, "TaskReceiver: registering $aor") Api.account_set_regint(acc.accp, REGISTRATION_INTERVAL) Api.ua_register(ua.uap) + acc.regint = Api.account_regint(acc.accp) AccountsActivity.saveAccounts() } "com.tutpro.baresip.UNREGISTER" -> { Log.d(TAG, "TaskReceiver: un-registering $aor") Api.account_set_regint(acc.accp,0) Api.ua_unregister(ua.uap) + acc.regint = Api.account_regint(acc.accp) AccountsActivity.saveAccounts() } else -> return