Fixed checking when re-registering is needed after account modifications

This commit is contained in:
Juha Heinanen
2023-02-26 04:41:39 +02:00
parent f05604fe2a
commit fd25cc0bfd
@@ -60,6 +60,7 @@ class AccountActivity : AppCompatActivity() {
private val mediaNatVals = arrayListOf("STUN", "TURN", "ICE", "-") private val mediaNatVals = arrayListOf("STUN", "TURN", "ICE", "-")
private var save = false private var save = false
private var reRegister = false
private var uaIndex= -1 private var uaIndex= -1
private val scope = CoroutineScope(Job() + Dispatchers.Main) private val scope = CoroutineScope(Job() + Dispatchers.Main)
@@ -414,6 +415,7 @@ class AccountActivity : AppCompatActivity() {
acc.authUser = Api.account_auth_user(acc.accp) acc.authUser = Api.account_auth_user(acc.accp)
Log.d(TAG, "New auth user is ${acc.authUser}") Log.d(TAG, "New auth user is ${acc.authUser}")
save = true save = true
reRegister = true
} else { } else {
Log.e(TAG, "Setting of auth user failed") Log.e(TAG, "Setting of auth user failed")
} }
@@ -486,6 +488,7 @@ class AccountActivity : AppCompatActivity() {
else else
Api.account_set_sipnat(acc.accp, "outbound") Api.account_set_sipnat(acc.accp, "outbound")
save = true save = true
reRegister = true
} }
val newConfiguredRegInt = regInt.text.toString().trim().toInt() val newConfiguredRegInt = regInt.text.toString().trim().toInt()
@@ -496,24 +499,19 @@ class AccountActivity : AppCompatActivity() {
) )
return false return false
} }
val reRegister = (regCheck.isChecked != acc.regint > 0) || val reReg = (regCheck.isChecked != acc.regint > 0) ||
(regCheck.isChecked && newConfiguredRegInt != acc.configuredRegInt) (regCheck.isChecked && newConfiguredRegInt != acc.configuredRegInt)
if (reRegister) { if (reReg) {
if (Api.account_set_regint( if (Api.account_set_regint(acc.accp,
acc.accp,
if (regCheck.isChecked) newConfiguredRegInt else 0 if (regCheck.isChecked) newConfiguredRegInt else 0
) != 0 ) != 0) {
) {
Log.e(TAG, "Setting of regint failed") Log.e(TAG, "Setting of regint failed")
} else { } else {
ua.status = if (regCheck.isChecked)
R.drawable.dot_yellow
else
R.drawable.dot_white
acc.regint = Api.account_regint(acc.accp) acc.regint = Api.account_regint(acc.accp)
acc.configuredRegInt = newConfiguredRegInt acc.configuredRegInt = newConfiguredRegInt
Log.d(TAG, "New regint is ${acc.regint}") Log.d(TAG, "New regint is ${acc.regint}")
save = true save = true
reRegister = true
} }
} else { } else {
if (newConfiguredRegInt != acc.configuredRegInt) { if (newConfiguredRegInt != acc.configuredRegInt) {
@@ -676,6 +674,7 @@ class AccountActivity : AppCompatActivity() {
if (save) { if (save) {
AccountsActivity.saveAccounts() AccountsActivity.saveAccounts()
if (reRegister) { if (reRegister) {
ua.status = R.drawable.dot_yellow
if (acc.regint == 0) if (acc.regint == 0)
Api.ua_unregister(ua.uap) Api.ua_unregister(ua.uap)
else else
@@ -837,6 +836,7 @@ class AccountActivity : AppCompatActivity() {
acc.authPass = Api.account_auth_pass(acc.accp) acc.authPass = Api.account_auth_pass(acc.accp)
MainActivity.aorPasswords.remove(acc.aor) MainActivity.aorPasswords.remove(acc.aor)
save = true save = true
reRegister = true
} else { } else {
Log.e(TAG, "Setting of auth pass failed") Log.e(TAG, "Setting of auth pass failed")
} }