mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
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:
@@ -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 UICC’s. 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 UICC’s. 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 it’s 1, and for DSDA modem it’s 2.
|
||||
* maxActiveInternetData defines how many logical modems can have internet PDN connections
|
||||
* simultaneously. For example, for a L+L DSDS modem, it’s 1, and for a DSDA modem, it’s 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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user