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