added account_[set_]sipnat API functions

added ua_update_account API function
go directly to settings of new account
fixed some main activity layout bugs
keep main activity interactive when screen is locked
removed aor from UserAgent class
added register method to UserAgent class
added foregrounded and isDeviceLocked util functions
updated libbaresip distribution
This commit is contained in:
Juha Heinanen
2018-06-03 18:08:31 +03:00
parent d7e624bc40
commit d3c7ce29ca
10 changed files with 204 additions and 102 deletions
@@ -5,16 +5,37 @@ import android.util.Log
class UserAgent (val uap: String) {
val account = Account(ua_account(uap))
val aor = ua_aor(uap)
fun register() {
if (account.regint > 0) {
Log.d("Baresip", "Registering ${account.aor} UA ${uap}")
val accp = ua_account(uap)
val reg_int = account_regint(accp)
Log.d("Baresip", "reg_int is $reg_int")
if (ua_register(uap) != 0)
Log.e("Baresip", "Registering failed")
}
}
fun destroy() {
ua_destroy(uap)
}
companion object {
external fun ua_alloc(uri: String): Int
external fun ua_alloc(uri: String): String
external fun ua_update_account(ua: String): Int
external fun ua_destroy(ua: String)
external fun ua_register(ua: String): Int
external fun ua_isregistered(ua: String): Boolean
external fun ua_unregister(ua: String)
fun uaAlloc(uri: String): UserAgent? {
val uap = ua_alloc(uri)
if (uap != "") return UserAgent(uap)
return null
}
fun find(uas: ArrayList<UserAgent>, uap: String): UserAgent? {
for (ua in uas) {
if (ua.uap == uap) return ua
@@ -24,7 +45,7 @@ class UserAgent (val uap: String) {
fun findAorIndex(uas: ArrayList<UserAgent>, aor: String): Int? {
for (i in uas.indices) {
if (uas[i].aor == aor) return i
if (uas[i].account.aor == aor) return i
}
return null
}
@@ -32,7 +53,7 @@ class UserAgent (val uap: String) {
fun register(uas: ArrayList<UserAgent>) {
for (ua in uas) {
if (ua_register(ua.uap) != 0)
Log.e("Baresip", "Failed to register ${ua.aor}")
Log.e("Baresip", "Failed to register ${ua.account.aor}")
}
}
}