11package dev.bluehouse.enablevolte.pages
22
3+ import android.os.Build
34import android.telephony.CarrierConfigManager
45import android.widget.Toast
56import androidx.compose.foundation.layout.Column
@@ -29,7 +30,6 @@ import dev.bluehouse.enablevolte.UserAgentPropertyView
2930import dev.bluehouse.enablevolte.ValueType
3031import dev.bluehouse.enablevolte.checkShizukuPermission
3132import java.lang.IllegalStateException
32- import java.util.*
3333
3434@Composable
3535fun Config (navController : NavController , subId : Int ) {
@@ -41,10 +41,11 @@ fun Config(navController: NavController, subId: Int) {
4141 var configurable by rememberSaveable { mutableStateOf(false ) }
4242 var voLTEEnabled by rememberSaveable { mutableStateOf(false ) }
4343 var voNREnabled by rememberSaveable { mutableStateOf(false ) }
44- var crosssimEnabled by rememberSaveable { mutableStateOf(false ) }
44+ var crossSIMEnabled by rememberSaveable { mutableStateOf(false ) }
4545 var voWiFiEnabled by rememberSaveable { mutableStateOf(false ) }
4646 var voWiFiEnabledWhileRoaming by rememberSaveable { mutableStateOf(false ) }
47- var showIMSinSIMinfo by rememberSaveable { mutableStateOf(false ) }
47+ var showIMSinSIMInfo by rememberSaveable { mutableStateOf(false ) }
48+ var allowAddingAPNs by rememberSaveable { mutableStateOf(false ) }
4849 var showVoWifiMode by rememberSaveable { mutableStateOf(false ) }
4950 var showVoWifiRoamingMode by rememberSaveable { mutableStateOf(false ) }
5051 var showVoWifiInNetworkName by rememberSaveable { mutableStateOf(false ) }
@@ -61,11 +62,12 @@ fun Config(navController: NavController, subId: Int) {
6162
6263 fun loadFlags () {
6364 voLTEEnabled = moder.isVoLteConfigEnabled
64- voNREnabled = moder.isVonrConfigEnabled
65- crosssimEnabled = moder.isCrosssimConfigEnabled
65+ voNREnabled = moder.isVoNrConfigEnabled
66+ crossSIMEnabled = moder.isCrossSIMConfigEnabled
6667 voWiFiEnabled = moder.isVoWifiConfigEnabled
6768 voWiFiEnabledWhileRoaming = moder.isVoWifiWhileRoamingEnabled
68- showIMSinSIMinfo = moder.showIMSinSIMinfo
69+ showIMSinSIMInfo = moder.showIMSinSIMInfo
70+ allowAddingAPNs = moder.allowAddingAPNs
6971 showVoWifiMode = moder.showVoWifiMode
7072 showVoWifiRoamingMode = moder.showVoWifiRoamingMode
7173 showVoWifiInNetworkName = (moder.showVoWifiInNetworkName == 1 )
@@ -129,16 +131,18 @@ fun Config(navController: NavController, subId: Int) {
129131 true
130132 }
131133 }
132- BooleanPropertyView (label = stringResource(R .string.enable_crosssim), toggled = crosssimEnabled) {
133- crosssimEnabled = if (crosssimEnabled) {
134- moder.updateCarrierConfig(CarrierConfigManager .KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL , false )
135- moder.updateCarrierConfig(CarrierConfigManager .KEY_ENABLE_CROSS_SIM_CALLING_ON_OPPORTUNISTIC_DATA_BOOL , false )
136- false
137- } else {
138- moder.updateCarrierConfig(CarrierConfigManager .KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL , true )
139- moder.updateCarrierConfig(CarrierConfigManager .KEY_ENABLE_CROSS_SIM_CALLING_ON_OPPORTUNISTIC_DATA_BOOL , true )
140- moder.restartIMSRegistration()
141- true
134+ BooleanPropertyView (label = stringResource(R .string.enable_crosssim), toggled = crossSIMEnabled, enabled = Build .VERSION .SDK_INT >= Build .VERSION_CODES .TIRAMISU ) {
135+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .TIRAMISU ) {
136+ crossSIMEnabled = if (crossSIMEnabled) {
137+ moder.updateCarrierConfig(CarrierConfigManager .KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL , false )
138+ moder.updateCarrierConfig(CarrierConfigManager .KEY_ENABLE_CROSS_SIM_CALLING_ON_OPPORTUNISTIC_DATA_BOOL , false )
139+ false
140+ } else {
141+ moder.updateCarrierConfig(CarrierConfigManager .KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL , true )
142+ moder.updateCarrierConfig(CarrierConfigManager .KEY_ENABLE_CROSS_SIM_CALLING_ON_OPPORTUNISTIC_DATA_BOOL , true )
143+ moder.restartIMSRegistration()
144+ true
145+ }
142146 }
143147 }
144148 BooleanPropertyView (label = stringResource(R .string.enable_vowifi), toggled = voWiFiEnabled) {
@@ -184,6 +188,15 @@ fun Config(navController: NavController, subId: Int) {
184188 true
185189 }
186190 }
191+ BooleanPropertyView (label = stringResource(R .string.allow_adding_apns), toggled = allowAddingAPNs) {
192+ allowAddingAPNs = if (allowAddingAPNs) {
193+ moder.updateCarrierConfig(CarrierConfigManager .KEY_ALLOW_ADDING_APNS_BOOL , false )
194+ false
195+ } else {
196+ moder.updateCarrierConfig(CarrierConfigManager .KEY_ALLOW_ADDING_APNS_BOOL , true )
197+ true
198+ }
199+ }
187200
188201 HeaderText (text = stringResource(R .string.string_values))
189202 UserAgentPropertyView (label = stringResource(R .string.user_agent), value = configuredUserAgent) {
@@ -288,8 +301,8 @@ fun Config(navController: NavController, subId: Int) {
288301 true
289302 }
290303 }
291- BooleanPropertyView (label = stringResource(R .string.show_ims_status_in_sim_status), toggled = showIMSinSIMinfo ) {
292- showIMSinSIMinfo = if (showIMSinSIMinfo ) {
304+ BooleanPropertyView (label = stringResource(R .string.show_ims_status_in_sim_status), toggled = showIMSinSIMInfo ) {
305+ showIMSinSIMInfo = if (showIMSinSIMInfo ) {
293306 moder.updateCarrierConfig(CarrierConfigManager .KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL , false )
294307 false
295308 } else {
0 commit comments