From 2a4aac1bae79a798c1f7c426f664ea986beea4e5 Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Sun, 28 Dec 2025 12:13:59 +0200 Subject: [PATCH] Work on Blocked screen --- .../kotlin/com/tutpro/baresip/BaresipService.kt | 14 +++++++++++++- .../main/kotlin/com/tutpro/baresip/CallsScreen.kt | 6 +++++- .../main/kotlin/com/tutpro/baresip/MainActivity.kt | 1 + app/src/main/res/values/strings.xml | 5 +++++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index 3345fdbc..ceaf0fc4 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -457,6 +457,8 @@ class BaresipService: Service() { } } + Blocked.restore() + val recordings = File(filesDir, "recordings") val restored = File(filesPath, "restored") @@ -866,7 +868,14 @@ class BaresipService: Service() { Api.sip_treply(callp, 486, "Busy Here") Api.bevent_stop(bevent) toast(toastMsg) - if (!blockUnknown) { + if (blockUnknown) + Blocked( + ua.account.aor, + peerUri, + "invite", + GregorianCalendar().timeInMillis + ).add() + else { val name = "callwaiting_$toneCountry" val resourceId = applicationContext.resources.getIdentifier( name, @@ -1872,6 +1881,7 @@ class BaresipService: Service() { val baresipContacts = mutableStateOf(emptyList()) val androidContacts = mutableStateOf(emptyList()) val contactNames = mutableStateOf(emptyList()) + val darkTheme = mutableStateOf(false) val dynamicColors = mutableStateOf(false) var messages by mutableStateOf(emptyList()) @@ -1883,6 +1893,8 @@ class BaresipService: Service() { val calls = ArrayList() var callHistory = ArrayList() + var blocked = ArrayList() + var contactsMode = "baresip" var addressFamily = "" var dnsServers = listOf() diff --git a/app/src/main/kotlin/com/tutpro/baresip/CallsScreen.kt b/app/src/main/kotlin/com/tutpro/baresip/CallsScreen.kt index 926f65f1..e535dcc3 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/CallsScreen.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/CallsScreen.kt @@ -155,6 +155,7 @@ private fun TopAppBar(navController: NavController, account: Account, callHistor val delete = stringResource(R.string.delete) val disable = stringResource(R.string.disable_history) val enable = stringResource(R.string.enable_history) + val blocked = stringResource(R.string.blocked) val showDialog = remember { mutableStateOf(false) } val positiveAction = remember { mutableStateOf({}) } @@ -207,7 +208,7 @@ private fun TopAppBar(navController: NavController, account: Account, callHistor CustomElements.DropdownMenu( expanded, { expanded = false }, - listOf(delete, if (account.callHistory) disable else enable), + if (account.callHistory) listOf(delete, disable, blocked) else listOf(enable), onItemClick = { selectedItem -> expanded = false when (selectedItem) { @@ -222,6 +223,9 @@ private fun TopAppBar(navController: NavController, account: Account, callHistor account.callHistory = !account.callHistory Account.saveAccounts() } + blocked -> { + navController.navigate("blocked/${account.aor}") + } } } ) diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index f7f341eb..e95d6d7f 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -302,6 +302,7 @@ class MainActivity : ComponentActivity() { androidContactScreenRoute(navController, viewModel) callsScreenRoute(navController, viewModel) callDetailsScreenRoute(navController, viewModel) + blockedScreenRoute(navController) chatsScreenRoute(navController) chatScreenRoute(navController, viewModel) } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a7f58936..8c20db73 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -281,6 +281,11 @@ Do you want to save this recording? Recording saved Do you want to delete this call from history? + + Blocked + Blocked Calls + Do you want to delete blocked calls of \'%1$s\'\? + Do you want to add peer \'%1$s\' to contacts\? Chat with %1$s New message