From be26733e756b7ae8178c91c3a916e97ae5cace4b Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Tue, 23 Jun 2026 10:58:32 +0300 Subject: [PATCH] Added "SIM Manager" link to mobile account's settings --- .../com/tutpro/baresip/AccountScreen.kt | 34 +++++++++++++++++++ .../main/kotlin/com/tutpro/baresip/Utils.kt | 1 + app/src/main/res/values-fi/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 4 files changed, 37 insertions(+) diff --git a/app/src/main/kotlin/com/tutpro/baresip/AccountScreen.kt b/app/src/main/kotlin/com/tutpro/baresip/AccountScreen.kt index e414990e..c1e802a1 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/AccountScreen.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/AccountScreen.kt @@ -1,6 +1,8 @@ package com.tutpro.baresip import android.content.Context +import android.content.Intent +import android.os.Build import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -86,6 +88,7 @@ import java.io.StringReader import java.net.URL import java.util.Locale import javax.net.ssl.HttpsURLConnection +import android.provider.Settings import android.telephony.SubscriptionManager fun NavGraphBuilder.accountScreenRoute(navController: NavController) { @@ -335,6 +338,35 @@ private fun AccountContent( } } + @Composable + fun SimManager() { + Row( + Modifier.fillMaxWidth().padding(top = 12.dp), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.Start + ) { + Text( + text = stringResource(R.string.sim_manager), + modifier = Modifier + .weight(1f) + .clickable { + try { + val action = + if (Build.VERSION.SDK_INT >= 31) + Settings.ACTION_MANAGE_ALL_SIM_PROFILES_SETTINGS + else + Settings.ACTION_WIRELESS_SETTINGS + ctx.startActivity(Intent(action)) + } catch (_: Exception) { + ctx.startActivity(Intent(Settings.ACTION_SETTINGS)) + } + }, + fontSize = 18.sp, + fontWeight = FontWeight.Bold + ) + } + } + @Composable fun DisplayName() { val displayNameTitle = stringResource(R.string.display_name) @@ -1291,6 +1323,8 @@ private fun AccountContent( ) { AoR(resumeToggle) Nickname() + if (ua.account.isMobile) + SimManager() if (!ua.account.isMobile) { DisplayName() AuthUser() diff --git a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt index 155d6a68..5f190b39 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt @@ -525,6 +525,7 @@ object Utils { return true } + @Suppress("unused") fun copyToClipboard(ctx: Context, text: String) { val clipboard = ctx.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val clip = ClipData.newPlainText("text", text) diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 37120a37..8c3a0ec8 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -117,6 +117,7 @@ Lempinimi (jos annettu) millä tämä tili identifioidaan baresip sovelluksessa. Lempinimi + SIM-kortin hallinta Virheellinen tilin lempinimi \'%1$s\' Lempinimi \'%1$s\' on jo olemassa Tilin käyttäjän nimi diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ae9383ec..717aa2d5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -126,6 +126,7 @@ Nickname (if any) used to identify this account within baresip app. Nickname + SIM Manager Invalid Account Nickname \'%1$s\' Nickname \'%1$s\' already exists Display Name