Merge "Improve syntax on radio config AIDLs" into main am: 65355ad863

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/3237120

Change-Id: I7a803416ff593a76211340a28fa7ec9c4efe3d64
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Andrew Lassalle
2024-08-27 23:05:36 +00:00
committed by Automerger Merge Worker
6 changed files with 70 additions and 73 deletions

View File

@@ -17,9 +17,10 @@
* This interface is used by telephony and telecom to talk to cellular radio for the purpose of
* radio configuration, and it is not associated with any specific modem or slot.
* All the functions have minimum one parameter:
* serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
* duration of a method call. If clients provide colliding serials (including passing the same
* serial to different methods), multiple responses (one for each method call) must still be served.
* serial: which corresponds to the serial number of the request. Serial numbers must only be
* memorized for the duration of a method call. If clients provide colliding serials (including
* passing the same serial to different methods), multiple responses (one for each method call) must
* still be served.
*/
package android.hardware.radio.config;
@@ -108,12 +109,12 @@ oneway interface IRadioConfig {
/**
* Set preferred data modem Id.
* In a multi-SIM device, notify modem layer which logical modem will be used primarily
* for data. It helps modem with resource optimization and decisions of what data connections
* should be satisfied.
* In a multi-SIM device, notify the modem layer which logical modem will be used primarily
* for data. It helps the modem with resource optimization and decisions of what data
* connections should be satisfied.
*
* @param serial Serial number of request.
* @param modem Id the logical modem ID, which should match one of modem IDs returned
* @param modemId the logical modem ID which should match one of the modem IDs returned
* from getPhoneCapability().
*
* Response callback is IRadioConfigResponse.setPreferredDataModemResponse()
@@ -136,30 +137,30 @@ oneway interface IRadioConfig {
/**
* Set SIM Slot mapping.
*
* Maps the logical slots to the SlotPortMapping which consist of both physical slot id and port
* id. Logical slot is the slot that is seen by modem. Physical slot is the actual physical
* slot. PortId is the id (enumerated value) for the associated port available on the SIM. Each
* physical slot can have multiple ports which enables multi-enabled profile(MEP). If eUICC
* physical slot supports 2 ports, then the portId is numbered 0,1 and if eUICC2 supports 4
* ports then the portID is numbered 0,1,2,3. Each portId is unique within a UICC physical slot
* but not necessarily unique across UICCs. SEP(Single enabled profile) eUICC and non-eUICC
* will only have portId 0.
* Maps the logical slots to the SlotPortMapping, which consists of both physical slot id and
* port id. Logical slot is the slot that is seen by the modem. Physical slot is the actual
* physical slot. PortId is the id (enumerated value) for the associated port available on the
* SIM. Each physical slot can have multiple ports, which enables multi-enabled profile(MEP). If
* eUICC physical slot supports 2 ports, then the portId is numbered 0,1 and if eUICC2 supports
* 4 ports then the portID is numbered 0,1,2,3. Each portId is unique within a UICC physical
* slot but not necessarily unique across UICCs. SEP(Single enabled profile) eUICC and
* non-eUICC will only have portId 0.
*
* Logical slots that are already mapped to the requested SlotPortMapping are not impacted.
*
* Example no. of logical slots 1 and physical slots 2 do not support MEP, each physical slot
* has one port:
* The only logical slot (index 0) can be mapped to first physical slot (value 0), port(index
* 0). or second
* physical slot(value 1), port (index 0), while the other physical slot remains unmapped and
* inactive.
* Example: There is 1 logical slot, 2 physical slots, MEP is not supported and each physical
* slot has one port:
* The only logical slot (index 0) can be mapped to the first physical slot (value 0),
* port(index 0), or second physical slot(value 1), port (index 0), while the other physical
* slot remains unmapped and inactive.
* slotMap[0] = SlotPortMapping{0 //physical slot//, 0 //port//}
* slotMap[0] = SlotPortMapping{1 //physical slot//, 0 //port//}
*
* Example no. of logical slots 2 and physical slots 2 supports MEP with 2 ports available:
* Each logical slot must be mapped to a port (physical slot and port combination).
* First logical slot (index 0) can be mapped to physical slot 1 and the second logical slot
* can be mapped to either port from physical slot 2.
* Example: There are 2 logical slots, 2 physical slots, MEP is supported and there are 2 ports
* available:
* Each logical slot must be mapped to a port (physical slot and port combination). The first
* logical slot (index 0) can be mapped to the physical slot 1 and the second logical slot can
* be mapped to either port from physical slot 2.
*
* slotMap[0] = SlotPortMapping{0, 0} and slotMap[1] = SlotPortMapping{1, 0} or
* slotMap[0] = SlotPortMapping{0, 0} and slotMap[1] = SlotPortMapping{1, 1}
@@ -178,10 +179,10 @@ oneway interface IRadioConfig {
*
* @param serial Serial number of request
* @param slotMap Logical to physical slot and port mapping.
* Index is mapping to logical slot and value to physical slot and port id, need to
* provide all the slots mapping when sending request in case of multi slot device.
* The index maps to the logical slot, and the value to the physical slot and port id. In
* the case of a multi-slot device, provide all the slot mappings when sending a request.
*
* EX: SlotPortMapping(physical slot, port id)
* Example: SlotPortMapping(physical slot, port id)
* index 0 is the first logical_slot number of logical slots is equal to number of Radio
* instances and number of physical slots is equal to size of slotStatus in
* getSimSlotsStatusResponse

View File

@@ -27,9 +27,9 @@ oneway interface IRadioConfigIndication {
/**
* Indicates SIM slot status change.
*
* This indication must be sent by the modem whenever there is any slot status change, even the
* slot is inactive. For example, this indication must be triggered if a SIM card is inserted
* into an inactive slot.
* This indication must be sent by the modem whenever there is any slot status change, even if
* the slot is inactive. For example, this indication must be triggered if a SIM card is
* inserted into an inactive slot.
*
* @param type Type of radio indication
* @param slotStatus new slot status info with size equals to the number of physical slots on
@@ -39,7 +39,7 @@ oneway interface IRadioConfigIndication {
in android.hardware.radio.RadioIndicationType type, in SimSlotStatus[] slotStatus);
/**
* The logical slots supporting simultaneous cellular calling has changed.
* The logical slots supporting simultaneous cellular calling have changed.
*
* @param enabledLogicalSlots The slots that have simultaneous cellular calling enabled. If
* there is a call active on logical slot X, then a simultaneous cellular call is only possible

View File

@@ -26,18 +26,18 @@ import android.hardware.radio.config.SimSlotStatus;
@VintfStability
oneway interface IRadioConfigResponse {
/**
* @param info Response info struct containing response type, serial no. and error
* @param info Response info struct containing response type, serial number and error
* @param modemReducedFeatureSet1 True indicates that the modem does NOT support the following
* features.
* - Providing either LinkCapacityEstimate:secondaryDownlinkCapacityKbps
* or LinkCapacityEstimate:secondaryUplinkCapacityKbps when given from
* RadioIndication:currentLinkCapacityEstimate
* - Calling IRadio.setNrDualConnectivityState or querying
* IRadio.isNrDualConnectivityEnabled
* - Requesting IRadio.setDataThrottling()
* - Providing SlicingConfig through getSlicingConfig()
* features:
* - Providing either LinkCapacityEstimate#secondaryDownlinkCapacityKbps
* or LinkCapacityEstimate#secondaryUplinkCapacityKbps when given from
* IRadioNetworkIndication#currentLinkCapacityEstimate
* - Calling IRadioNetwork#setNrDualConnectivityState or querying
* IRadioNetwork#isNrDualConnectivityEnabled
* - Requesting IRadioData#setDataThrottling
* - Providing SlicingConfig through IRadioData#getSlicingConfig
* - Providing PhysicalChannelConfig through
* IRadioIndication.currentPhysicalChannelConfigs_1_6()
* IRadioNetworkIndication#currentPhysicalChannelConfigs
*
* Valid errors returned:
* RadioError:REQUEST_NOT_SUPPORTED when android.hardware.telephony is not defined
@@ -49,7 +49,7 @@ oneway interface IRadioConfigResponse {
in android.hardware.radio.RadioResponseInfo info, in boolean modemReducedFeatureSet1);
/**
* @param info Response info struct containing response type, serial no. and error
* @param info Response info struct containing response type, serial number and error
* @param numOfLiveModems <byte> indicate the number of live modems i.e. modems that
* are enabled and actively working as part of a working connectivity stack
*
@@ -62,8 +62,8 @@ oneway interface IRadioConfigResponse {
in android.hardware.radio.RadioResponseInfo info, in byte numOfLiveModems);
/**
* @param info Response info struct containing response type, serial no. and error
* @param phoneCapability <PhoneCapability> it defines modem's capability for example
* @param info Response info struct containing response type, serial number and error
* @param phoneCapability <PhoneCapability> it defines the modem's capability. For example,
* how many logical modems it has, how many data connections it supports.
*
* Valid errors returned:
@@ -76,7 +76,7 @@ oneway interface IRadioConfigResponse {
in android.hardware.radio.RadioResponseInfo info, in PhoneCapability phoneCapability);
/**
* @param info Response info struct containing response type, serial no. and error
* @param info Response info struct containing response type, serial number and error
* @param slotStatus Sim slot struct containing all the physical SIM slots info with size
* equal to the number of physical slots on the device
*
@@ -93,7 +93,7 @@ oneway interface IRadioConfigResponse {
in android.hardware.radio.RadioResponseInfo info, in SimSlotStatus[] slotStatus);
/**
* @param info Response info struct containing response type, serial no. and error
* @param info Response info struct containing response type, serial number and error
*
* Valid errors returned:
* RadioError:REQUEST_NOT_SUPPORTED when android.hardware.telephony is not defined
@@ -104,7 +104,7 @@ oneway interface IRadioConfigResponse {
void setNumOfLiveModemsResponse(in android.hardware.radio.RadioResponseInfo info);
/**
* @param info Response info struct containing response type, serial no. and error
* @param info Response info struct containing response type, serial number and error
*
* Valid errors returned:
* RadioError:REQUEST_NOT_SUPPORTED when android.hardware.telephony.data is not defined
@@ -116,7 +116,7 @@ oneway interface IRadioConfigResponse {
void setPreferredDataModemResponse(in android.hardware.radio.RadioResponseInfo info);
/**
* @param info Response info struct containing response type, serial no. and error
* @param info Response info struct containing response type, serial number and error
*
* Valid errors returned:
* RadioError:REQUEST_NOT_SUPPORTED when android.hardware.telephony.subscription is not
@@ -134,7 +134,7 @@ oneway interface IRadioConfigResponse {
* Response to the asynchronous
* {@link IRadioConfig#getSimultaneousCallingSupport} request.
*
* @param info Response info struct containing response type, serial no. and error
* @param info Response info struct containing response type, serial number and error
* @param enabledLogicalSlots The slots that have simultaneous cellular calling enabled. If
* there is a call active on logical slot X, then a simultaneous cellular call is only possible
* on logical slot Y if BOTH slot X and slot Y are in enabledLogicalSlots. If simultaneous

View File

@@ -17,8 +17,8 @@
package android.hardware.radio.config;
/**
* Phone capability which describes the data connection capability of modem.
* It's used to evaluate possible phone config change, for example from single
* Phone capability which describes the data connection capability of the modem.
* It's used to evaluate a possible phone config change, for example, from single
* SIM device to multi-SIM device.
* @hide
*/
@@ -27,21 +27,18 @@ package android.hardware.radio.config;
parcelable PhoneCapability {
const byte UNKNOWN = -1;
/**
* maxActiveData defines how many logical modems can have
* PS attached simultaneously. For example, for L+L modem it
* should be 2.
* maxActiveData defines how many logical modems can have PS attached simultaneously. For
* example, for a L+L modem, it should be 2.
*/
byte maxActiveData;
/**
* maxActiveData defines how many logical modems can have
* internet PDN connections simultaneously. For example, for L+L
* DSDS modem its 1, and for DSDA modem its 2.
* maxActiveInternetData defines how many logical modems can have internet PDN connections
* simultaneously. For example, for a L+L DSDS modem, its 1, and for a DSDA modem, its 2.
*/
byte maxActiveInternetData;
/**
* Whether modem supports both internet PDN up so
* that we can do ping test before tearing down the
* other one.
* Whether the modem supports both internet PDNs up, so that we can do a ping test on one PDN
* before tearing down the other PDN.
*/
boolean isInternetLingeringSupported;
/**
@@ -49,9 +46,8 @@ parcelable PhoneCapability {
*/
byte[] logicalModemIds;
/**
* maxActiveVoice defines how many logical modems can have
* cellular voice calls simultaneously. For example, for cellular DSDA
* with simultaneous calling support, it should be 2.
* maxActiveVoice defines how many logical modems can have cellular voice calls simultaneously.
* For example, for cellular DSDA with simultaneous calling support, it should be 2.
*/
byte maxActiveVoice = UNKNOWN;
}

View File

@@ -21,8 +21,8 @@ package android.hardware.radio.config;
@JavaDerive(toString=true)
parcelable SimPortInfo {
/**
* Integrated Circuit Card IDentifier (ICCID) is unique identifier of the SIM card. File is
* located in the SIM card at EFiccid (0x2FE2) as per ETSI 102.221. The ICCID is defined by
* Integrated Circuit Card IDentifier (ICCID) is the unique identifier of the SIM card. The file
* is located in the SIM card at EFiccid (0x2FE2) as per ETSI 102.221. The ICCID is defined by
* the ITU-T recommendation E.118 ISO/IEC 7816.
*
* This data is applicable only when cardState is CardStatus.STATE_PRESENT.
@@ -33,13 +33,13 @@ parcelable SimPortInfo {
*/
String iccId;
/**
* Logical slot id is identifier of the active slot
* The identifier of the active slot.
*/
int logicalSlotId;
/**
* Port active status in the slot.
* Inactive means logical modem is no longer associated to the port.
* Active means logical modem is associated to the port.
* Inactive means that the logical modem is no longer associated to the port.
* Active means that the logical modem is associated to the port.
*/
boolean portActive;
}

View File

@@ -46,12 +46,12 @@ parcelable SimSlotStatus {
String eid;
/**
* PortInfo contains the ICCID, logical slot ID, and port state.
* Cardstate has no relationship with whether the slot is active or inactive. Should always
* report up at least 1 port otherwise the logicalSlotIndex and portActive info will be lost.
* Cardstate has no relationship with whether the slot is active or inactive. At least one port
* shall always be reported, otherwise the logicalSlotIndex and portActive info will be lost.
* For example, the pSIM can be removed, but the slot can still be active. In that case, the
* SIM_STATUS reported for the corresponding logical stack will show CARDSTATE_ABSENT.
* Similarly, even if there is no profile enabled on the eSIM, that port can still be the
* active port in the slot mapping.
* Similarly, even if there is no profile enabled on the eSIM, that port can still be the active
* port in the slot mapping.
*/
SimPortInfo[] portInfo;
/**