diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index d428007a..d3007819 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -3156,6 +3156,7 @@ class BaresipService: Service() { } var contactsMode by mutableStateOf("baresip") + var contactAction by mutableStateOf("call") var addressFamily = "" var dnsServers = listOf() diff --git a/app/src/main/kotlin/com/tutpro/baresip/Config.kt b/app/src/main/kotlin/com/tutpro/baresip/Config.kt index a10173f7..cdc971e7 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Config.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Config.kt @@ -172,6 +172,13 @@ object Config { config = "${config}contacts_mode $contactsMode\n" BaresipService.contactsMode = contactsMode + val contactAction = previousVariable("contact_action") + config = if (contactAction != "") + "${config}contact_action $contactAction\n" + else + "${config}contact_action call\n" + BaresipService.contactAction = if (contactAction != "") contactAction else "call" + config = "${config}snd_path ${BaresipService.filesPath}/recordings\n" val callVolume = previousVariable("call_volume") diff --git a/app/src/main/kotlin/com/tutpro/baresip/ContactScreen.kt b/app/src/main/kotlin/com/tutpro/baresip/ContactScreen.kt index 6350879e..b6a05f22 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/ContactScreen.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/ContactScreen.kt @@ -740,7 +740,7 @@ private fun UrisSection( val intent = Intent(ctx, MainActivity::class.java) intent.putExtra("uap", ua.uap) intent.putExtra("peer", uri) - handleIntent(ctx, viewModel, intent, "call") + handleIntent(ctx, viewModel, intent, BaresipService.contactAction) navController.navigate("main") { popUpTo("main") { inclusive = false } launchSingleTop = true diff --git a/app/src/main/kotlin/com/tutpro/baresip/ContactsScreen.kt b/app/src/main/kotlin/com/tutpro/baresip/ContactsScreen.kt index a9ca7540..b702546f 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/ContactsScreen.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/ContactsScreen.kt @@ -292,6 +292,13 @@ private fun ContactsScreen(navController: NavController) { } } + val call = stringResource(R.string.call) + val dial = stringResource(R.string.dial) + + val contactActionName = remember(BaresipService.contactAction) { + listOf(if (BaresipService.contactAction == "call") call else dial) + } + val contactNames = remember(BaresipService.contactsMode) { val names = mutableListOf("baresip", "Android", both) val values = listOf("baresip", "android", "both") @@ -413,9 +420,16 @@ private fun ContactsScreen(navController: NavController) { CustomElements.DropdownMenu( expanded = expanded, onDismissRequest = { expanded = false }, - items = contactNames + import + export + delete, + items = contactNames + contactActionName + import + export + delete, onItemClick = { name -> expanded = false + if (name == call || name == dial) { + val newAction = if (BaresipService.contactAction == "call") "dial" else "call" + BaresipService.contactAction = newAction + Config.replaceVariable("contact_action", newAction) + Config.save() + return@DropdownMenu + } if (name == import) { vcfImportLauncher.launch(arrayOf("text/vcard", "text/x-vcard")) return@DropdownMenu diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 2ab0e160..64f3e813 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -295,6 +295,7 @@ Puheluhistoria Soita + Näytä puhelut puhelun Suunta diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1de12307..9e1c4642 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -291,6 +291,7 @@ Call History Call Details Call + Dial calls call Peer