From ca421a6c70c38ff00e4b98bc9d126aca415c6767 Mon Sep 17 00:00:00 2001 From: Sarah Chin Date: Fri, 28 Jan 2022 15:54:36 -0800 Subject: [PATCH] Final API changes for IRadio Remove CarrierRestrictions#priority Move USSD from messaging -> voice Rename DataProfileInfo#TYPE_THREE_GPP/2 -> TYPE_3GPP2 Remove neighboring CID APIs Test: atest VtsHalRadioTargetTest Bug: 199433581 Bug: 216688606 Change-Id: I621d99b8024f92709bcb675b667bcba678eede9b --- .../hardware/radio/data/DataProfileInfo.aidl | 4 +- .../radio/messaging/IRadioMessaging.aidl | 2 - .../messaging/IRadioMessagingIndication.aidl | 1 - .../messaging/IRadioMessagingResponse.aidl | 2 - .../radio/network/NeighboringCell.aidl | 39 --------------- .../radio/sim/CarrierRestrictions.aidl | 1 - .../hardware/radio/voice/IRadioVoice.aidl | 2 + .../radio/voice/IRadioVoiceIndication.aidl | 1 + .../radio/voice/IRadioVoiceResponse.aidl | 2 + .../hardware/radio/voice}/UssdModeType.aidl | 2 +- .../hardware/radio/data/DataProfileInfo.aidl | 6 +-- .../radio/messaging/IRadioMessaging.aidl | 26 ---------- .../messaging/IRadioMessagingIndication.aidl | 11 ----- .../messaging/IRadioMessagingResponse.aidl | 47 ------------------- .../hardware/radio/modem/RadioCapability.aidl | 2 - .../hardware/radio/network/IRadioNetwork.aidl | 1 - .../network/IRadioNetworkIndication.aidl | 1 - .../radio/network/IRadioNetworkResponse.aidl | 3 -- .../radio/network/NeighboringCell.aidl | 30 ------------ .../radio/sim/CarrierRestrictions.aidl | 5 -- .../hardware/radio/voice/EmergencyNumber.aidl | 2 - .../hardware/radio/voice/IRadioVoice.aidl | 27 ++++++++++- .../radio/voice/IRadioVoiceIndication.aidl | 11 +++++ .../radio/voice/IRadioVoiceResponse.aidl | 47 +++++++++++++++++++ .../{messaging => voice}/UssdModeType.aidl | 2 +- .../include/libradiocompat/RadioMessaging.h | 2 - .../include/libradiocompat/RadioVoice.h | 2 + .../messaging/RadioIndication-messaging.cpp | 7 --- .../messaging/RadioMessaging.cpp | 12 ----- .../messaging/RadioResponse-messaging.cpp | 12 ----- .../compat/libradiocompat/network/structs.cpp | 7 --- .../compat/libradiocompat/network/structs.h | 3 -- .../voice/RadioIndication-voice.cpp | 7 +++ .../voice/RadioResponse-voice.cpp | 12 +++++ .../libradiocompat/voice/RadioVoice.cpp | 12 +++++ radio/aidl/vts/radio_data_test.cpp | 8 ++-- radio/aidl/vts/radio_messaging_indication.cpp | 6 --- radio/aidl/vts/radio_messaging_response.cpp | 13 ----- radio/aidl/vts/radio_messaging_test.cpp | 45 ++---------------- radio/aidl/vts/radio_messaging_utils.h | 7 --- radio/aidl/vts/radio_network_test.cpp | 25 +--------- radio/aidl/vts/radio_sim_test.cpp | 13 ++--- radio/aidl/vts/radio_voice_indication.cpp | 6 +++ radio/aidl/vts/radio_voice_response.cpp | 12 +++++ radio/aidl/vts/radio_voice_test.cpp | 45 +++++++++++++++++- radio/aidl/vts/radio_voice_utils.h | 7 +++ 46 files changed, 207 insertions(+), 333 deletions(-) delete mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NeighboringCell.aidl rename radio/aidl/aidl_api/{android.hardware.radio.messaging/current/android/hardware/radio/messaging => android.hardware.radio.voice/current/android/hardware/radio/voice}/UssdModeType.aidl (97%) delete mode 100644 radio/aidl/android/hardware/radio/network/NeighboringCell.aidl rename radio/aidl/android/hardware/radio/{messaging => voice}/UssdModeType.aidl (96%) diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl index c8efea02d0..e21afc93c3 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl @@ -62,6 +62,6 @@ parcelable DataProfileInfo { const int ID_OEM_BASE = 1000; const int ID_INVALID = -1; const int TYPE_COMMON = 0; - const int TYPE_THREE_GPP = 1; - const int TYPE_THREE_GPP2 = 2; + const int TYPE_3GPP = 1; + const int TYPE_3GPP2 = 2; } diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessaging.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessaging.aidl index b0fc349ab8..dfec59ae45 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessaging.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessaging.aidl @@ -37,7 +37,6 @@ interface IRadioMessaging { oneway void acknowledgeIncomingGsmSmsWithPdu(in int serial, in boolean success, in String ackPdu); oneway void acknowledgeLastIncomingCdmaSms(in int serial, in android.hardware.radio.messaging.CdmaSmsAck smsAck); oneway void acknowledgeLastIncomingGsmSms(in int serial, in boolean success, in android.hardware.radio.messaging.SmsAcknowledgeFailCause cause); - oneway void cancelPendingUssd(in int serial); oneway void deleteSmsOnRuim(in int serial, in int index); oneway void deleteSmsOnSim(in int serial, in int index); oneway void getCdmaBroadcastConfig(in int serial); @@ -50,7 +49,6 @@ interface IRadioMessaging { oneway void sendImsSms(in int serial, in android.hardware.radio.messaging.ImsSmsMessage message); oneway void sendSms(in int serial, in android.hardware.radio.messaging.GsmSmsMessage message); oneway void sendSmsExpectMore(in int serial, in android.hardware.radio.messaging.GsmSmsMessage message); - oneway void sendUssd(in int serial, in String ussd); oneway void setCdmaBroadcastActivation(in int serial, in boolean activate); oneway void setCdmaBroadcastConfig(in int serial, in android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo[] configInfo); oneway void setGsmBroadcastActivation(in int serial, in boolean activate); diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingIndication.aidl index 89a0f3b656..8f7824f515 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingIndication.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingIndication.aidl @@ -40,6 +40,5 @@ interface IRadioMessagingIndication { oneway void newSms(in android.hardware.radio.RadioIndicationType type, in byte[] pdu); oneway void newSmsOnSim(in android.hardware.radio.RadioIndicationType type, in int recordNumber); oneway void newSmsStatusReport(in android.hardware.radio.RadioIndicationType type, in byte[] pdu); - oneway void onUssd(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.messaging.UssdModeType modeType, in String msg); oneway void simSmsStorageFull(in android.hardware.radio.RadioIndicationType type); } diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingResponse.aidl index 156f24b653..c3af7a684c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingResponse.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingResponse.aidl @@ -38,7 +38,6 @@ interface IRadioMessagingResponse { oneway void acknowledgeLastIncomingCdmaSmsResponse(in android.hardware.radio.RadioResponseInfo info); oneway void acknowledgeLastIncomingGsmSmsResponse(in android.hardware.radio.RadioResponseInfo info); oneway void acknowledgeRequest(in int serial); - oneway void cancelPendingUssdResponse(in android.hardware.radio.RadioResponseInfo info); oneway void deleteSmsOnRuimResponse(in android.hardware.radio.RadioResponseInfo info); oneway void deleteSmsOnSimResponse(in android.hardware.radio.RadioResponseInfo info); oneway void getCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo[] configs); @@ -50,7 +49,6 @@ interface IRadioMessagingResponse { oneway void sendImsSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms); oneway void sendSmsExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms); oneway void sendSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms); - oneway void sendUssdResponse(in android.hardware.radio.RadioResponseInfo info); oneway void setCdmaBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info); oneway void setCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info); oneway void setGsmBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info); diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NeighboringCell.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NeighboringCell.aidl deleted file mode 100644 index 4f29c0b95b..0000000000 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NeighboringCell.aidl +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/////////////////////////////////////////////////////////////////////////////// -// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // -/////////////////////////////////////////////////////////////////////////////// - -// This file is a snapshot of an AIDL file. Do not edit it manually. There are -// two cases: -// 1). this is a frozen version file - do not edit this in any case. -// 2). this is a 'current' file. If you make a backwards compatible change to -// the interface (from the latest frozen version), the build system will -// prompt you to update this file with `m -update-api`. -// -// You must not make a backward incompatible change to any AIDL file built -// with the aidl_interface module type with versions property set. The module -// type is used to build AIDL files in a way that they can be used across -// independently updatable components of the system. If a device is shipped -// with such a backward incompatible change, it has a high risk of breaking -// later when a module using the interface is updated, e.g., Mainline modules. - -package android.hardware.radio.network; -@VintfStability -parcelable NeighboringCell { - String cid; - int rssi; -} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl index ef9c779d56..85cf86e41f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl @@ -36,6 +36,5 @@ package android.hardware.radio.sim; parcelable CarrierRestrictions { android.hardware.radio.sim.Carrier[] allowedCarriers; android.hardware.radio.sim.Carrier[] excludedCarriers; - boolean priority; boolean allowedCarriersPrioritized; } diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoice.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoice.aidl index 34d155aa79..603b1d67aa 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoice.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoice.aidl @@ -35,6 +35,7 @@ package android.hardware.radio.voice; @VintfStability interface IRadioVoice { oneway void acceptCall(in int serial); + oneway void cancelPendingUssd(in int serial); oneway void conference(in int serial); oneway void dial(in int serial, in android.hardware.radio.voice.Dial dialInfo); oneway void emergencyDial(in int serial, in android.hardware.radio.voice.Dial dialInfo, in int categories, in String[] urns, in android.hardware.radio.voice.EmergencyCallRouting routing, in boolean hasKnownUserIntentEmergency, in boolean isTesting); @@ -59,6 +60,7 @@ interface IRadioVoice { oneway void sendBurstDtmf(in int serial, in String dtmf, in int on, in int off); oneway void sendCdmaFeatureCode(in int serial, in String featureCode); oneway void sendDtmf(in int serial, in String s); + oneway void sendUssd(in int serial, in String ussd); oneway void separateConnection(in int serial, in int gsmIndex); oneway void setCallForward(in int serial, in android.hardware.radio.voice.CallForwardInfo callInfo); oneway void setCallWaiting(in int serial, in boolean enable, in int serviceClass); diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl index af3417d1e2..189ed43cf9 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl @@ -44,6 +44,7 @@ interface IRadioVoiceIndication { oneway void exitEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type); oneway void indicateRingbackTone(in android.hardware.radio.RadioIndicationType type, in boolean start); oneway void onSupplementaryServiceIndication(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.StkCcUnsolSsResult ss); + oneway void onUssd(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.UssdModeType modeType, in String msg); oneway void resendIncallMute(in android.hardware.radio.RadioIndicationType type); oneway void srvccStateNotify(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.SrvccState state); oneway void stkCallControlAlphaNotify(in android.hardware.radio.RadioIndicationType type, in String alpha); diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceResponse.aidl index a3b5e58aed..7acc0446dd 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceResponse.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceResponse.aidl @@ -36,6 +36,7 @@ package android.hardware.radio.voice; interface IRadioVoiceResponse { oneway void acceptCallResponse(in android.hardware.radio.RadioResponseInfo info); oneway void acknowledgeRequest(in int serial); + oneway void cancelPendingUssdResponse(in android.hardware.radio.RadioResponseInfo info); oneway void conferenceResponse(in android.hardware.radio.RadioResponseInfo info); oneway void dialResponse(in android.hardware.radio.RadioResponseInfo info); oneway void emergencyDialResponse(in android.hardware.radio.RadioResponseInfo info); @@ -59,6 +60,7 @@ interface IRadioVoiceResponse { oneway void sendBurstDtmfResponse(in android.hardware.radio.RadioResponseInfo info); oneway void sendCdmaFeatureCodeResponse(in android.hardware.radio.RadioResponseInfo info); oneway void sendDtmfResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendUssdResponse(in android.hardware.radio.RadioResponseInfo info); oneway void separateConnectionResponse(in android.hardware.radio.RadioResponseInfo info); oneway void setCallForwardResponse(in android.hardware.radio.RadioResponseInfo info); oneway void setCallWaitingResponse(in android.hardware.radio.RadioResponseInfo info); diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/UssdModeType.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UssdModeType.aidl similarity index 97% rename from radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/UssdModeType.aidl rename to radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UssdModeType.aidl index 5395b11781..9a9d723ada 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/UssdModeType.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UssdModeType.aidl @@ -31,7 +31,7 @@ // with such a backward incompatible change, it has a high risk of breaking // later when a module using the interface is updated, e.g., Mainline modules. -package android.hardware.radio.messaging; +package android.hardware.radio.voice; @Backing(type="int") @VintfStability enum UssdModeType { NOTIFY = 0, diff --git a/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl b/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl index 7360202aaf..840f6e9573 100644 --- a/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl +++ b/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl @@ -16,9 +16,7 @@ package android.hardware.radio.data; -import android.hardware.radio.RadioAccessFamily; import android.hardware.radio.data.ApnAuthType; -import android.hardware.radio.data.ApnTypes; import android.hardware.radio.data.PdpProtocolType; import android.hardware.radio.data.TrafficDescriptor; @@ -36,8 +34,8 @@ parcelable DataProfileInfo { const int ID_INVALID = 0xFFFFFFFF; const int TYPE_COMMON = 0; - const int TYPE_THREE_GPP = 1; - const int TYPE_THREE_GPP2 = 2; + const int TYPE_3GPP = 1; + const int TYPE_3GPP2 = 2; /** * ID of the data profile. diff --git a/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl b/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl index 1dbaed3787..8bd84a301a 100644 --- a/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl +++ b/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl @@ -78,15 +78,6 @@ oneway interface IRadioMessaging { void acknowledgeLastIncomingGsmSms( in int serial, in boolean success, in SmsAcknowledgeFailCause cause); - /** - * Cancel the current USSD session if one exists. - * - * @param serial Serial number of request. - * - * Response function is IRadioMessagingResponse.cancelPendingUssdResponse() - */ - void cancelPendingUssd(in int serial); - /** * Deletes a CDMA SMS message from RUIM memory. * @@ -211,23 +202,6 @@ oneway interface IRadioMessaging { */ void sendSmsExpectMore(in int serial, in GsmSmsMessage message); - /** - * Send a USSD message. If a USSD session already exists, the message must be sent in the - * context of that session. Otherwise, a new session must be created. The network reply must be - * reported via unsolOnUssd. - * - * Only one USSD session must exist at a time, and the session is assumed to exist until: - * a) The android system invokes cancelUssd() - * b) The implementation sends a unsolOnUssd() with a type code of - * "0" (USSD-Notify/no further action) or "2" (session terminated) - * - * @param serial Serial number of request. - * @param ussd string containing the USSD request in UTF-8 format - * - * Response function is IRadioMessagingResponse.sendUssdResponse() - */ - void sendUssd(in int serial, in String ussd); - /** * Enable or disable the reception of CDMA Cell Broadcast SMS * diff --git a/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl index 4b40bfb6c1..8834cd91c0 100644 --- a/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl +++ b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl @@ -18,7 +18,6 @@ package android.hardware.radio.messaging; import android.hardware.radio.RadioIndicationType; import android.hardware.radio.messaging.CdmaSmsMessage; -import android.hardware.radio.messaging.UssdModeType; /** * Interface declaring unsolicited radio indications for messaging APIs. @@ -85,16 +84,6 @@ oneway interface IRadioMessagingIndication { */ void newSmsStatusReport(in RadioIndicationType type, in byte[] pdu); - /** - * Indicates when a new USSD message is received. The USSD session is assumed to persist if the - * type code is REQUEST, otherwise the current session (if any) is assumed to have terminated. - * - * @param type Type of radio indication - * @param modeType USSD type code - * @param msg Message string in UTF-8, if applicable - */ - void onUssd(in RadioIndicationType type, in UssdModeType modeType, in String msg); - /** * Indicates that SMS storage on the SIM is full. Sent when the network attempts to deliver a * new SMS message. Messages cannot be saved on the SIM until space is freed. In particular, diff --git a/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl index 75fa390cba..492755f6a1 100644 --- a/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl +++ b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl @@ -86,27 +86,6 @@ oneway interface IRadioMessagingResponse { */ void acknowledgeRequest(in int serial); - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SIM_BUSY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:INVALID_STATE - * RadioError:INVALID_ARGUMENTS - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void cancelPendingUssdResponse(in RadioResponseInfo info); - /** * @param info Response info struct containing response type, serial no. and error * @@ -401,32 +380,6 @@ oneway interface IRadioMessagingResponse { */ void sendSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:FDN_CHECK_FAILURE - * RadioError:USSD_MODIFIED_TO_DIAL - * RadioError:USSD_MODIFIED_TO_SS - * RadioError:USSD_MODIFIED_TO_USSD - * RadioError:SIM_BUSY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:ABORTED - * RadioError:SYSTEM_ERR - * RadioError:INVALID_STATE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void sendUssdResponse(in RadioResponseInfo info); - /** * @param info Response info struct containing response type, serial no. and error * diff --git a/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl b/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl index 9bd5f21a7f..96b9d0de48 100644 --- a/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl +++ b/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl @@ -16,8 +16,6 @@ package android.hardware.radio.modem; -import android.hardware.radio.RadioAccessFamily; - @VintfStability parcelable RadioCapability { /** diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl index 7a22a9a68f..cce52ffe52 100644 --- a/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl +++ b/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl @@ -17,7 +17,6 @@ package android.hardware.radio.network; import android.hardware.radio.AccessNetwork; -import android.hardware.radio.RadioAccessFamily; import android.hardware.radio.network.CdmaRoamingType; import android.hardware.radio.network.IRadioNetworkIndication; import android.hardware.radio.network.IRadioNetworkResponse; diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl index 6863ac3acd..f471433780 100644 --- a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl +++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl @@ -21,7 +21,6 @@ import android.hardware.radio.RadioTechnology; import android.hardware.radio.network.BarringInfo; import android.hardware.radio.network.CellIdentity; import android.hardware.radio.network.CellInfo; -import android.hardware.radio.network.Domain; import android.hardware.radio.network.LinkCapacityEstimate; import android.hardware.radio.network.NetworkScanResult; import android.hardware.radio.network.PhoneRestrictedState; diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl index e650321ef9..dcf0004d6c 100644 --- a/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl +++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl @@ -16,7 +16,6 @@ package android.hardware.radio.network; -import android.hardware.radio.RadioAccessFamily; import android.hardware.radio.RadioResponseInfo; import android.hardware.radio.RadioTechnology; import android.hardware.radio.RadioTechnologyFamily; @@ -24,8 +23,6 @@ import android.hardware.radio.network.BarringInfo; import android.hardware.radio.network.CdmaRoamingType; import android.hardware.radio.network.CellIdentity; import android.hardware.radio.network.CellInfo; -import android.hardware.radio.network.LceDataInfo; -import android.hardware.radio.network.NeighboringCell; import android.hardware.radio.network.OperatorInfo; import android.hardware.radio.network.RadioAccessSpecifier; import android.hardware.radio.network.RadioBandMode; diff --git a/radio/aidl/android/hardware/radio/network/NeighboringCell.aidl b/radio/aidl/android/hardware/radio/network/NeighboringCell.aidl deleted file mode 100644 index 270bdee021..0000000000 --- a/radio/aidl/android/hardware/radio/network/NeighboringCell.aidl +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.hardware.radio.network; - -@VintfStability -parcelable NeighboringCell { - /** - * Combination of LAC and cell ID in 32 bits in GSM. Upper 16 bits is LAC and lower 16 bits is - * CID (as described in TS 27.005). - */ - String cid; - /** - * Received RSSI in GSM, level index of CPICH Received Signal Code Power in UMTS - */ - int rssi; -} diff --git a/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl index 12df138b5f..ef38fdc171 100644 --- a/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl +++ b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl @@ -30,11 +30,6 @@ parcelable CarrierRestrictions { * is ABCD, all carriers with the same mcc/mnc are allowed. */ Carrier[] excludedCarriers; - /** - * Whether this is a carrier restriction with priority or not. - * If this is false, allowedCarriersPrioritized is not applicable. - */ - boolean priority; /** * True means that only carriers included in the allowed list and not in the excluded list * are permitted. Eg. allowedCarriers match mcc/mnc, excludedCarriers has same mcc/mnc and diff --git a/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl index ddc5d765a0..9fed78e2cb 100644 --- a/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl +++ b/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl @@ -16,8 +16,6 @@ package android.hardware.radio.voice; -import android.hardware.radio.voice.EmergencyServiceCategory; - /** * Emergency number contains information of number, one or more service category(s), zero or more * emergency uniform resource names, mobile country code (mcc), mobile network country (mnc) and diff --git a/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl b/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl index b25e63dff6..c05d2378af 100644 --- a/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl +++ b/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl @@ -19,7 +19,6 @@ package android.hardware.radio.voice; import android.hardware.radio.voice.CallForwardInfo; import android.hardware.radio.voice.Dial; import android.hardware.radio.voice.EmergencyCallRouting; -import android.hardware.radio.voice.EmergencyServiceCategory; import android.hardware.radio.voice.IRadioVoiceIndication; import android.hardware.radio.voice.IRadioVoiceResponse; import android.hardware.radio.voice.TtyMode; @@ -44,6 +43,15 @@ oneway interface IRadioVoice { */ void acceptCall(in int serial); + /** + * Cancel the current USSD session if one exists. + * + * @param serial Serial number of request. + * + * Response function is IRadioVoiceResponse.cancelPendingUssdResponse() + */ + void cancelPendingUssd(in int serial); + /** * Conference holding and active (like AT+CHLD=3) * @@ -324,6 +332,23 @@ oneway interface IRadioVoice { */ void sendDtmf(in int serial, in String s); + /** + * Send a USSD message. If a USSD session already exists, the message must be sent in the + * context of that session. Otherwise, a new session must be created. The network reply must be + * reported via unsolOnUssd. + * + * Only one USSD session must exist at a time, and the session is assumed to exist until: + * a) The android system invokes cancelUssd() + * b) The implementation sends a unsolOnUssd() with a type code of + * "0" (USSD-Notify/no further action) or "2" (session terminated) + * + * @param serial Serial number of request. + * @param ussd string containing the USSD request in UTF-8 format + * + * Response function is IRadioVoiceResponse.sendUssdResponse() + */ + void sendUssd(in int serial, in String ussd); + /** * Separate a party from a multiparty call placing the multiparty call (less the specified * party) on hold and leaving the specified party as the only other member of the current diff --git a/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl b/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl index 25e87b3671..437fef6c59 100644 --- a/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl +++ b/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl @@ -24,6 +24,7 @@ import android.hardware.radio.voice.CdmaSignalInfoRecord; import android.hardware.radio.voice.EmergencyNumber; import android.hardware.radio.voice.SrvccState; import android.hardware.radio.voice.StkCcUnsolSsResult; +import android.hardware.radio.voice.UssdModeType; /** * Interface declaring unsolicited radio indications for voice APIs. @@ -137,6 +138,16 @@ oneway interface IRadioVoiceIndication { */ void onSupplementaryServiceIndication(in RadioIndicationType type, in StkCcUnsolSsResult ss); + /** + * Indicates when a new USSD message is received. The USSD session is assumed to persist if the + * type code is REQUEST, otherwise the current session (if any) is assumed to have terminated. + * + * @param type Type of radio indication + * @param modeType USSD type code + * @param msg Message string in UTF-8, if applicable + */ + void onUssd(in RadioIndicationType type, in UssdModeType modeType, in String msg); + /** * Indicates that framework/application must reset the uplink mute state. * diff --git a/radio/aidl/android/hardware/radio/voice/IRadioVoiceResponse.aidl b/radio/aidl/android/hardware/radio/voice/IRadioVoiceResponse.aidl index d126fc1905..cf1b953fc6 100644 --- a/radio/aidl/android/hardware/radio/voice/IRadioVoiceResponse.aidl +++ b/radio/aidl/android/hardware/radio/voice/IRadioVoiceResponse.aidl @@ -57,6 +57,27 @@ oneway interface IRadioVoiceResponse { */ void acknowledgeRequest(in int serial); + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_BUSY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void cancelPendingUssdResponse(in RadioResponseInfo info); + /** * @param info Response info struct containing response type, serial no. and error * @@ -563,6 +584,32 @@ oneway interface IRadioVoiceResponse { */ void sendDtmfResponse(in RadioResponseInfo info); + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:FDN_CHECK_FAILURE + * RadioError:USSD_MODIFIED_TO_DIAL + * RadioError:USSD_MODIFIED_TO_SS + * RadioError:USSD_MODIFIED_TO_USSD + * RadioError:SIM_BUSY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:ABORTED + * RadioError:SYSTEM_ERR + * RadioError:INVALID_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void sendUssdResponse(in RadioResponseInfo info); + /** * @param info Response info struct containing response type, serial no. and error * diff --git a/radio/aidl/android/hardware/radio/messaging/UssdModeType.aidl b/radio/aidl/android/hardware/radio/voice/UssdModeType.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/messaging/UssdModeType.aidl rename to radio/aidl/android/hardware/radio/voice/UssdModeType.aidl index c3c111ea77..48d1fca37d 100644 --- a/radio/aidl/android/hardware/radio/messaging/UssdModeType.aidl +++ b/radio/aidl/android/hardware/radio/voice/UssdModeType.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio.messaging; +package android.hardware.radio.voice; @VintfStability @Backing(type="int") diff --git a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioMessaging.h b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioMessaging.h index 419e9fb3a4..047f836163 100644 --- a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioMessaging.h +++ b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioMessaging.h @@ -33,7 +33,6 @@ class RadioMessaging : public RadioCompatBase, ::ndk::ScopedAStatus acknowledgeLastIncomingGsmSms( int32_t serial, bool success, ::aidl::android::hardware::radio::messaging::SmsAcknowledgeFailCause cause) override; - ::ndk::ScopedAStatus cancelPendingUssd(int32_t serial) override; ::ndk::ScopedAStatus deleteSmsOnRuim(int32_t serial, int32_t index) override; ::ndk::ScopedAStatus deleteSmsOnSim(int32_t serial, int32_t index) override; ::ndk::ScopedAStatus getCdmaBroadcastConfig(int32_t serial) override; @@ -56,7 +55,6 @@ class RadioMessaging : public RadioCompatBase, ::ndk::ScopedAStatus sendSmsExpectMore( int32_t serial, const ::aidl::android::hardware::radio::messaging::GsmSmsMessage& message) override; - ::ndk::ScopedAStatus sendUssd(int32_t serial, const std::string& ussd) override; ::ndk::ScopedAStatus setCdmaBroadcastActivation(int32_t serial, bool activate) override; ::ndk::ScopedAStatus setCdmaBroadcastConfig( int32_t serial, diff --git a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioVoice.h b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioVoice.h index a0e1e82f5f..0f1d5fda61 100644 --- a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioVoice.h +++ b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioVoice.h @@ -26,6 +26,7 @@ class RadioVoice : public RadioCompatBase, std::shared_ptr<::aidl::android::hardware::radio::voice::IRadioVoiceResponse> respond(); ::ndk::ScopedAStatus acceptCall(int32_t serial) override; + ::ndk::ScopedAStatus cancelPendingUssd(int32_t serial) override; ::ndk::ScopedAStatus conference(int32_t serial) override; ::ndk::ScopedAStatus dial( int32_t serial, const ::aidl::android::hardware::radio::voice::Dial& dialInfo) override; @@ -58,6 +59,7 @@ class RadioVoice : public RadioCompatBase, int32_t off) override; ::ndk::ScopedAStatus sendCdmaFeatureCode(int32_t serial, const std::string& fcode) override; ::ndk::ScopedAStatus sendDtmf(int32_t serial, const std::string& s) override; + ::ndk::ScopedAStatus sendUssd(int32_t serial, const std::string& ussd) override; ::ndk::ScopedAStatus separateConnection(int32_t serial, int32_t gsmIndex) override; ::ndk::ScopedAStatus setCallForward( int32_t serial, diff --git a/radio/aidl/compat/libradiocompat/messaging/RadioIndication-messaging.cpp b/radio/aidl/compat/libradiocompat/messaging/RadioIndication-messaging.cpp index e5c33b300f..eb87828dde 100644 --- a/radio/aidl/compat/libradiocompat/messaging/RadioIndication-messaging.cpp +++ b/radio/aidl/compat/libradiocompat/messaging/RadioIndication-messaging.cpp @@ -73,13 +73,6 @@ Return RadioIndication::newSmsStatusReport(V1_0::RadioIndicationType type, return {}; } -Return RadioIndication::onUssd(V1_0::RadioIndicationType type, V1_0::UssdModeType modeType, - const hidl_string& msg) { - LOG_CALL << type; - messagingCb()->onUssd(toAidl(type), aidl::UssdModeType(modeType), msg); - return {}; -} - Return RadioIndication::simSmsStorageFull(V1_0::RadioIndicationType type) { LOG_CALL << type; messagingCb()->simSmsStorageFull(toAidl(type)); diff --git a/radio/aidl/compat/libradiocompat/messaging/RadioMessaging.cpp b/radio/aidl/compat/libradiocompat/messaging/RadioMessaging.cpp index 4d94e17e99..56d49f1bb9 100644 --- a/radio/aidl/compat/libradiocompat/messaging/RadioMessaging.cpp +++ b/radio/aidl/compat/libradiocompat/messaging/RadioMessaging.cpp @@ -54,12 +54,6 @@ ScopedAStatus RadioMessaging::acknowledgeLastIncomingGsmSms( // return ok(); } -ScopedAStatus RadioMessaging::cancelPendingUssd(int32_t serial) { - LOG_CALL << serial; - mHal1_5->cancelPendingUssd(serial); - return ok(); -} - ScopedAStatus RadioMessaging::deleteSmsOnRuim(int32_t serial, int32_t index) { LOG_CALL << serial << ' ' << index; mHal1_5->deleteSmsOnRuim(serial, index); @@ -148,12 +142,6 @@ ScopedAStatus RadioMessaging::sendSmsExpectMore(int32_t serial, const aidl::GsmS return ok(); } -ScopedAStatus RadioMessaging::sendUssd(int32_t serial, const std::string& ussd) { - LOG_CALL << serial << ' ' << ussd; - mHal1_5->sendUssd(serial, ussd); - return ok(); -} - ScopedAStatus RadioMessaging::setCdmaBroadcastActivation(int32_t serial, bool activate) { LOG_CALL << serial << ' ' << activate; mHal1_5->setCdmaBroadcastActivation(serial, activate); diff --git a/radio/aidl/compat/libradiocompat/messaging/RadioResponse-messaging.cpp b/radio/aidl/compat/libradiocompat/messaging/RadioResponse-messaging.cpp index 24ad3d7c9b..7a9273fbb4 100644 --- a/radio/aidl/compat/libradiocompat/messaging/RadioResponse-messaging.cpp +++ b/radio/aidl/compat/libradiocompat/messaging/RadioResponse-messaging.cpp @@ -57,12 +57,6 @@ Return RadioResponse::acknowledgeLastIncomingGsmSmsResponse( return {}; } -Return RadioResponse::cancelPendingUssdResponse(const V1_0::RadioResponseInfo& info) { - LOG_CALL << info.serial; - messagingCb()->cancelPendingUssdResponse(toAidl(info)); - return {}; -} - Return RadioResponse::deleteSmsOnRuimResponse(const V1_0::RadioResponseInfo& info) { LOG_CALL << info.serial; messagingCb()->deleteSmsOnRuimResponse(toAidl(info)); @@ -166,12 +160,6 @@ Return RadioResponse::sendSmsResponse_1_6(const V1_6::RadioResponseInfo& i return {}; } -Return RadioResponse::sendUssdResponse(const V1_0::RadioResponseInfo& info) { - LOG_CALL << info.serial; - messagingCb()->sendUssdResponse(toAidl(info)); - return {}; -} - Return RadioResponse::setCdmaBroadcastActivationResponse( const V1_0::RadioResponseInfo& info) { LOG_CALL << info.serial; diff --git a/radio/aidl/compat/libradiocompat/network/structs.cpp b/radio/aidl/compat/libradiocompat/network/structs.cpp index 87a021f03d..c1d9b35dd6 100644 --- a/radio/aidl/compat/libradiocompat/network/structs.cpp +++ b/radio/aidl/compat/libradiocompat/network/structs.cpp @@ -650,13 +650,6 @@ aidl::RegStateResult toAidl(const V1_6::RegStateResult& res) { }; } -aidl::NeighboringCell toAidl(const V1_0::NeighboringCell& cell) { - return { - .cid = cell.cid, - .rssi = cell.rssi, - }; -} - aidl::LceDataInfo toAidl(const V1_0::LceDataInfo& info) { return { .lastHopCapacityKbps = static_cast(info.lastHopCapacityKbps), diff --git a/radio/aidl/compat/libradiocompat/network/structs.h b/radio/aidl/compat/libradiocompat/network/structs.h index 854cb38058..aaa49a07e6 100644 --- a/radio/aidl/compat/libradiocompat/network/structs.h +++ b/radio/aidl/compat/libradiocompat/network/structs.h @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -92,8 +91,6 @@ toAidl(const V1_0::SuppSvcNotification& svc); ::aidl::android::hardware::radio::network::RegStateResult toAidl(const V1_5::RegStateResult& res); ::aidl::android::hardware::radio::network::RegStateResult toAidl(const V1_6::RegStateResult& res); -::aidl::android::hardware::radio::network::NeighboringCell toAidl(const V1_0::NeighboringCell& c); - ::aidl::android::hardware::radio::network::LceDataInfo toAidl(const V1_0::LceDataInfo& info); } // namespace android::hardware::radio::compat diff --git a/radio/aidl/compat/libradiocompat/voice/RadioIndication-voice.cpp b/radio/aidl/compat/libradiocompat/voice/RadioIndication-voice.cpp index 359fce0321..23878ed849 100644 --- a/radio/aidl/compat/libradiocompat/voice/RadioIndication-voice.cpp +++ b/radio/aidl/compat/libradiocompat/voice/RadioIndication-voice.cpp @@ -102,6 +102,13 @@ Return RadioIndication::onSupplementaryServiceIndication(V1_0::RadioIndica return {}; } +Return RadioIndication::onUssd(V1_0::RadioIndicationType type, V1_0::UssdModeType modeType, + const hidl_string& msg) { + LOG_CALL << type; + voiceCb()->onUssd(toAidl(type), aidl::UssdModeType(modeType), msg); + return {}; +} + Return RadioIndication::resendIncallMute(V1_0::RadioIndicationType type) { LOG_CALL << type; voiceCb()->resendIncallMute(toAidl(type)); diff --git a/radio/aidl/compat/libradiocompat/voice/RadioResponse-voice.cpp b/radio/aidl/compat/libradiocompat/voice/RadioResponse-voice.cpp index d233548233..5307e11183 100644 --- a/radio/aidl/compat/libradiocompat/voice/RadioResponse-voice.cpp +++ b/radio/aidl/compat/libradiocompat/voice/RadioResponse-voice.cpp @@ -42,6 +42,12 @@ Return RadioResponse::acceptCallResponse(const V1_0::RadioResponseInfo& in return {}; } +Return RadioResponse::cancelPendingUssdResponse(const V1_0::RadioResponseInfo& info) { + LOG_CALL << info.serial; + voiceCb()->cancelPendingUssdResponse(toAidl(info)); + return {}; +} + Return RadioResponse::conferenceResponse(const V1_0::RadioResponseInfo& info) { LOG_CALL << info.serial; voiceCb()->conferenceResponse(toAidl(info)); @@ -198,6 +204,12 @@ Return RadioResponse::sendDtmfResponse(const V1_0::RadioResponseInfo& info return {}; } +Return RadioResponse::sendUssdResponse(const V1_0::RadioResponseInfo& info) { + LOG_CALL << info.serial; + voiceCb()->sendUssdResponse(toAidl(info)); + return {}; +} + Return RadioResponse::separateConnectionResponse(const V1_0::RadioResponseInfo& info) { LOG_CALL << info.serial; voiceCb()->separateConnectionResponse(toAidl(info)); diff --git a/radio/aidl/compat/libradiocompat/voice/RadioVoice.cpp b/radio/aidl/compat/libradiocompat/voice/RadioVoice.cpp index 71d1a568a4..9088f01f3d 100644 --- a/radio/aidl/compat/libradiocompat/voice/RadioVoice.cpp +++ b/radio/aidl/compat/libradiocompat/voice/RadioVoice.cpp @@ -40,6 +40,12 @@ ScopedAStatus RadioVoice::acceptCall(int32_t serial) { return ok(); } +ScopedAStatus RadioVoice::cancelPendingUssd(int32_t serial) { + LOG_CALL << serial; + mHal1_5->cancelPendingUssd(serial); + return ok(); +} + ScopedAStatus RadioVoice::conference(int32_t serial) { LOG_CALL << serial; mHal1_5->conference(serial); @@ -201,6 +207,12 @@ ScopedAStatus RadioVoice::sendDtmf(int32_t serial, const std::string& s) { return ok(); } +ScopedAStatus RadioVoice::sendUssd(int32_t serial, const std::string& ussd) { + LOG_CALL << serial << ' ' << ussd; + mHal1_5->sendUssd(serial, ussd); + return ok(); +} + ScopedAStatus RadioVoice::separateConnection(int32_t serial, int32_t gsmIndex) { LOG_CALL << serial; mHal1_5->separateConnection(serial, gsmIndex); diff --git a/radio/aidl/vts/radio_data_test.cpp b/radio/aidl/vts/radio_data_test.cpp index 616e3391a3..f38a958896 100644 --- a/radio/aidl/vts/radio_data_test.cpp +++ b/radio/aidl/vts/radio_data_test.cpp @@ -83,7 +83,7 @@ TEST_P(RadioDataTest, setupDataCall) { dataProfileInfo.authType = ApnAuthType::NO_PAP_NO_CHAP; dataProfileInfo.user = std::string("username"); dataProfileInfo.password = std::string("password"); - dataProfileInfo.type = DataProfileInfo::TYPE_THREE_GPP; + dataProfileInfo.type = DataProfileInfo::TYPE_3GPP; dataProfileInfo.maxConnsTime = 300; dataProfileInfo.maxConns = 20; dataProfileInfo.waitTime = 0; @@ -157,7 +157,7 @@ TEST_P(RadioDataTest, setupDataCall_osAppId) { dataProfileInfo.authType = ApnAuthType::NO_PAP_NO_CHAP; dataProfileInfo.user = std::string("username"); dataProfileInfo.password = std::string("password"); - dataProfileInfo.type = DataProfileInfo::TYPE_THREE_GPP; + dataProfileInfo.type = DataProfileInfo::TYPE_3GPP; dataProfileInfo.maxConnsTime = 300; dataProfileInfo.maxConns = 20; dataProfileInfo.waitTime = 0; @@ -326,7 +326,7 @@ TEST_P(RadioDataTest, setInitialAttachApn) { dataProfileInfo.authType = ApnAuthType::NO_PAP_NO_CHAP; dataProfileInfo.user = std::string("username"); dataProfileInfo.password = std::string("password"); - dataProfileInfo.type = DataProfileInfo::TYPE_THREE_GPP; + dataProfileInfo.type = DataProfileInfo::TYPE_3GPP; dataProfileInfo.maxConnsTime = 300; dataProfileInfo.maxConns = 20; dataProfileInfo.waitTime = 0; @@ -369,7 +369,7 @@ TEST_P(RadioDataTest, setDataProfile) { dataProfileInfo.authType = ApnAuthType::NO_PAP_NO_CHAP; dataProfileInfo.user = std::string("username"); dataProfileInfo.password = std::string("password"); - dataProfileInfo.type = DataProfileInfo::TYPE_THREE_GPP; + dataProfileInfo.type = DataProfileInfo::TYPE_3GPP; dataProfileInfo.maxConnsTime = 300; dataProfileInfo.maxConns = 20; dataProfileInfo.waitTime = 0; diff --git a/radio/aidl/vts/radio_messaging_indication.cpp b/radio/aidl/vts/radio_messaging_indication.cpp index c69611f74d..481239e647 100644 --- a/radio/aidl/vts/radio_messaging_indication.cpp +++ b/radio/aidl/vts/radio_messaging_indication.cpp @@ -48,12 +48,6 @@ ndk::ScopedAStatus RadioMessagingIndication::newSmsStatusReport( return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus RadioMessagingIndication::onUssd(RadioIndicationType /*type*/, - UssdModeType /*modeType*/, - const std::string& /*msg*/) { - return ndk::ScopedAStatus::ok(); -} - ndk::ScopedAStatus RadioMessagingIndication::simSmsStorageFull(RadioIndicationType /*type*/) { return ndk::ScopedAStatus::ok(); } diff --git a/radio/aidl/vts/radio_messaging_response.cpp b/radio/aidl/vts/radio_messaging_response.cpp index 451a10c8cf..49c08061ac 100644 --- a/radio/aidl/vts/radio_messaging_response.cpp +++ b/radio/aidl/vts/radio_messaging_response.cpp @@ -44,13 +44,6 @@ ndk::ScopedAStatus RadioMessagingResponse::acknowledgeRequest(int32_t /*serial*/ return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus RadioMessagingResponse::cancelPendingUssdResponse( - const RadioResponseInfo& info) { - rspInfo = info; - parent_messaging.notify(info.serial); - return ndk::ScopedAStatus::ok(); -} - ndk::ScopedAStatus RadioMessagingResponse::deleteSmsOnRuimResponse(const RadioResponseInfo& info) { rspInfo = info; parent_messaging.notify(info.serial); @@ -130,12 +123,6 @@ ndk::ScopedAStatus RadioMessagingResponse::sendSmsResponse(const RadioResponseIn return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus RadioMessagingResponse::sendUssdResponse(const RadioResponseInfo& info) { - rspInfo = info; - parent_messaging.notify(info.serial); - return ndk::ScopedAStatus::ok(); -} - ndk::ScopedAStatus RadioMessagingResponse::setCdmaBroadcastActivationResponse( const RadioResponseInfo& info) { rspInfo = info; diff --git a/radio/aidl/vts/radio_messaging_test.cpp b/radio/aidl/vts/radio_messaging_test.cpp index 0abdfbc435..9f1718b1a0 100644 --- a/radio/aidl/vts/radio_messaging_test.cpp +++ b/radio/aidl/vts/radio_messaging_test.cpp @@ -418,7 +418,9 @@ TEST_P(RadioMessagingTest, acknowledgeIncomingGsmSmsWithPdu) { EXPECT_EQ(serial, radioRsp_messaging->rspInfo.serial); if (cardStatus.cardState == CardStatus::STATE_ABSENT) { - // TODO(shuoq): Will add error check when we know the expected error from QC + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_messaging->rspInfo.error, + {RadioError::INVALID_ARGUMENTS, RadioError::NO_SMS_TO_ACK}, + CHECK_GENERAL_ERROR)); } LOG(DEBUG) << "acknowledgeIncomingGsmSmsWithPdu finished"; } @@ -727,44 +729,3 @@ TEST_P(RadioMessagingTest, reportSmsMemoryStatus) { } LOG(DEBUG) << "reportSmsMemoryStatus finished"; } - -/* - * Test IRadioMessaging.sendUssd() for the response returned. - */ -TEST_P(RadioMessagingTest, sendUssd) { - LOG(DEBUG) << "sendUssd"; - serial = GetRandomSerialNumber(); - radio_messaging->sendUssd(serial, std::string("test")); - EXPECT_EQ(std::cv_status::no_timeout, wait()); - EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_messaging->rspInfo.type); - EXPECT_EQ(serial, radioRsp_messaging->rspInfo.serial); - - if (cardStatus.cardState == CardStatus::STATE_ABSENT) { - ASSERT_TRUE(CheckAnyOfErrors( - radioRsp_messaging->rspInfo.error, - {RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, - CHECK_GENERAL_ERROR)); - } - LOG(DEBUG) << "sendUssd finished"; -} - -/* - * Test IRadioMessaging.cancelPendingUssd() for the response returned. - */ -TEST_P(RadioMessagingTest, cancelPendingUssd) { - LOG(DEBUG) << "cancelPendingUssd"; - serial = GetRandomSerialNumber(); - - radio_messaging->cancelPendingUssd(serial); - EXPECT_EQ(std::cv_status::no_timeout, wait()); - EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_messaging->rspInfo.type); - EXPECT_EQ(serial, radioRsp_messaging->rspInfo.serial); - - if (cardStatus.cardState == CardStatus::STATE_ABSENT) { - ASSERT_TRUE(CheckAnyOfErrors( - radioRsp_messaging->rspInfo.error, - {RadioError::NONE, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, - CHECK_GENERAL_ERROR)); - } - LOG(DEBUG) << "cancelPendingUssd finished"; -} diff --git a/radio/aidl/vts/radio_messaging_utils.h b/radio/aidl/vts/radio_messaging_utils.h index 7bb99cdcab..7b66192679 100644 --- a/radio/aidl/vts/radio_messaging_utils.h +++ b/radio/aidl/vts/radio_messaging_utils.h @@ -49,8 +49,6 @@ class RadioMessagingResponse : public BnRadioMessagingResponse { virtual ndk::ScopedAStatus acknowledgeRequest(int32_t serial) override; - virtual ndk::ScopedAStatus cancelPendingUssdResponse(const RadioResponseInfo& info) override; - virtual ndk::ScopedAStatus deleteSmsOnRuimResponse(const RadioResponseInfo& info) override; virtual ndk::ScopedAStatus deleteSmsOnSimResponse(const RadioResponseInfo& info) override; @@ -84,8 +82,6 @@ class RadioMessagingResponse : public BnRadioMessagingResponse { virtual ndk::ScopedAStatus sendSmsResponse(const RadioResponseInfo& info, const SendSmsResult& sms) override; - virtual ndk::ScopedAStatus sendUssdResponse(const RadioResponseInfo& info) override; - virtual ndk::ScopedAStatus setCdmaBroadcastActivationResponse( const RadioResponseInfo& info) override; @@ -132,9 +128,6 @@ class RadioMessagingIndication : public BnRadioMessagingIndication { virtual ndk::ScopedAStatus newSmsStatusReport(RadioIndicationType type, const std::vector& pdu) override; - virtual ndk::ScopedAStatus onUssd(RadioIndicationType type, UssdModeType modeType, - const std::string& msg) override; - virtual ndk::ScopedAStatus simSmsStorageFull(RadioIndicationType type) override; }; diff --git a/radio/aidl/vts/radio_network_test.cpp b/radio/aidl/vts/radio_network_test.cpp index 1c2d50fd9b..391d63c2b6 100644 --- a/radio/aidl/vts/radio_network_test.cpp +++ b/radio/aidl/vts/radio_network_test.cpp @@ -1529,6 +1529,7 @@ TEST_P(RadioNetworkTest, getOperator) { } LOG(DEBUG) << "getOperator finished"; } + /* * Test IRadioNetwork.getNetworkSelectionMode() for the response returned. */ @@ -1610,29 +1611,6 @@ TEST_P(RadioNetworkTest, setBandMode) { LOG(DEBUG) << "setBandMode finished"; } -/* - * Test IRadioNetwork.getNeighboringCids() for the response returned. - */ -TEST_P(RadioNetworkTest, getNeighboringCids) { - // TODO: add API for getNeighboringCids - /** - LOG(DEBUG) << "getNeighboringCids"; - serial = GetRandomSerialNumber(); - - radio_network->getNeighboringCids(serial); - EXPECT_EQ(std::cv_status::no_timeout, wait()); - EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_network->rspInfo.type); - EXPECT_EQ(serial, radioRsp_network->rspInfo.serial); - - if (cardStatus.cardState == CardStatus::STATE_ABSENT) { - ASSERT_TRUE(CheckAnyOfErrors(radioRsp_network->rspInfo.error, - {RadioError::NONE, RadioError::SIM_ABSENT}, - CHECK_GENERAL_ERROR)); - } - LOG(DEBUG) << "getNeighboringCids finished"; - **/ -} - /* * Test IRadioNetwork.setLocationUpdates() for the response returned. */ @@ -1718,7 +1696,6 @@ TEST_P(RadioNetworkTest, setCellInfoListRate) { LOG(DEBUG) << "setCellInfoListRate"; serial = GetRandomSerialNumber(); - // TODO(sanketpadawe): RIL crashes with value of rate = 10 radio_network->setCellInfoListRate(serial, 10); EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_network->rspInfo.type); diff --git a/radio/aidl/vts/radio_sim_test.cpp b/radio/aidl/vts/radio_sim_test.cpp index 146e86c785..64474c95a8 100644 --- a/radio/aidl/vts/radio_sim_test.cpp +++ b/radio/aidl/vts/radio_sim_test.cpp @@ -387,7 +387,6 @@ TEST_P(RadioSimTest, setAllowedCarriers) { carrierRestrictions.allowedCarriers[0].mnc = std::string("456"); carrierRestrictions.allowedCarriers[0].matchType = Carrier::MATCH_TYPE_ALL; carrierRestrictions.allowedCarriers[0].matchData = std::string(); - carrierRestrictions.priority = true; carrierRestrictions.allowedCarriersPrioritized = true; SimLockMultiSimPolicy multisimPolicy = SimLockMultiSimPolicy::NO_MULTISIM_POLICY; @@ -650,12 +649,10 @@ TEST_P(RadioSimTest, changeIccPin2ForApp) { } /* - * The following test is disabled due to b/109889468 - * * Test IRadioSim.getImsiForApp() for the response returned. */ -TEST_P(RadioSimTest, DISABLED_getImsiForApp) { - LOG(DEBUG) << "DISABLED_getImsiForApp"; +TEST_P(RadioSimTest, getImsiForApp) { + LOG(DEBUG) << "getImsiForApp"; serial = GetRandomSerialNumber(); // Check success returned while getting imsi for 3GPP and 3GPP2 apps only @@ -679,7 +676,7 @@ TEST_P(RadioSimTest, DISABLED_getImsiForApp) { } } } - LOG(DEBUG) << "DISABLED_getImsiForApp finished"; + LOG(DEBUG) << "getImsiForApp finished"; } /* @@ -723,8 +720,6 @@ TEST_P(RadioSimTest, iccTransmitApduBasicChannel) { EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_sim->rspInfo.type); EXPECT_EQ(serial, radioRsp_sim->rspInfo.serial); - - // TODO(sanketpadawe): Add test for error code LOG(DEBUG) << "iccTransmitApduBasicChannel finished"; } @@ -775,8 +770,6 @@ TEST_P(RadioSimTest, iccTransmitApduLogicalChannel) { EXPECT_EQ(std::cv_status::no_timeout, wait()); EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_sim->rspInfo.type); EXPECT_EQ(serial, radioRsp_sim->rspInfo.serial); - - // TODO(sanketpadawe): Add test for error code LOG(DEBUG) << "iccTransmitApduLogicalChannel finished"; } diff --git a/radio/aidl/vts/radio_voice_indication.cpp b/radio/aidl/vts/radio_voice_indication.cpp index d814c1857e..3fee32681d 100644 --- a/radio/aidl/vts/radio_voice_indication.cpp +++ b/radio/aidl/vts/radio_voice_indication.cpp @@ -65,6 +65,12 @@ ndk::ScopedAStatus RadioVoiceIndication::onSupplementaryServiceIndication( return ndk::ScopedAStatus::ok(); } +ndk::ScopedAStatus RadioVoiceIndication::onUssd(RadioIndicationType /*type*/, + UssdModeType /*modeType*/, + const std::string& /*msg*/) { + return ndk::ScopedAStatus::ok(); +} + ndk::ScopedAStatus RadioVoiceIndication::resendIncallMute(RadioIndicationType /*type*/) { return ndk::ScopedAStatus::ok(); } diff --git a/radio/aidl/vts/radio_voice_response.cpp b/radio/aidl/vts/radio_voice_response.cpp index 95b2d4e72e..dd7b1bf261 100644 --- a/radio/aidl/vts/radio_voice_response.cpp +++ b/radio/aidl/vts/radio_voice_response.cpp @@ -28,6 +28,12 @@ ndk::ScopedAStatus RadioVoiceResponse::acknowledgeRequest(int32_t /*serial*/) { return ndk::ScopedAStatus::ok(); } +ndk::ScopedAStatus RadioVoiceResponse::cancelPendingUssdResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_voice.notify(info.serial); + return ndk::ScopedAStatus::ok(); +} + ndk::ScopedAStatus RadioVoiceResponse::conferenceResponse(const RadioResponseInfo& info) { rspInfo = info; parent_voice.notify(info.serial); @@ -182,6 +188,12 @@ ndk::ScopedAStatus RadioVoiceResponse::sendDtmfResponse(const RadioResponseInfo& return ndk::ScopedAStatus::ok(); } +ndk::ScopedAStatus RadioVoiceResponse::sendUssdResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_voice.notify(info.serial); + return ndk::ScopedAStatus::ok(); +} + ndk::ScopedAStatus RadioVoiceResponse::separateConnectionResponse(const RadioResponseInfo& info) { rspInfo = info; parent_voice.notify(info.serial); diff --git a/radio/aidl/vts/radio_voice_test.cpp b/radio/aidl/vts/radio_voice_test.cpp index 0556938620..eec28b16af 100644 --- a/radio/aidl/vts/radio_voice_test.cpp +++ b/radio/aidl/vts/radio_voice_test.cpp @@ -324,7 +324,7 @@ TEST_P(RadioVoiceTest, getClip) { * Test IRadioVoice.getTtyMode() for the response returned. */ TEST_P(RadioVoiceTest, getTtyMode) { - LOG(DEBUG) << "getTTYMode"; + LOG(DEBUG) << "getTtyMode"; serial = GetRandomSerialNumber(); radio_voice->getTtyMode(serial); @@ -335,7 +335,7 @@ TEST_P(RadioVoiceTest, getTtyMode) { if (cardStatus.cardState == CardStatus::STATE_ABSENT) { EXPECT_EQ(RadioError::NONE, radioRsp_voice->rspInfo.error); } - LOG(DEBUG) << "getTTYMode finished"; + LOG(DEBUG) << "getTtyMode finished"; } /* @@ -902,3 +902,44 @@ TEST_P(RadioVoiceTest, sendBurstDtmf) { } LOG(DEBUG) << "sendBurstDtmf finished"; } + +/* + * Test IRadioVoice.sendUssd() for the response returned. + */ +TEST_P(RadioVoiceTest, sendUssd) { + LOG(DEBUG) << "sendUssd"; + serial = GetRandomSerialNumber(); + radio_voice->sendUssd(serial, std::string("test")); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_voice->rspInfo.type); + EXPECT_EQ(serial, radioRsp_voice->rspInfo.serial); + + if (cardStatus.cardState == CardStatus::STATE_ABSENT) { + ASSERT_TRUE(CheckAnyOfErrors( + radioRsp_voice->rspInfo.error, + {RadioError::INVALID_ARGUMENTS, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, + CHECK_GENERAL_ERROR)); + } + LOG(DEBUG) << "sendUssd finished"; +} + +/* + * Test IRadioVoice.cancelPendingUssd() for the response returned. + */ +TEST_P(RadioVoiceTest, cancelPendingUssd) { + LOG(DEBUG) << "cancelPendingUssd"; + serial = GetRandomSerialNumber(); + + radio_voice->cancelPendingUssd(serial); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_voice->rspInfo.type); + EXPECT_EQ(serial, radioRsp_voice->rspInfo.serial); + + if (cardStatus.cardState == CardStatus::STATE_ABSENT) { + ASSERT_TRUE(CheckAnyOfErrors( + radioRsp_voice->rspInfo.error, + {RadioError::NONE, RadioError::INVALID_STATE, RadioError::MODEM_ERR}, + CHECK_GENERAL_ERROR)); + } + LOG(DEBUG) << "cancelPendingUssd finished"; +} diff --git a/radio/aidl/vts/radio_voice_utils.h b/radio/aidl/vts/radio_voice_utils.h index d61bf1eee8..0c3df7fbbf 100644 --- a/radio/aidl/vts/radio_voice_utils.h +++ b/radio/aidl/vts/radio_voice_utils.h @@ -43,6 +43,8 @@ class RadioVoiceResponse : public BnRadioVoiceResponse { virtual ndk::ScopedAStatus acknowledgeRequest(int32_t serial) override; + virtual ndk::ScopedAStatus cancelPendingUssdResponse(const RadioResponseInfo& info) override; + virtual ndk::ScopedAStatus conferenceResponse(const RadioResponseInfo& info) override; virtual ndk::ScopedAStatus dialResponse(const RadioResponseInfo& info) override; @@ -103,6 +105,8 @@ class RadioVoiceResponse : public BnRadioVoiceResponse { virtual ndk::ScopedAStatus sendDtmfResponse(const RadioResponseInfo& info) override; + virtual ndk::ScopedAStatus sendUssdResponse(const RadioResponseInfo& info) override; + virtual ndk::ScopedAStatus separateConnectionResponse(const RadioResponseInfo& info) override; virtual ndk::ScopedAStatus setCallForwardResponse(const RadioResponseInfo& info) override; @@ -164,6 +168,9 @@ class RadioVoiceIndication : public BnRadioVoiceIndication { virtual ndk::ScopedAStatus onSupplementaryServiceIndication( RadioIndicationType type, const StkCcUnsolSsResult& ss) override; + virtual ndk::ScopedAStatus onUssd(RadioIndicationType type, UssdModeType modeType, + const std::string& msg) override; + virtual ndk::ScopedAStatus resendIncallMute(RadioIndicationType type) override; virtual ndk::ScopedAStatus srvccStateNotify(RadioIndicationType type,