More register/un-register related fixes and improvements

This commit is contained in:
Juha Heinanen
2022-06-18 15:39:58 +03:00
parent dbd20ffbc8
commit 2a3dcf6a28
3 changed files with 10 additions and 9 deletions

View File

@ -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

View File

@ -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()
}
}

View File

@ -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