diff --git a/src/com/android/settings/network/apn/ApnEditPageProvider.kt b/src/com/android/settings/network/apn/ApnEditPageProvider.kt index 79ce3422f6d..cea2b4410c7 100644 --- a/src/com/android/settings/network/apn/ApnEditPageProvider.kt +++ b/src/com/android/settings/network/apn/ApnEditPageProvider.kt @@ -145,12 +145,7 @@ fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState, uriInit: Ur ) { Column { if (apnData.validEnabled) { - apnData = apnData.copy( - networkType = ApnNetworkTypes.getNetworkType( - networkTypeSelectedOptionsState - ) - ) - valid = validateApnData(uriInit, apnData, context) + valid = validateApnData(apnData, context) valid?.let { Text( text = it, diff --git a/src/com/android/settings/network/apn/ApnRepository.kt b/src/com/android/settings/network/apn/ApnRepository.kt index 2f16e693adb..ae655da79b7 100644 --- a/src/com/android/settings/network/apn/ApnRepository.kt +++ b/src/com/android/settings/network/apn/ApnRepository.kt @@ -20,7 +20,6 @@ import android.content.ContentValues import android.content.Context import android.net.Uri import android.provider.Telephony -import android.telephony.TelephonyManager import android.util.Log import com.android.settings.R import com.android.settingslib.utils.ThreadUtils @@ -200,14 +199,21 @@ fun updateApnDataToDatabase( } } -fun isItemExist(uri: Uri, apnData: ApnData, context: Context): String? { - val contentValueMap = apnData.getContentValueMap(context) - contentValueMap.remove(Telephony.Carriers.CARRIER_ENABLED) +fun isItemExist(apnData: ApnData, context: Context): String? { + var contentValueMap = apnData.getContentValueMap(context) + val removedList = arrayListOf( + Telephony.Carriers.NAME, Telephony.Carriers.USER, + Telephony.Carriers.SERVER, Telephony.Carriers.PASSWORD, Telephony.Carriers.AUTH_TYPE, + Telephony.Carriers.TYPE, Telephony.Carriers.NETWORK_TYPE_BITMASK, + Telephony.Carriers.CARRIER_ENABLED + ) + contentValueMap = + contentValueMap.filterNot { removedList.contains(it.key) } as MutableMap val list = contentValueMap.entries.toList() val selection = list.joinToString(" AND ") { "${it.key} = ?" } val selectionArgs: Array = list.map { it.value.toString() }.toTypedArray() context.contentResolver.query( - uri, + Telephony.Carriers.CONTENT_URI, sProjection, selection /* selection */, selectionArgs /* selectionArgs */, diff --git a/src/com/android/settings/network/apn/ApnStatus.kt b/src/com/android/settings/network/apn/ApnStatus.kt index f9135fd86a1..141ec08a5e3 100644 --- a/src/com/android/settings/network/apn/ApnStatus.kt +++ b/src/com/android/settings/network/apn/ApnStatus.kt @@ -173,7 +173,7 @@ fun validateAndSaveApnData( context: Context, uriInit: Uri ): String? { - val errorMsg = validateApnData(uriInit, newApnData, context) + val errorMsg = validateApnData(newApnData, context) if (errorMsg != null) { return errorMsg } @@ -194,7 +194,7 @@ fun validateAndSaveApnData( * * @return An error message if the apn data is invalid, otherwise return null. */ -fun validateApnData(uri: Uri, apnData: ApnData, context: Context): String? { +fun validateApnData(apnData: ApnData, context: Context): String? { var errorMsg: String? val name = apnData.name val apn = apnData.apn @@ -206,7 +206,7 @@ fun validateApnData(uri: Uri, apnData: ApnData, context: Context): String? { validateMMSC(true, apnData.mmsc, context) } if (errorMsg == null) { - errorMsg = isItemExist(uri, apnData, context) + errorMsg = isItemExist(apnData, context) } if (errorMsg == null) { errorMsg = validateAPNType(