Improved account screen implementation
This commit is contained in:
@@ -198,49 +198,27 @@ private val alertTitle = mutableStateOf("")
|
|||||||
private val alertMessage = mutableStateOf("")
|
private val alertMessage = mutableStateOf("")
|
||||||
private val showAlert = mutableStateOf(false)
|
private val showAlert = mutableStateOf(false)
|
||||||
|
|
||||||
private var oldNickname = ""
|
|
||||||
private var newNickname = ""
|
private var newNickname = ""
|
||||||
private var oldDisplayname = ""
|
|
||||||
private var newDisplayname = ""
|
private var newDisplayname = ""
|
||||||
private var oldAuthUser = ""
|
|
||||||
private var newAuthUser = ""
|
private var newAuthUser = ""
|
||||||
private var oldAuthPass = ""
|
|
||||||
private var newAuthPass = ""
|
private var newAuthPass = ""
|
||||||
private val oldOutbound1 = mutableStateOf("")
|
|
||||||
private val oldOutbound2 = mutableStateOf("")
|
|
||||||
private var newOutbound1 = ""
|
private var newOutbound1 = ""
|
||||||
private var newOutbound2 = ""
|
private var newOutbound2 = ""
|
||||||
private var oldRegister = false
|
|
||||||
private var newRegister = false
|
private var newRegister = false
|
||||||
private var oldRegInt = ""
|
|
||||||
private var newRegInt = ""
|
private var newRegInt = ""
|
||||||
private var oldMediaEnc = ""
|
|
||||||
private var newMediaEnc = ""
|
private var newMediaEnc = ""
|
||||||
private var oldMediaNat = ""
|
|
||||||
private var newMediaNat = ""
|
private var newMediaNat = ""
|
||||||
private var oldStunServer = ""
|
|
||||||
private var newStunServer = ""
|
private var newStunServer = ""
|
||||||
private var oldStunUser = ""
|
|
||||||
private var newStunUser = ""
|
private var newStunUser = ""
|
||||||
private var oldStunPass = ""
|
|
||||||
private var newStunPass = ""
|
private var newStunPass = ""
|
||||||
private var oldRtcpMux = false
|
|
||||||
private var newRtcpMux = false
|
private var newRtcpMux = false
|
||||||
private var old100Rel = false
|
|
||||||
private var new100Rel = false
|
private var new100Rel = false
|
||||||
private var oldDtmfMode = 0
|
|
||||||
private var newDtmfMode = 0
|
private var newDtmfMode = 0
|
||||||
private var oldAnswerMode = 0
|
|
||||||
private var newAnswerMode = 0
|
private var newAnswerMode = 0
|
||||||
private var oldAutoRedirect = false
|
|
||||||
private var newAutoRedirect = false
|
private var newAutoRedirect = false
|
||||||
private var oldVmUri = ""
|
|
||||||
private var newVmUri = ""
|
private var newVmUri = ""
|
||||||
private var oldCountryCode = ""
|
|
||||||
private var newCountryCode = ""
|
private var newCountryCode = ""
|
||||||
private var oldTelProvider = ""
|
|
||||||
private var newTelProvider = ""
|
private var newTelProvider = ""
|
||||||
private var oldDefaultAccount = false
|
|
||||||
private var newDefaultAccount = false
|
private var newDefaultAccount = false
|
||||||
private var newNumericKeypad = false
|
private var newNumericKeypad = false
|
||||||
|
|
||||||
@@ -256,138 +234,11 @@ private fun AccountContent(
|
|||||||
val acc = ua.account
|
val acc = ua.account
|
||||||
val aor = acc.aor
|
val aor = acc.aor
|
||||||
|
|
||||||
var mediaNatState by remember { mutableStateOf(oldMediaNat) }
|
var mediaNatState by remember { mutableStateOf(acc.mediaNat) }
|
||||||
val showStun by remember { derivedStateOf { mediaNatState != "" } }
|
val showStun by remember { derivedStateOf { mediaNatState != "" } }
|
||||||
|
|
||||||
LaunchedEffect(acc) {
|
@Composable
|
||||||
if (acc.outbound.isNotEmpty()) {
|
fun AoR() {
|
||||||
oldOutbound1.value = acc.outbound[0]
|
|
||||||
newOutbound1 = oldOutbound1.value
|
|
||||||
if (acc.outbound.size > 1) {
|
|
||||||
oldOutbound2.value = acc.outbound[1]
|
|
||||||
newOutbound2 = oldOutbound2.value
|
|
||||||
} else {
|
|
||||||
oldOutbound2.value = ""
|
|
||||||
newOutbound2 = ""
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
oldOutbound1.value = ""
|
|
||||||
newOutbound1 = ""
|
|
||||||
oldOutbound2.value = ""
|
|
||||||
newOutbound2 = ""
|
|
||||||
}
|
|
||||||
oldMediaNat = acc.mediaNat
|
|
||||||
newMediaNat = oldMediaNat
|
|
||||||
mediaNatState = oldMediaNat
|
|
||||||
}
|
|
||||||
|
|
||||||
if (showAlert.value) {
|
|
||||||
AlertDialog(
|
|
||||||
showDialog = showAlert,
|
|
||||||
title = alertTitle.value,
|
|
||||||
message = alertMessage.value,
|
|
||||||
positiveButtonText = stringResource(R.string.ok),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
oldNickname = acc.nickName.value
|
|
||||||
newNickname = oldNickname
|
|
||||||
oldDisplayname = acc.displayName
|
|
||||||
newDisplayname = oldDisplayname
|
|
||||||
oldAuthUser = acc.authUser
|
|
||||||
newAuthUser = oldAuthUser
|
|
||||||
if (BaresipService.aorPasswords[aor] == null && acc.authPass != NO_AUTH_PASS) {
|
|
||||||
oldAuthPass = acc.authPass
|
|
||||||
newAuthPass = oldAuthPass
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
oldAuthPass = ""
|
|
||||||
newAuthPass = ""
|
|
||||||
}
|
|
||||||
oldRegister = acc.regint > 0
|
|
||||||
newRegister = oldRegister
|
|
||||||
oldRegInt = acc.configuredRegInt.toString()
|
|
||||||
newRegInt = oldRegInt
|
|
||||||
oldMediaEnc = acc.mediaEnc
|
|
||||||
newMediaEnc = oldMediaEnc
|
|
||||||
oldStunServer = acc.stunServer
|
|
||||||
newStunServer = oldStunServer
|
|
||||||
oldStunUser = acc.stunUser
|
|
||||||
newStunUser = oldStunUser
|
|
||||||
oldStunPass = acc.stunPass
|
|
||||||
newStunPass = oldStunPass
|
|
||||||
oldRtcpMux = acc.rtcpMux
|
|
||||||
newRtcpMux = oldRtcpMux
|
|
||||||
old100Rel = acc.rel100Mode == Api.REL100_ENABLED
|
|
||||||
new100Rel = old100Rel
|
|
||||||
oldDtmfMode = acc.dtmfMode
|
|
||||||
newDtmfMode = oldDtmfMode
|
|
||||||
oldAnswerMode = acc.answerMode
|
|
||||||
newAnswerMode = oldAnswerMode
|
|
||||||
oldAutoRedirect = acc.autoRedirect
|
|
||||||
newAutoRedirect = oldAutoRedirect
|
|
||||||
oldVmUri = acc.vmUri
|
|
||||||
newVmUri = oldVmUri
|
|
||||||
oldCountryCode = acc.countryCode
|
|
||||||
newCountryCode = oldCountryCode
|
|
||||||
oldTelProvider = acc.telProvider
|
|
||||||
newTelProvider = oldTelProvider
|
|
||||||
newNumericKeypad = acc.numericKeypad
|
|
||||||
oldDefaultAccount = UserAgent.findAorIndex(aor)!! == 0
|
|
||||||
newDefaultAccount = oldDefaultAccount
|
|
||||||
|
|
||||||
keyboardController = LocalSoftwareKeyboardController.current
|
|
||||||
|
|
||||||
val scrollState = rememberScrollState()
|
|
||||||
|
|
||||||
Column(
|
|
||||||
modifier = Modifier
|
|
||||||
.fillMaxWidth()
|
|
||||||
.padding(contentPadding)
|
|
||||||
.padding(start = 16.dp, end = 4.dp, top = 8.dp, bottom = 16.dp)
|
|
||||||
.verticalScrollbar(scrollState)
|
|
||||||
.verticalScroll(state = scrollState),
|
|
||||||
verticalArrangement = Arrangement.spacedBy(8.dp),
|
|
||||||
) {
|
|
||||||
AoR(acc)
|
|
||||||
Nickname()
|
|
||||||
DisplayName()
|
|
||||||
AuthUser()
|
|
||||||
AuthPass()
|
|
||||||
if (showPasswordDialog.value)
|
|
||||||
AskPassword(ctx, navController, ua)
|
|
||||||
Outbound()
|
|
||||||
Register()
|
|
||||||
RegInt()
|
|
||||||
AudioCodecs(navController, aor)
|
|
||||||
MediaEnc()
|
|
||||||
MediaNat(
|
|
||||||
currentMediaNat = mediaNatState,
|
|
||||||
onMediaNatSelected = { selectedMediaNat ->
|
|
||||||
mediaNatState = selectedMediaNat
|
|
||||||
newMediaNat = selectedMediaNat
|
|
||||||
}
|
|
||||||
)
|
|
||||||
if (showStun) {
|
|
||||||
StunServer()
|
|
||||||
StunUser()
|
|
||||||
StunPass()
|
|
||||||
}
|
|
||||||
RtcpMux()
|
|
||||||
Rel100()
|
|
||||||
Dtmf()
|
|
||||||
Answer()
|
|
||||||
Redirect()
|
|
||||||
Voicemail()
|
|
||||||
CountryCode()
|
|
||||||
TelProvider()
|
|
||||||
NumericKeypad(acc)
|
|
||||||
DefaultAccount()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Composable
|
|
||||||
private fun AoR(acc: Account) {
|
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -410,10 +261,10 @@ private fun AoR(acc: Account) {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun Nickname() {
|
fun Nickname() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -422,7 +273,8 @@ private fun Nickname() {
|
|||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
var nickName by remember { mutableStateOf(oldNickname) }
|
var nickName by remember { mutableStateOf(acc.nickName.value) }
|
||||||
|
newNickname = nickName
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = nickName,
|
value = nickName,
|
||||||
placeholder = { Text(stringResource(R.string.nickname)) },
|
placeholder = { Text(stringResource(R.string.nickname)) },
|
||||||
@@ -445,10 +297,10 @@ private fun Nickname() {
|
|||||||
keyboardType = KeyboardType.Text),
|
keyboardType = KeyboardType.Text),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun DisplayName() {
|
fun DisplayName() {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
@@ -457,7 +309,8 @@ private fun DisplayName() {
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
var displayName by remember { mutableStateOf(oldDisplayname) }
|
var displayName by remember { mutableStateOf(acc.displayName) }
|
||||||
|
newDisplayname = displayName
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = displayName,
|
value = displayName,
|
||||||
placeholder = { Text(stringResource(R.string.display_name)) },
|
placeholder = { Text(stringResource(R.string.display_name)) },
|
||||||
@@ -480,10 +333,10 @@ private fun DisplayName() {
|
|||||||
keyboardType = KeyboardType.Text),
|
keyboardType = KeyboardType.Text),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun AuthUser() {
|
fun AuthUser() {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
@@ -492,7 +345,8 @@ private fun AuthUser() {
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
var authUser by remember { mutableStateOf(oldAuthUser) }
|
var authUser by remember { mutableStateOf(acc.authUser) }
|
||||||
|
newAuthUser = authUser
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = authUser,
|
value = authUser,
|
||||||
placeholder = { Text(stringResource(R.string.authentication_username)) },
|
placeholder = { Text(stringResource(R.string.authentication_username)) },
|
||||||
@@ -513,10 +367,10 @@ private fun AuthUser() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun AuthPass() {
|
fun AuthPass() {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
val showPassword = remember { mutableStateOf(false) }
|
val showPassword = remember { mutableStateOf(false) }
|
||||||
Row(
|
Row(
|
||||||
@@ -526,7 +380,13 @@ private fun AuthPass() {
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
var authPass by remember { mutableStateOf(oldAuthPass) }
|
var authPass by remember { mutableStateOf(
|
||||||
|
if (BaresipService.aorPasswords[acc.aor] == null && acc.authPass != NO_AUTH_PASS)
|
||||||
|
acc.authPass
|
||||||
|
else
|
||||||
|
""
|
||||||
|
) }
|
||||||
|
newAuthPass = authPass
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = authPass,
|
value = authPass,
|
||||||
placeholder = { Text(stringResource(R.string.authentication_password)) },
|
placeholder = { Text(stringResource(R.string.authentication_password)) },
|
||||||
@@ -567,10 +427,10 @@ private fun AuthPass() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun AskPassword(ctx: Context, navController: NavController, ua: UserAgent) {
|
fun AskPassword(ctx: Context, navController: NavController, ua: UserAgent) {
|
||||||
CustomElements.PasswordDialog(
|
CustomElements.PasswordDialog(
|
||||||
ctx = ctx,
|
ctx = ctx,
|
||||||
showPasswordDialog = showPasswordDialog,
|
showPasswordDialog = showPasswordDialog,
|
||||||
@@ -591,10 +451,10 @@ private fun AskPassword(ctx: Context, navController: NavController, ua: UserAgen
|
|||||||
navController.popBackStack()
|
navController.popBackStack()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun Outbound() {
|
fun Outbound() {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
Text(text = stringResource(R.string.outbound_proxies),
|
Text(text = stringResource(R.string.outbound_proxies),
|
||||||
color = LocalCustomColors.current.itemText,
|
color = LocalCustomColors.current.itemText,
|
||||||
@@ -614,13 +474,16 @@ private fun Outbound() {
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
var outbound1 by remember { mutableStateOf(oldOutbound1) }
|
var outbound1 by remember { mutableStateOf(
|
||||||
|
if (acc.outbound.isNotEmpty()) acc.outbound[0] else "")
|
||||||
|
}
|
||||||
|
newOutbound1 = outbound1
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = outbound1.value,
|
value = outbound1,
|
||||||
placeholder = { Text(stringResource(R.string.sip_uri_of_proxy_server)) },
|
placeholder = { Text(stringResource(R.string.sip_uri_of_proxy_server)) },
|
||||||
onValueChange = {
|
onValueChange = {
|
||||||
outbound1.value = it
|
outbound1= it
|
||||||
newOutbound1 = outbound1.value
|
newOutbound1 = outbound1
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
singleLine = true,
|
singleLine = true,
|
||||||
@@ -637,13 +500,16 @@ private fun Outbound() {
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
var outbound2 by remember { mutableStateOf(oldOutbound2) }
|
var outbound2 by remember { mutableStateOf(
|
||||||
|
if (acc.outbound.size > 1) acc.outbound[1] else "")
|
||||||
|
}
|
||||||
|
newOutbound2 = outbound2
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = outbound2.value,
|
value = outbound2,
|
||||||
placeholder = { Text(stringResource(R.string.sip_uri_of_another_proxy_server)) },
|
placeholder = { Text(stringResource(R.string.sip_uri_of_another_proxy_server)) },
|
||||||
onValueChange = {
|
onValueChange = {
|
||||||
outbound2.value = it
|
outbound2 = it
|
||||||
newOutbound2 = outbound2.value
|
newOutbound2 = outbound2
|
||||||
},
|
},
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
singleLine = true,
|
singleLine = true,
|
||||||
@@ -653,10 +519,10 @@ private fun Outbound() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun Register() {
|
fun Register() {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
@@ -675,7 +541,8 @@ private fun Register() {
|
|||||||
},
|
},
|
||||||
fontSize = 18.sp,
|
fontSize = 18.sp,
|
||||||
color = LocalCustomColors.current.itemText)
|
color = LocalCustomColors.current.itemText)
|
||||||
var register by remember { mutableStateOf(oldRegister) }
|
var register by remember { mutableStateOf(acc.regint > 0) }
|
||||||
|
newRegister = register
|
||||||
Switch(
|
Switch(
|
||||||
checked = register,
|
checked = register,
|
||||||
onCheckedChange = {
|
onCheckedChange = {
|
||||||
@@ -684,10 +551,10 @@ private fun Register() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun RegInt() {
|
fun RegInt() {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
@@ -696,7 +563,8 @@ private fun RegInt() {
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
var regInt by remember { mutableStateOf(oldRegInt) }
|
var regInt by remember { mutableStateOf(acc.configuredRegInt.toString()) }
|
||||||
|
newRegInt = regInt
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = regInt,
|
value = regInt,
|
||||||
placeholder = { Text(stringResource(R.string.reg_int)) },
|
placeholder = { Text(stringResource(R.string.reg_int)) },
|
||||||
@@ -717,10 +585,10 @@ private fun RegInt() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun AudioCodecs(navController: NavController, aor: String) {
|
fun AudioCodecs(navController: NavController, aor: String) {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -741,10 +609,10 @@ private fun AudioCodecs(navController: NavController, aor: String) {
|
|||||||
fontWeight = FontWeight. Bold
|
fontWeight = FontWeight. Bold
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun MediaEnc() {
|
fun MediaEnc() {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
@@ -764,7 +632,8 @@ private fun MediaEnc() {
|
|||||||
color = LocalCustomColors.current.itemText,
|
color = LocalCustomColors.current.itemText,
|
||||||
fontSize = 18.sp)
|
fontSize = 18.sp)
|
||||||
val isDropDownExpanded = remember { mutableStateOf(false) }
|
val isDropDownExpanded = remember { mutableStateOf(false) }
|
||||||
val mediaEnc = remember { mutableStateOf(oldMediaEnc) }
|
var mediaEnc by remember { mutableStateOf(acc.mediaEnc) }
|
||||||
|
newMediaEnc = mediaEnc
|
||||||
Box {
|
Box {
|
||||||
Row(
|
Row(
|
||||||
horizontalArrangement = Arrangement.Center,
|
horizontalArrangement = Arrangement.Center,
|
||||||
@@ -773,7 +642,7 @@ private fun MediaEnc() {
|
|||||||
isDropDownExpanded.value = true
|
isDropDownExpanded.value = true
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
Text(text = mediaEncMap[mediaEnc.value]!!,
|
Text(text = mediaEncMap[mediaEnc]!!,
|
||||||
color = LocalCustomColors.current.itemText)
|
color = LocalCustomColors.current.itemText)
|
||||||
CustomElements.DrawDrawable(R.drawable.arrow_drop_down,
|
CustomElements.DrawDrawable(R.drawable.arrow_drop_down,
|
||||||
tint = LocalCustomColors.current.itemText)
|
tint = LocalCustomColors.current.itemText)
|
||||||
@@ -791,8 +660,8 @@ private fun MediaEnc() {
|
|||||||
},
|
},
|
||||||
onClick = {
|
onClick = {
|
||||||
isDropDownExpanded.value = false
|
isDropDownExpanded.value = false
|
||||||
mediaEnc.value = it.key
|
mediaEnc = it.key
|
||||||
newMediaEnc = mediaEnc.value
|
newMediaEnc = mediaEnc
|
||||||
})
|
})
|
||||||
if (index < 4)
|
if (index < 4)
|
||||||
HorizontalDivider(
|
HorizontalDivider(
|
||||||
@@ -804,10 +673,10 @@ private fun MediaEnc() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun MediaNat(currentMediaNat: String, onMediaNatSelected: (String) -> Unit) {
|
fun MediaNat(currentMediaNat: String, onMediaNatSelected: (String) -> Unit) {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
@@ -865,10 +734,10 @@ private fun MediaNat(currentMediaNat: String, onMediaNatSelected: (String) -> Un
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun StunServer() {
|
fun StunServer() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -877,7 +746,8 @@ private fun StunServer() {
|
|||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
var stunServer by remember { mutableStateOf(oldStunServer) }
|
var stunServer by remember { mutableStateOf(acc.stunServer) }
|
||||||
|
newStunServer = stunServer
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = stunServer,
|
value = stunServer,
|
||||||
placeholder = { Text(stringResource(R.string.stun_server)) },
|
placeholder = { Text(stringResource(R.string.stun_server)) },
|
||||||
@@ -898,10 +768,10 @@ private fun StunServer() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun StunUser() {
|
fun StunUser() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -910,7 +780,8 @@ private fun StunUser() {
|
|||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
var stunUser by remember { mutableStateOf(oldStunUser) }
|
var stunUser by remember { mutableStateOf(acc.stunUser) }
|
||||||
|
newStunUser = stunUser
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = stunUser,
|
value = stunUser,
|
||||||
placeholder = { Text(stringResource(R.string.stun_username)) },
|
placeholder = { Text(stringResource(R.string.stun_username)) },
|
||||||
@@ -931,10 +802,10 @@ private fun StunUser() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun StunPass() {
|
fun StunPass() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -944,7 +815,8 @@ private fun StunPass() {
|
|||||||
) {
|
) {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
val showPassword = remember { mutableStateOf(false) }
|
val showPassword = remember { mutableStateOf(false) }
|
||||||
var stunPass by remember { mutableStateOf(oldStunPass) }
|
var stunPass by remember { mutableStateOf(acc.stunPass) }
|
||||||
|
newStunPass = stunPass
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = stunPass,
|
value = stunPass,
|
||||||
placeholder = { Text(stringResource(R.string.stun_password)) },
|
placeholder = { Text(stringResource(R.string.stun_password)) },
|
||||||
@@ -991,10 +863,10 @@ private fun StunPass() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun RtcpMux() {
|
fun RtcpMux() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1013,7 +885,8 @@ private fun RtcpMux() {
|
|||||||
},
|
},
|
||||||
fontSize = 18.sp,
|
fontSize = 18.sp,
|
||||||
color = LocalCustomColors.current.itemText)
|
color = LocalCustomColors.current.itemText)
|
||||||
var rtcpMux by remember { mutableStateOf(oldRtcpMux) }
|
var rtcpMux by remember { mutableStateOf(acc.rtcpMux) }
|
||||||
|
newRtcpMux = rtcpMux
|
||||||
Switch(
|
Switch(
|
||||||
checked = rtcpMux,
|
checked = rtcpMux,
|
||||||
onCheckedChange = {
|
onCheckedChange = {
|
||||||
@@ -1022,10 +895,10 @@ private fun RtcpMux() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun Rel100() {
|
fun Rel100() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1044,7 +917,8 @@ private fun Rel100() {
|
|||||||
},
|
},
|
||||||
fontSize = 18.sp,
|
fontSize = 18.sp,
|
||||||
color = LocalCustomColors.current.itemText)
|
color = LocalCustomColors.current.itemText)
|
||||||
var rel100 by remember { mutableStateOf(old100Rel) }
|
var rel100 by remember { mutableStateOf(acc.rel100Mode == Api.REL100_ENABLED) }
|
||||||
|
new100Rel = rel100
|
||||||
Switch(
|
Switch(
|
||||||
checked = rel100,
|
checked = rel100,
|
||||||
onCheckedChange = {
|
onCheckedChange = {
|
||||||
@@ -1053,10 +927,10 @@ private fun Rel100() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun Dtmf() {
|
fun Dtmf() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1081,7 +955,8 @@ private fun Dtmf() {
|
|||||||
val isDropDownExpanded = remember {
|
val isDropDownExpanded = remember {
|
||||||
mutableStateOf(false)
|
mutableStateOf(false)
|
||||||
}
|
}
|
||||||
val dtmfMode = remember { mutableIntStateOf(oldDtmfMode) }
|
val dtmfMode = remember { mutableIntStateOf(acc.dtmfMode) }
|
||||||
|
newDtmfMode = dtmfMode.intValue
|
||||||
Box {
|
Box {
|
||||||
Row(
|
Row(
|
||||||
horizontalArrangement = Arrangement.Center,
|
horizontalArrangement = Arrangement.Center,
|
||||||
@@ -1120,10 +995,10 @@ private fun Dtmf() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun Answer() {
|
fun Answer() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1147,7 +1022,8 @@ private fun Answer() {
|
|||||||
val isDropDownExpanded = remember {
|
val isDropDownExpanded = remember {
|
||||||
mutableStateOf(false)
|
mutableStateOf(false)
|
||||||
}
|
}
|
||||||
val answerMode = remember { mutableIntStateOf(oldAnswerMode) }
|
var answerMode by remember { mutableIntStateOf(acc.answerMode) }
|
||||||
|
newAnswerMode = answerMode
|
||||||
Box {
|
Box {
|
||||||
Row(
|
Row(
|
||||||
horizontalArrangement = Arrangement.Center,
|
horizontalArrangement = Arrangement.Center,
|
||||||
@@ -1156,7 +1032,7 @@ private fun Answer() {
|
|||||||
isDropDownExpanded.value = true
|
isDropDownExpanded.value = true
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
Text(text = answerModeMap[answerMode.intValue]!!,
|
Text(text = answerModeMap[answerMode]!!,
|
||||||
color = LocalCustomColors.current.itemText)
|
color = LocalCustomColors.current.itemText)
|
||||||
CustomElements.DrawDrawable(R.drawable.arrow_drop_down,
|
CustomElements.DrawDrawable(R.drawable.arrow_drop_down,
|
||||||
tint = LocalCustomColors.current.itemText)
|
tint = LocalCustomColors.current.itemText)
|
||||||
@@ -1171,8 +1047,8 @@ private fun Answer() {
|
|||||||
DropdownMenuItem(text = { Text(text = it.value) },
|
DropdownMenuItem(text = { Text(text = it.value) },
|
||||||
onClick = {
|
onClick = {
|
||||||
isDropDownExpanded.value = false
|
isDropDownExpanded.value = false
|
||||||
answerMode.intValue = it.key
|
answerMode = it.key
|
||||||
newAnswerMode = answerMode.intValue
|
newAnswerMode = answerMode
|
||||||
})
|
})
|
||||||
if (index < 1)
|
if (index < 1)
|
||||||
HorizontalDivider(
|
HorizontalDivider(
|
||||||
@@ -1184,10 +1060,10 @@ private fun Answer() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun Redirect() {
|
fun Redirect() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1211,7 +1087,8 @@ private fun Redirect() {
|
|||||||
val isDropDownExpanded = remember {
|
val isDropDownExpanded = remember {
|
||||||
mutableStateOf(false)
|
mutableStateOf(false)
|
||||||
}
|
}
|
||||||
val autoRedirect = remember { mutableStateOf(oldAutoRedirect) }
|
var autoRedirect by remember { mutableStateOf(acc.autoRedirect) }
|
||||||
|
newAutoRedirect = autoRedirect
|
||||||
Box {
|
Box {
|
||||||
Row(
|
Row(
|
||||||
horizontalArrangement = Arrangement.Center,
|
horizontalArrangement = Arrangement.Center,
|
||||||
@@ -1220,7 +1097,7 @@ private fun Redirect() {
|
|||||||
isDropDownExpanded.value = true
|
isDropDownExpanded.value = true
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
Text(text = redirectModeMap[autoRedirect.value]!!,
|
Text(text = redirectModeMap[autoRedirect]!!,
|
||||||
color = LocalCustomColors.current.itemText)
|
color = LocalCustomColors.current.itemText)
|
||||||
CustomElements.DrawDrawable(R.drawable.arrow_drop_down,
|
CustomElements.DrawDrawable(R.drawable.arrow_drop_down,
|
||||||
tint = LocalCustomColors.current.itemText)
|
tint = LocalCustomColors.current.itemText)
|
||||||
@@ -1237,8 +1114,8 @@ private fun Redirect() {
|
|||||||
},
|
},
|
||||||
onClick = {
|
onClick = {
|
||||||
isDropDownExpanded.value = false
|
isDropDownExpanded.value = false
|
||||||
autoRedirect.value = it.key
|
autoRedirect = it.key
|
||||||
newAutoRedirect = autoRedirect.value
|
newAutoRedirect = autoRedirect
|
||||||
})
|
})
|
||||||
if (index < 1)
|
if (index < 1)
|
||||||
HorizontalDivider(
|
HorizontalDivider(
|
||||||
@@ -1250,10 +1127,10 @@ private fun Redirect() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun Voicemail() {
|
fun Voicemail() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1262,7 +1139,8 @@ private fun Voicemail() {
|
|||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
var vmUri by remember { mutableStateOf(oldVmUri) }
|
var vmUri by remember { mutableStateOf(acc.vmUri) }
|
||||||
|
newVmUri = vmUri
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = vmUri,
|
value = vmUri,
|
||||||
placeholder = { Text(stringResource(R.string.voicemail_uri)) },
|
placeholder = { Text(stringResource(R.string.voicemail_uri)) },
|
||||||
@@ -1283,10 +1161,10 @@ private fun Voicemail() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun CountryCode() {
|
fun CountryCode() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1295,7 +1173,8 @@ private fun CountryCode() {
|
|||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
var countryCode by remember { mutableStateOf(oldCountryCode) }
|
var countryCode by remember { mutableStateOf(acc.countryCode) }
|
||||||
|
newCountryCode = countryCode
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = countryCode,
|
value = countryCode,
|
||||||
placeholder = { Text(stringResource(R.string.country_code)) },
|
placeholder = { Text(stringResource(R.string.country_code)) },
|
||||||
@@ -1316,10 +1195,10 @@ private fun CountryCode() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun TelProvider() {
|
fun TelProvider() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1328,7 +1207,8 @@ private fun TelProvider() {
|
|||||||
horizontalArrangement = Arrangement.Start
|
horizontalArrangement = Arrangement.Start
|
||||||
) {
|
) {
|
||||||
val ctx = LocalContext.current
|
val ctx = LocalContext.current
|
||||||
var telProvider by remember { mutableStateOf(oldTelProvider) }
|
var telProvider by remember { mutableStateOf(acc.telProvider) }
|
||||||
|
newTelProvider = telProvider
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = telProvider,
|
value = telProvider,
|
||||||
placeholder = { Text(stringResource(R.string.telephony_provider)) },
|
placeholder = { Text(stringResource(R.string.telephony_provider)) },
|
||||||
@@ -1349,10 +1229,10 @@ private fun TelProvider() {
|
|||||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun NumericKeypad(acc: Account) {
|
fun NumericKeypad() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1372,6 +1252,7 @@ private fun NumericKeypad(acc: Account) {
|
|||||||
fontSize = 18.sp,
|
fontSize = 18.sp,
|
||||||
color = LocalCustomColors.current.itemText)
|
color = LocalCustomColors.current.itemText)
|
||||||
var numericKeypad by remember { mutableStateOf(acc.numericKeypad) }
|
var numericKeypad by remember { mutableStateOf(acc.numericKeypad) }
|
||||||
|
newNumericKeypad = numericKeypad
|
||||||
Switch(
|
Switch(
|
||||||
checked = numericKeypad,
|
checked = numericKeypad,
|
||||||
onCheckedChange = {
|
onCheckedChange = {
|
||||||
@@ -1380,10 +1261,10 @@ private fun NumericKeypad(acc: Account) {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun DefaultAccount() {
|
fun DefaultAccount() {
|
||||||
Row(
|
Row(
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -1402,7 +1283,8 @@ private fun DefaultAccount() {
|
|||||||
},
|
},
|
||||||
fontSize = 18.sp,
|
fontSize = 18.sp,
|
||||||
color = LocalCustomColors.current.itemText)
|
color = LocalCustomColors.current.itemText)
|
||||||
var defaultAccount by remember { mutableStateOf(oldDefaultAccount) }
|
var defaultAccount by remember { mutableStateOf(UserAgent.findAorIndex(acc.aor)!! == 0) }
|
||||||
|
newDefaultAccount = defaultAccount
|
||||||
Switch(
|
Switch(
|
||||||
checked = defaultAccount,
|
checked = defaultAccount,
|
||||||
onCheckedChange = {
|
onCheckedChange = {
|
||||||
@@ -1411,6 +1293,65 @@ private fun DefaultAccount() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (showAlert.value) {
|
||||||
|
AlertDialog(
|
||||||
|
showDialog = showAlert,
|
||||||
|
title = alertTitle.value,
|
||||||
|
message = alertMessage.value,
|
||||||
|
positiveButtonText = stringResource(R.string.ok),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
keyboardController = LocalSoftwareKeyboardController.current
|
||||||
|
|
||||||
|
val scrollState = rememberScrollState()
|
||||||
|
|
||||||
|
Column(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.padding(contentPadding)
|
||||||
|
.padding(start = 16.dp, end = 4.dp, top = 8.dp, bottom = 16.dp)
|
||||||
|
.verticalScrollbar(scrollState)
|
||||||
|
.verticalScroll(state = scrollState),
|
||||||
|
verticalArrangement = Arrangement.spacedBy(8.dp),
|
||||||
|
) {
|
||||||
|
AoR()
|
||||||
|
Nickname()
|
||||||
|
DisplayName()
|
||||||
|
AuthUser()
|
||||||
|
AuthPass()
|
||||||
|
if (showPasswordDialog.value)
|
||||||
|
AskPassword(ctx, navController, ua)
|
||||||
|
Outbound()
|
||||||
|
Register()
|
||||||
|
RegInt()
|
||||||
|
AudioCodecs(navController, aor)
|
||||||
|
MediaEnc()
|
||||||
|
MediaNat(
|
||||||
|
currentMediaNat = mediaNatState,
|
||||||
|
onMediaNatSelected = { selectedMediaNat ->
|
||||||
|
mediaNatState = selectedMediaNat
|
||||||
|
newMediaNat = selectedMediaNat
|
||||||
|
}
|
||||||
|
)
|
||||||
|
if (showStun) {
|
||||||
|
StunServer()
|
||||||
|
StunUser()
|
||||||
|
StunPass()
|
||||||
|
}
|
||||||
|
RtcpMux()
|
||||||
|
Rel100()
|
||||||
|
Dtmf()
|
||||||
|
Answer()
|
||||||
|
Redirect()
|
||||||
|
Voicemail()
|
||||||
|
CountryCode()
|
||||||
|
TelProvider()
|
||||||
|
NumericKeypad()
|
||||||
|
DefaultAccount()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkOnClick(ctx: Context, ua: UserAgent): Boolean {
|
private fun checkOnClick(ctx: Context, ua: UserAgent): Boolean {
|
||||||
@@ -1418,7 +1359,7 @@ private fun checkOnClick(ctx: Context, ua: UserAgent): Boolean {
|
|||||||
val acc = ua.account
|
val acc = ua.account
|
||||||
|
|
||||||
val nn = newNickname.trim()
|
val nn = newNickname.trim()
|
||||||
if (nn != oldNickname) {
|
if (nn != acc.nickName.value) {
|
||||||
if (Account.checkDisplayName(nn)) {
|
if (Account.checkDisplayName(nn)) {
|
||||||
if (nn == "" || Account.uniqueNickName(nn)) {
|
if (nn == "" || Account.uniqueNickName(nn)) {
|
||||||
acc.nickName.value = nn
|
acc.nickName.value = nn
|
||||||
@@ -1458,7 +1399,7 @@ private fun checkOnClick(ctx: Context, ua: UserAgent): Boolean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val au = newAuthUser.trim()
|
val au = newAuthUser.trim()
|
||||||
if (au != oldAuthUser) {
|
if (au != acc.authUser) {
|
||||||
if (Account.checkAuthUser(au)) {
|
if (Account.checkAuthUser(au)) {
|
||||||
if (Api.account_set_auth_user(acc.accp, au) == 0) {
|
if (Api.account_set_auth_user(acc.accp, au) == 0) {
|
||||||
acc.authUser = Api.account_auth_user(acc.accp)
|
acc.authUser = Api.account_auth_user(acc.accp)
|
||||||
@@ -1480,7 +1421,7 @@ private fun checkOnClick(ctx: Context, ua: UserAgent): Boolean {
|
|||||||
|
|
||||||
val ap = newAuthPass.trim()
|
val ap = newAuthPass.trim()
|
||||||
if (ap != "") {
|
if (ap != "") {
|
||||||
if (ap != oldAuthPass) {
|
if (ap != acc.authPass) {
|
||||||
if (Account.checkAuthPass(ap)) {
|
if (Account.checkAuthPass(ap)) {
|
||||||
if (Api.account_set_auth_pass(acc.accp, ap) == 0) {
|
if (Api.account_set_auth_pass(acc.accp, ap) == 0) {
|
||||||
acc.authPass = Api.account_auth_pass(acc.accp)
|
acc.authPass = Api.account_auth_pass(acc.accp)
|
||||||
@@ -1575,28 +1516,28 @@ private fun checkOnClick(ctx: Context, ua: UserAgent): Boolean {
|
|||||||
Log.d(TAG, "New regint is ${acc.regint}")
|
Log.d(TAG, "New regint is ${acc.regint}")
|
||||||
reRegister = true
|
reRegister = true
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if (regInt != acc.configuredRegInt) {
|
|
||||||
acc.configuredRegInt = regInt
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
if (regInt != acc.configuredRegInt)
|
||||||
|
acc.configuredRegInt = regInt
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newMediaEnc != acc.mediaEnc) {
|
if (newMediaEnc != acc.mediaEnc) {
|
||||||
if (Api.account_set_mediaenc(acc.accp, newMediaEnc) == 0) {
|
if (Api.account_set_mediaenc(acc.accp, newMediaEnc) == 0) {
|
||||||
acc.mediaEnc = Api.account_mediaenc(acc.accp)
|
acc.mediaEnc = Api.account_mediaenc(acc.accp)
|
||||||
Log.d(TAG, "New mediaenc is ${acc.mediaEnc}")
|
Log.d(TAG, "New mediaenc is ${acc.mediaEnc}")
|
||||||
} else {
|
|
||||||
Log.e(TAG, "Setting of mediaenc $newMediaEnc failed")
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
Log.e(TAG, "Setting of mediaenc $newMediaEnc failed")
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newMediaNat != acc.mediaNat) {
|
if (newMediaNat != acc.mediaNat) {
|
||||||
if (Api.account_set_medianat(acc.accp, newMediaNat) == 0) {
|
if (Api.account_set_medianat(acc.accp, newMediaNat) == 0) {
|
||||||
acc.mediaNat = Api.account_medianat(acc.accp)
|
acc.mediaNat = Api.account_medianat(acc.accp)
|
||||||
Log.d(TAG, "New medianat is ${acc.mediaNat}")
|
Log.d(TAG, "New medianat is ${acc.mediaNat}")
|
||||||
} else {
|
|
||||||
Log.e(TAG, "Setting of medianat $newMediaNat failed")
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
Log.e(TAG, "Setting of medianat $newMediaNat failed")
|
||||||
}
|
}
|
||||||
|
|
||||||
newStunServer = newStunServer.trim()
|
newStunServer = newStunServer.trim()
|
||||||
|
|||||||
Reference in New Issue
Block a user