From f27c23fa79f92a1df14d5207adcc657a5c36a62b Mon Sep 17 00:00:00 2001 From: Charlotte Lu Date: Thu, 21 Sep 2023 14:25:50 +0800 Subject: [PATCH] SettingsExposedDropdownMenuCheckBox requires input index. Fix: 301354014 Test: Unit Test Change-Id: I4f5ef9a3cfcd0705687232b5e67da8007bf97aed --- .../settings/network/apn/ApnEditPageProvider.kt | 12 ++++++------ src/com/android/settings/network/apn/ApnStatus.kt | 6 +++--- .../settings/network/apn/ApnEditPageProviderTest.kt | 3 ++- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/network/apn/ApnEditPageProvider.kt b/src/com/android/settings/network/apn/ApnEditPageProvider.kt index 756d90f3af3..90d96c6b795 100644 --- a/src/com/android/settings/network/apn/ApnEditPageProvider.kt +++ b/src/com/android/settings/network/apn/ApnEditPageProvider.kt @@ -148,13 +148,13 @@ fun ApnPage(apnDataCur: MutableState) { 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 8a2d6134345..7f4c297c131 100644 --- a/src/com/android/settings/network/apn/ApnStatus.kt +++ b/src/com/android/settings/network/apn/ApnStatus.kt @@ -34,11 +34,11 @@ data class ApnData( 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 c6c37d58aad..590fe9e6875 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 @@ class ApnEditPageProviderTest { 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 )