Skip to content

Commit 4af69b0

Browse files
authored
feat: add toggle to alter KEY_ALLOW_ADDING_APNS_BOOL (#138)
1 parent 8bb5a43 commit 4af69b0

5 files changed

Lines changed: 50 additions & 26 deletions

File tree

app/src/main/java/dev/bluehouse/enablevolte/Components.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,18 +166,18 @@ fun UserAgentPropertyView(label: String, value: String?, onUpdate: ((String) ->
166166
Row(modifier = Modifier.align(Alignment.End)) {
167167
TextButton(
168168
onClick = {
169-
onUpdate(typedText)
170169
openTextEditDialog = false
171170
},
172171
) {
173-
Text(stringResource(R.string.confirm))
172+
Text(stringResource(R.string.dismiss))
174173
}
175174
TextButton(
176175
onClick = {
176+
onUpdate(typedText)
177177
openTextEditDialog = false
178178
},
179179
) {
180-
Text(stringResource(R.string.dismiss))
180+
Text(stringResource(R.string.confirm))
181181
}
182182
}
183183
}

app/src/main/java/dev/bluehouse/enablevolte/Moder.kt

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -241,23 +241,32 @@ class SubscriptionModer(val subscriptionId: Int) : Moder() {
241241
val isVoLteConfigEnabled: Boolean
242242
get() = this.getBooleanValue(CarrierConfigManager.KEY_CARRIER_VOLTE_AVAILABLE_BOOL)
243243

244-
val isVonrConfigEnabled: Boolean
244+
val isVoNrConfigEnabled: Boolean
245245
get() = this.getBooleanValue(CarrierConfigManager.KEY_VONR_ENABLED_BOOL) &&
246246
this.getBooleanValue(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL)
247247

248-
val isCrosssimConfigEnabled: Boolean
249-
get() = this.getBooleanValue(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL) &&
250-
this.getBooleanValue(CarrierConfigManager.KEY_ENABLE_CROSS_SIM_CALLING_ON_OPPORTUNISTIC_DATA_BOOL)
248+
val isCrossSIMConfigEnabled: Boolean
249+
get() {
250+
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
251+
this.getBooleanValue(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL) &&
252+
this.getBooleanValue(CarrierConfigManager.KEY_ENABLE_CROSS_SIM_CALLING_ON_OPPORTUNISTIC_DATA_BOOL)
253+
} else {
254+
false
255+
}
256+
}
251257

252258
val isVoWifiConfigEnabled: Boolean
253259
get() = this.getBooleanValue(CarrierConfigManager.KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL)
254260

255261
val isVoWifiWhileRoamingEnabled: Boolean
256262
get() = this.getBooleanValue(CarrierConfigManager.KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_ENABLED_BOOL)
257263

258-
val showIMSinSIMinfo: Boolean
264+
val showIMSinSIMInfo: Boolean
259265
get() = this.getBooleanValue(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)
260266

267+
val allowAddingAPNs: Boolean
268+
get() = this.getBooleanValue(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL)
269+
261270
val showVoWifiMode: Boolean
262271
get() = this.getBooleanValue(CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL)
263272

app/src/main/java/dev/bluehouse/enablevolte/pages/Config.kt

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package dev.bluehouse.enablevolte.pages
22

3+
import android.os.Build
34
import android.telephony.CarrierConfigManager
45
import android.widget.Toast
56
import androidx.compose.foundation.layout.Column
@@ -29,7 +30,6 @@ import dev.bluehouse.enablevolte.UserAgentPropertyView
2930
import dev.bluehouse.enablevolte.ValueType
3031
import dev.bluehouse.enablevolte.checkShizukuPermission
3132
import java.lang.IllegalStateException
32-
import java.util.*
3333

3434
@Composable
3535
fun 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 {

app/src/main/res/values-zh-rCN/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<string name="show_vowifi_roaming_preference_in_settings">显示 VoWiFi漫游 选项</string>
2222
<string name="add_wifi_calling_to_network_name">网络名中添加 \"Wi-Fi Calling\"</string>
2323
<string name="show_ims_status_in_sim_status">在 SIM 信息中显示 IMS 状态</string>
24+
<string name="allow_adding_apns">Allow adding APNs</string>
2425
<string name="show_wifi_only_for_vowifi">VoWiFi 显示 \"仅WiFi\" 模式</string>
2526
<string name="enable_video_calling_vt">启用视频通话(VT)</string>
2627
<string name="enable_ss_over_ut">UT接口下启用补充业务</string>

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<string name="add_wifi_calling_to_network_name">Add \"Wi-Fi Calling\" to Network Name</string>
2323
<string name="show_wifi_only_for_vowifi">Show \"WiFi only\" mode for VoWiFi</string>
2424
<string name="enable_video_calling_vt">Enable Video Calling (VT)</string>
25+
<string name="allow_adding_apns">Allow adding APNs</string>
2526
<string name="enable_ss_over_ut">Enable Supplementary Services over UT</string>
2627
<string name="enable_ss_over_cdma">Enable Supplementary Services over CDMA</string>
2728
<string name="sim_detected">SIM Detected</string>

0 commit comments

Comments
 (0)