Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a896ff0 authored by Charlotte Lu's avatar Charlotte Lu
Browse files

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

Test: Visual Test
Fix: 313630772
Change-Id: I46dfabde31f0df7b4b0fd473aff24f9707987114
parent 1a7a4d24
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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 -->
+1 −0
Original line number Diff line number Diff line
@@ -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(
+11 −1
Original line number Diff line number Diff line
@@ -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
@@ -530,3 +535,8 @@ 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)
}
 No newline at end of file