mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "Final API changes for IRadio"
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 <name>-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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package android.hardware.radio.modem;
|
||||
|
||||
import android.hardware.radio.RadioAccessFamily;
|
||||
|
||||
@VintfStability
|
||||
parcelable RadioCapability {
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.hardware.radio.messaging;
|
||||
package android.hardware.radio.voice;
|
||||
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -73,13 +73,6 @@ Return<void> RadioIndication::newSmsStatusReport(V1_0::RadioIndicationType type,
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> 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<void> RadioIndication::simSmsStorageFull(V1_0::RadioIndicationType type) {
|
||||
LOG_CALL << type;
|
||||
messagingCb()->simSmsStorageFull(toAidl(type));
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -57,12 +57,6 @@ Return<void> RadioResponse::acknowledgeLastIncomingGsmSmsResponse(
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> RadioResponse::cancelPendingUssdResponse(const V1_0::RadioResponseInfo& info) {
|
||||
LOG_CALL << info.serial;
|
||||
messagingCb()->cancelPendingUssdResponse(toAidl(info));
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> RadioResponse::deleteSmsOnRuimResponse(const V1_0::RadioResponseInfo& info) {
|
||||
LOG_CALL << info.serial;
|
||||
messagingCb()->deleteSmsOnRuimResponse(toAidl(info));
|
||||
@@ -166,12 +160,6 @@ Return<void> RadioResponse::sendSmsResponse_1_6(const V1_6::RadioResponseInfo& i
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> RadioResponse::sendUssdResponse(const V1_0::RadioResponseInfo& info) {
|
||||
LOG_CALL << info.serial;
|
||||
messagingCb()->sendUssdResponse(toAidl(info));
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> RadioResponse::setCdmaBroadcastActivationResponse(
|
||||
const V1_0::RadioResponseInfo& info) {
|
||||
LOG_CALL << info.serial;
|
||||
|
||||
@@ -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<int32_t>(info.lastHopCapacityKbps),
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include <aidl/android/hardware/radio/network/CellInfo.h>
|
||||
#include <aidl/android/hardware/radio/network/LceDataInfo.h>
|
||||
#include <aidl/android/hardware/radio/network/LinkCapacityEstimate.h>
|
||||
#include <aidl/android/hardware/radio/network/NeighboringCell.h>
|
||||
#include <aidl/android/hardware/radio/network/NetworkScanRequest.h>
|
||||
#include <aidl/android/hardware/radio/network/NetworkScanResult.h>
|
||||
#include <aidl/android/hardware/radio/network/OperatorInfo.h>
|
||||
@@ -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
|
||||
|
||||
@@ -102,6 +102,13 @@ Return<void> RadioIndication::onSupplementaryServiceIndication(V1_0::RadioIndica
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> 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<void> RadioIndication::resendIncallMute(V1_0::RadioIndicationType type) {
|
||||
LOG_CALL << type;
|
||||
voiceCb()->resendIncallMute(toAidl(type));
|
||||
|
||||
@@ -42,6 +42,12 @@ Return<void> RadioResponse::acceptCallResponse(const V1_0::RadioResponseInfo& in
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> RadioResponse::cancelPendingUssdResponse(const V1_0::RadioResponseInfo& info) {
|
||||
LOG_CALL << info.serial;
|
||||
voiceCb()->cancelPendingUssdResponse(toAidl(info));
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> RadioResponse::conferenceResponse(const V1_0::RadioResponseInfo& info) {
|
||||
LOG_CALL << info.serial;
|
||||
voiceCb()->conferenceResponse(toAidl(info));
|
||||
@@ -198,6 +204,12 @@ Return<void> RadioResponse::sendDtmfResponse(const V1_0::RadioResponseInfo& info
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> RadioResponse::sendUssdResponse(const V1_0::RadioResponseInfo& info) {
|
||||
LOG_CALL << info.serial;
|
||||
voiceCb()->sendUssdResponse(toAidl(info));
|
||||
return {};
|
||||
}
|
||||
|
||||
Return<void> RadioResponse::separateConnectionResponse(const V1_0::RadioResponseInfo& info) {
|
||||
LOG_CALL << info.serial;
|
||||
voiceCb()->separateConnectionResponse(toAidl(info));
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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<uint8_t>& pdu) override;
|
||||
|
||||
virtual ndk::ScopedAStatus onUssd(RadioIndicationType type, UssdModeType modeType,
|
||||
const std::string& msg) override;
|
||||
|
||||
virtual ndk::ScopedAStatus simSmsStorageFull(RadioIndicationType type) override;
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user