Use simSpecificCarrierId for new apn

Currently in TelephonyProvider, it uses tm.getSimSpecificCarrierId() to
get the specific carrier id to retrieve the apns, update Settings to
match.

Fix: 360917123
Flag: EXEMPT bug fix
Test: manual - new apn
Test: atest ApnRepositoryTest
Change-Id: I982e0026acdf34ccec7508c41f83718894f7da57
This commit is contained in:
Chaohui Wang
2024-08-30 11:16:34 +08:00
parent 0e1d5fdce4
commit 5b4748919a
2 changed files with 17 additions and 26 deletions

View File

@@ -21,10 +21,10 @@ import android.content.Context
import android.database.Cursor
import android.net.Uri
import android.provider.Telephony
import android.telephony.SubscriptionManager
import android.telephony.TelephonyManager
import android.util.Log
import com.android.settings.R
import com.android.settings.network.telephony.telephonyManager
import com.android.settingslib.utils.ThreadUtils
import java.util.Locale
@@ -178,12 +178,11 @@ fun isItemExist(apnData: ApnData, context: Context): String? {
}
fun Context.getApnIdMap(subId: Int): Map<String, Any> {
val subInfo = getSystemService(SubscriptionManager::class.java)!!
.getActiveSubscriptionInfo(subId)
val carrierId = subInfo.carrierId
val telephonyManager = telephonyManager(subId)
val carrierId = telephonyManager.simSpecificCarrierId
return if (carrierId != TelephonyManager.UNKNOWN_CARRIER_ID) {
mapOf(Telephony.Carriers.CARRIER_ID to carrierId)
} else {
mapOf(Telephony.Carriers.NUMERIC to subInfo.mccString + subInfo.mncString)
mapOf(Telephony.Carriers.NUMERIC to telephonyManager.simOperator)
}.also { Log.d(TAG, "[$subId] New APN item with id: $it") }
}