aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarah Chin <sarahchin@google.com>2022-05-09 16:57:03 -0700
committerSarah Chin <sarahchin@google.com>2022-05-09 22:40:45 -0700
commitd4ab58754bd0f72ffbd8a5af1335ad10de5e6c56 (patch)
tree3d24eedf2d74d9df1d78cebf520525b2326bdbd0
parent828719dd9f07d718bdfed8997d8d0773e2aa194b (diff)
downloadcuttlefish-d4ab58754bd0f72ffbd8a5af1335ad10de5e6c56.tar.gz
Fix CF implementation errors for CTS
Test: atest CtsTelephonyTestCases, RilE2eTests Bug: 230492240 Change-Id: Ide22242bac039e64e2771d596ffcd32ec9005cf3
-rw-r--r--guest/hals/ril/reference-libril/ril_config.cpp4
-rw-r--r--guest/hals/ril/reference-libril/ril_service.cpp5
-rw-r--r--guest/hals/ril/reference-ril/reference-ril.c59
-rw-r--r--shared/permissions/cuttlefish_excluded_hardware.xml3
-rw-r--r--tests/ril/src/com/android/cuttlefish/ril/tests/RilE2eTests.java10
5 files changed, 51 insertions, 30 deletions
diff --git a/guest/hals/ril/reference-libril/ril_config.cpp b/guest/hals/ril/reference-libril/ril_config.cpp
index 28e214007..80c8aa0f9 100644
--- a/guest/hals/ril/reference-libril/ril_config.cpp
+++ b/guest/hals/ril/reference-libril/ril_config.cpp
@@ -167,14 +167,14 @@ Return<void> RadioConfigImpl::setSimSlotsMapping(int32_t serial, const hidl_vec<
}
size_t slotNum = slotMap.size();
- if (slotNum > RIL_SOCKET_NUM) {
+ if (slotNum > MAX_LOGICAL_MODEM_NUM) {
RLOGE("setSimSlotsMapping: invalid parameter");
sendErrorResponse(pRI, RIL_E_INVALID_ARGUMENTS);
return Void();
}
for (size_t socket_id = 0; socket_id < slotNum; socket_id++) {
- if (slotMap[socket_id] >= RIL_SOCKET_NUM) {
+ if (slotMap[socket_id] >= MAX_LOGICAL_MODEM_NUM) {
RLOGE("setSimSlotsMapping: invalid parameter[%zu]", socket_id);
sendErrorResponse(pRI, RIL_E_INVALID_ARGUMENTS);
return Void();
diff --git a/guest/hals/ril/reference-libril/ril_service.cpp b/guest/hals/ril/reference-libril/ril_service.cpp
index 2bee0572f..5fdc3dcbd 100644
--- a/guest/hals/ril/reference-libril/ril_service.cpp
+++ b/guest/hals/ril/reference-libril/ril_service.cpp
@@ -12652,6 +12652,11 @@ void convertRilCellInfoListToHal_1_6(void* response, size_t responseLen,
rillCellInfo->CellInfo.lte.cellIdentityLte.tac;
cellInfoLte.cellIdentityLte.base.base.earfcn =
rillCellInfo->CellInfo.lte.cellIdentityLte.earfcn;
+ cellInfoLte.cellIdentityLte.base.bandwidth = INT_MAX;
+ hidl_vec<V1_5::EutranBands> bands;
+ bands.resize(1);
+ bands[0] = V1_5::EutranBands::BAND_1;
+ cellInfoLte.cellIdentityLte.bands = bands;
cellInfoLte.signalStrengthLte.base.signalStrength =
rillCellInfo->CellInfo.lte.signalStrengthLte.signalStrength;
cellInfoLte.signalStrengthLte.base.rsrp =
diff --git a/guest/hals/ril/reference-ril/reference-ril.c b/guest/hals/ril/reference-ril/reference-ril.c
index 055108559..5d39ff1bc 100644
--- a/guest/hals/ril/reference-ril/reference-ril.c
+++ b/guest/hals/ril/reference-ril/reference-ril.c
@@ -715,6 +715,18 @@ static void requestShutdown(RIL_Token t)
return;
}
+static void requestNvResetConfig(void* data, size_t datalen __unused, RIL_Token t) {
+ assert(datalen >= sizeof(int*));
+ int nvConfig = ((int*)data)[0];
+ if (nvConfig == 1 /* ResetNvType::RELOAD */) {
+ setRadioState(RADIO_STATE_OFF);
+ // Wait for FW to process radio off before sending radio on for reboot
+ sleep(5);
+ setRadioState(RADIO_STATE_ON);
+ }
+ RIL_onRequestComplete(t, RIL_E_SUCCESS, NULL, 0);
+}
+
static void requestOrSendDataCallList(int cid, RIL_Token *t);
static void onDataCallListChanged(void *param __unused)
@@ -3329,29 +3341,32 @@ static void requestGetCellInfoList(void *data __unused, size_t datalen __unused,
}
static void requestGetCellInfoList_1_6(void* data __unused, size_t datalen __unused, RIL_Token t) {
- uint64_t curTime = ril_nano_time();
RIL_CellInfo_v16 ci[1] = {{ // ci[0]
- 1, // cellInfoType
+ 3, // cellInfoType
1, // registered
CELL_CONNECTION_PRIMARY_SERVING,
- { // union CellInfo
- {// RIL_CellInfoGsm gsm
- {
- // gsm.cellIdneityGsm
- s_mcc, // mcc
- s_mnc, // mnc
- s_lac, // lac
- s_cid, // cid
- 0, // arfcn unknown
- 0x1, // Base Station Identity Code set to arbitrarily 1
- },
- {
- // gsm.signalStrengthGsm
- 10, // signalStrength
- 0 // bitErrorRate
- ,
- INT_MAX // timingAdvance invalid value
- }}}}};
+ { // union CellInfo
+ .lte = {// RIL_CellInfoLte_v12 lte
+ {
+ // RIL_CellIdentityLte_v12
+ // lte.cellIdentityLte
+ s_mcc, // mcc
+ s_mnc, // mnc
+ s_cid, // ci
+ 0, // pci
+ s_lac, // tac
+ 7, // earfcn
+ },
+ {
+ // RIL_LTE_SignalStrength_v8
+ // lte.signalStrengthLte
+ 10, // signalStrength
+ 44, // rsrp
+ 3, // rsrq
+ 30, // rssnr
+ 0, // cqi
+ INT_MAX // timingAdvance invalid value
+ }}}}};
RIL_onRequestComplete(t, RIL_E_SUCCESS, ci, sizeof(ci));
}
@@ -4819,6 +4834,10 @@ onRequest (int request, void *data, size_t datalen, RIL_Token t)
RIL_onRequestComplete(t, RIL_E_SUCCESS, NULL, 0);
break;
+ case RIL_REQUEST_NV_RESET_CONFIG:
+ requestNvResetConfig(data, datalen, t);
+ break;
+
case RIL_REQUEST_BASEBAND_VERSION:
requestCdmaBaseBandVersion(request, data, datalen, t);
break;
diff --git a/shared/permissions/cuttlefish_excluded_hardware.xml b/shared/permissions/cuttlefish_excluded_hardware.xml
index 11e9c429b..c3d03d597 100644
--- a/shared/permissions/cuttlefish_excluded_hardware.xml
+++ b/shared/permissions/cuttlefish_excluded_hardware.xml
@@ -16,7 +16,4 @@
<permissions>
<unavailable-feature name="android.software.print" />
<unavailable-feature name="android.software.voice_recognizers" />
-<!-- b/208794808 Exclude this feature to skip the CTS test
- android.telephony.cts.TelephonyManagerTest#testSimSlotMapping -->
- <unavailable-feature name="android.hardware.telephony.subscription" />
</permissions>
diff --git a/tests/ril/src/com/android/cuttlefish/ril/tests/RilE2eTests.java b/tests/ril/src/com/android/cuttlefish/ril/tests/RilE2eTests.java
index 534f676bc..d63399169 100644
--- a/tests/ril/src/com/android/cuttlefish/ril/tests/RilE2eTests.java
+++ b/tests/ril/src/com/android/cuttlefish/ril/tests/RilE2eTests.java
@@ -23,8 +23,8 @@ import android.net.Network;
import android.net.NetworkInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
-import android.telephony.CellInfoGsm;
-import android.telephony.CellSignalStrengthGsm;
+import android.telephony.CellInfoLte;
+import android.telephony.CellSignalStrengthLte;
import android.telephony.TelephonyManager;
import android.util.Log;
@@ -142,9 +142,9 @@ public class RilE2eTests {
@Test
public void testSignalLevels() throws Exception {
- CellInfoGsm cellinfogsm = (CellInfoGsm)mTeleManager.getAllCellInfo().get(0);
- CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
- int bars = cellSignalStrengthGsm.getLevel();
+ CellInfoLte cellInfo = (CellInfoLte) mTeleManager.getAllCellInfo().get(0);
+ CellSignalStrengthLte signalStrength = cellInfo.getCellSignalStrength();
+ int bars = signalStrength.getLevel();
Assert.assertThat("Signal Bars", bars, greaterThan(1));
}
}