Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 65355ad8 authored by Andrew Lassalle's avatar Andrew Lassalle Committed by Gerrit Code Review
Browse files

Merge "Improve syntax on radio config AIDLs" into main

parents dd98cc11 a64dac8c
Loading
Loading
Loading
Loading
+29 −28
Original line number Diff line number Diff line
@@ -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
+4 −4
Original line number Diff line number Diff line
@@ -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
+18 −18
Original line number Diff line number Diff line
@@ -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
+10 −14
Original line number Diff line number Diff line
@@ -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;
}
+5 −5
Original line number Diff line number Diff line
@@ -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;
}
Loading