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