Telephony Issue: Apn config mmsc should start with http but is 啊.

Test: Visual Test
Fix: 313630772
Change-Id: I46dfabde31f0df7b4b0fd473aff24f9707987114
This commit is contained in:
Charlotte Lu
2023-12-05 18:38:53 +08:00
parent 1a7a4d24ab
commit 0a896ff0f6
3 changed files with 14 additions and 1 deletions

View File

@@ -3267,6 +3267,8 @@
<string name="error_mnc_not23">MNC field must be 2 or 3 digits.</string>
<!-- APN error dialog messages: -->
<string name="error_adding_apn_type">Carrier does not allow adding APNs of type %s.</string>
<!-- APN error messages: -->
<string name="error_mmsc_valid">MMSC field must be valid.</string>
<!-- The message of dialog indicated restoring default APN settings in progress -->
<string name="restore_default_apn">Restoring default APN settings.</string>
<!-- APNs screen menu option to reset default APN settings -->

View File

@@ -150,6 +150,7 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState<ApnData>, uriInit: Ur
SettingsOutlinedTextField(
value = apnData.mmsc,
label = stringResource(R.string.apn_mmsc),
errorMessage = validateMMSC(apnData.mmsc, context),
enabled = apnData.mmscEnabled
) { apnData = apnData.copy(mmsc = it) }
SettingsOutlinedTextField(

View File

@@ -239,7 +239,12 @@ fun validateAndSaveApnData(
if (apnData.customizedConfig.readOnlyApn) {
return true
}
val errorMsg = validateApnData(apnData, context)
var errorMsg = validateApnData(apnData, context)
if (errorMsg != null) {
//TODO: showError(this)
return false
}
errorMsg = validateMMSC(apnData.mmsc, context)
if (errorMsg != null) {
//TODO: showError(this)
return false
@@ -529,4 +534,9 @@ private fun getEditableApnType(apnData: ApnData): String {
fun deleteApn(uri: Uri, context: Context) {
val contentResolver = context.contentResolver
contentResolver.delete(uri, null, null)
}
fun validateMMSC(mmsc: String, context: Context): String? {
return if (mmsc.matches(Regex("^https?:\\/\\/.+"))) null
else context.resources.getString(R.string.error_mmsc_valid)
}