Added "SIM Manager" link to mobile account's settings

This commit is contained in:
Juha Heinanen
2026-06-23 10:58:32 +03:00
parent d8d73e14ae
commit be26733e75
4 changed files with 37 additions and 0 deletions

View File

@ -1,6 +1,8 @@
package com.tutpro.baresip package com.tutpro.baresip
import android.content.Context import android.content.Context
import android.content.Intent
import android.os.Build
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
@ -86,6 +88,7 @@ import java.io.StringReader
import java.net.URL import java.net.URL
import java.util.Locale import java.util.Locale
import javax.net.ssl.HttpsURLConnection import javax.net.ssl.HttpsURLConnection
import android.provider.Settings
import android.telephony.SubscriptionManager import android.telephony.SubscriptionManager
fun NavGraphBuilder.accountScreenRoute(navController: NavController) { 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 @Composable
fun DisplayName() { fun DisplayName() {
val displayNameTitle = stringResource(R.string.display_name) val displayNameTitle = stringResource(R.string.display_name)
@ -1291,6 +1323,8 @@ private fun AccountContent(
) { ) {
AoR(resumeToggle) AoR(resumeToggle)
Nickname() Nickname()
if (ua.account.isMobile)
SimManager()
if (!ua.account.isMobile) { if (!ua.account.isMobile) {
DisplayName() DisplayName()
AuthUser() AuthUser()

View File

@ -525,6 +525,7 @@ object Utils {
return true return true
} }
@Suppress("unused")
fun copyToClipboard(ctx: Context, text: String) { fun copyToClipboard(ctx: Context, text: String) {
val clipboard = ctx.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val clipboard = ctx.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("text", text) val clip = ClipData.newPlainText("text", text)

View File

@ -117,6 +117,7 @@
<string name="account_nickname_help">Lempinimi (jos annettu) millä tämä tili identifioidaan <string name="account_nickname_help">Lempinimi (jos annettu) millä tämä tili identifioidaan
baresip sovelluksessa.</string> baresip sovelluksessa.</string>
<string name="nickname">Lempinimi</string> <string name="nickname">Lempinimi</string>
<string name="sim_manager">SIM-kortin hallinta</string>
<string name="invalid_account_nickname">Virheellinen tilin lempinimi \'%1$s\'</string> <string name="invalid_account_nickname">Virheellinen tilin lempinimi \'%1$s\'</string>
<string name="non_unique_account_nickname">Lempinimi \'%1$s\' on jo olemassa</string> <string name="non_unique_account_nickname">Lempinimi \'%1$s\' on jo olemassa</string>
<string name="display_name">Tilin käyttäjän nimi</string> <string name="display_name">Tilin käyttäjän nimi</string>

View File

@ -126,6 +126,7 @@
<string name="account_nickname_help">Nickname (if any) used to identify this account within <string name="account_nickname_help">Nickname (if any) used to identify this account within
baresip app.</string> baresip app.</string>
<string name="nickname">Nickname</string> <string name="nickname">Nickname</string>
<string name="sim_manager">SIM Manager</string>
<string name="invalid_account_nickname">Invalid Account Nickname \'%1$s\'</string> <string name="invalid_account_nickname">Invalid Account Nickname \'%1$s\'</string>
<string name="non_unique_account_nickname">Nickname \'%1$s\' already exists</string> <string name="non_unique_account_nickname">Nickname \'%1$s\' already exists</string>
<string name="display_name">Display Name</string> <string name="display_name">Display Name</string>