SettingsExposedDropdownMenuCheckBox requires input index.
Fix: 301354014
Test: Unit Test
Change-Id: I4f5ef9a3cfcd0705687232b5e67da8007bf97aed
diff --git a/src/com/android/settings/network/apn/ApnEditPageProvider.kt b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
index 756d90f..90d96c6 100644
--- a/src/com/android/settings/network/apn/ApnEditPageProvider.kt
+++ b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
@@ -148,13 +148,13 @@
stringResource(R.string.apn_mnc),
enabled = apnData.mncEnabled
) { apnData = apnData.copy(mnc = it) }
+ // Warning: apnProtocol, apnRoaming, mvnoType string2Int
SettingsExposedDropdownMenuBox(
- label = stringResource(R.string.apn_auth_type),
- options = authTypeOptions,
- selectedOptionText =
- authTypeOptions.getOrElse(apnData.authType) { "" },
- enabled = apnData.authTypeEnabled,
- ) { apnData = apnData.copy(authType = authTypeOptions.indexOf(it)) }
+ stringResource(R.string.apn_auth_type),
+ authTypeOptions,
+ apnData.authType,
+ apnData.authTypeEnabled,
+ ) { apnData = apnData.copy(authType = it) }
SettingsOutlinedTextField(
apnData.apnType,
stringResource(R.string.apn_type),
diff --git a/src/com/android/settings/network/apn/ApnStatus.kt b/src/com/android/settings/network/apn/ApnStatus.kt
index 8a2d613..7f4c297 100644
--- a/src/com/android/settings/network/apn/ApnStatus.kt
+++ b/src/com/android/settings/network/apn/ApnStatus.kt
@@ -34,11 +34,11 @@
val mnc: String = "",
val authType: Int = -1,
val apnType: String = "",
- val apnProtocol: String = "",
- val apnRoaming: String = "",
+ val apnProtocol: Int = -1,
+ val apnRoaming: Int = -1,
val apnEnable: Boolean = true,
val bearer: Int = 0,
- val mvnoType: String = "",
+ val mvnoType: Int = -1,
var mvnoValue: String = "",
val bearerBitmask: Int = 0,
val edited: Int = Telephony.Carriers.USER_EDITED,
diff --git a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
index c6c37d5..590fe9e 100644
--- a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
@@ -49,13 +49,14 @@
private val apnType = "apn_type"
private val apnRoaming = "IPv4"
private val apnEnable = context.resources.getString(R.string.carrier_enabled)
+ private val apnProtocolOptions = context.resources.getStringArray(R.array.apn_protocol_entries).toList()
private val apnData = ApnData(
name = apnName,
mmsc = mmsc,
mmsProxy = mmsProxy,
mnc = mnc,
apnType = apnType,
- apnRoaming = apnRoaming,
+ apnRoaming = apnProtocolOptions.indexOf(apnRoaming),
apnEnable = true
)