Merge "SIM slot related interface changes"
This commit is contained in:
commit
384fa7b6dc
5 changed files with 163 additions and 9 deletions
|
@ -19,6 +19,7 @@ hidl_interface {
|
|||
"android.hidl.base@1.0",
|
||||
],
|
||||
types: [
|
||||
"CardStatus",
|
||||
"CellIdentityCdma",
|
||||
"CellIdentityGsm",
|
||||
"CellIdentityLte",
|
||||
|
@ -35,6 +36,8 @@ hidl_interface {
|
|||
"NetworkScanResult",
|
||||
"RadioConst",
|
||||
"ScanIntervalRange",
|
||||
"SimSlotStatus",
|
||||
"SlotState",
|
||||
],
|
||||
gen_java: true,
|
||||
}
|
||||
|
|
|
@ -37,4 +37,46 @@ interface IRadio extends @1.1::IRadio {
|
|||
* Response function is IRadioResponse.startNetworkScanResponse()
|
||||
*/
|
||||
oneway startNetworkScan_1_2(int32_t serial, NetworkScanRequest request);
|
||||
|
||||
/**
|
||||
* Get SIM Slot status.
|
||||
*
|
||||
* Request provides the slot status of all active and inactive SIM slots and whether card is
|
||||
* present in the slots or not.
|
||||
*
|
||||
* @param serial Serial number of request.
|
||||
*
|
||||
* Response callback is IRadioResponse.getSimSlotsStatusResponse()
|
||||
*/
|
||||
oneway getSimSlotsStatus(int32_t serial);
|
||||
|
||||
/**
|
||||
* Set SIM Slot mapping.
|
||||
|
||||
* Maps the logical slots to the physical slots. Logical slot is the slot that is seen by modem.
|
||||
* Physical slot is the actual physical slot. Request maps the physical slot to logical slot.
|
||||
* Logical slots that are already mapped to the requested physical slot are not impacted.
|
||||
*
|
||||
* Example no. of logical slots 1 and physical slots 2:
|
||||
* The only logical slot (index 0) can be mapped to first physical slot (value 0) or second
|
||||
* physical slot(value 1), while the other physical slot remains unmapped and inactive.
|
||||
* slotMap[0] = 1 or slotMap[0] = 0
|
||||
*
|
||||
* Example no. of logical slots 2 and physical slots 2:
|
||||
* First logical slot (index 0) can be mapped to physical slot 1 or 2 and other logical slot
|
||||
* can be mapped to other physical slot. Each logical slot must be mapped to a physical slot.
|
||||
* slotMap[0] = 0 and slotMap[1] = 1 or slotMap[0] = 1 and slotMap[1] = 0
|
||||
*
|
||||
* @param serial Serial number of request
|
||||
* @param slotMap Logical to physical slot mapping, size == no. of radio instances. Index is
|
||||
* mapping to logical slot and value to physical slot, need to provide all the slots
|
||||
* mapping when sending request in case of multi slot device.
|
||||
* EX: uint32_t slotMap[logical slot] = physical slot
|
||||
* 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
|
||||
*
|
||||
* Response callback is IRadioResponse.setSimSlotsMappingResponse()
|
||||
*/
|
||||
oneway setSimSlotsMapping(int32_t serial, vec<uint32_t> slotMap);
|
||||
};
|
||||
|
|
|
@ -28,4 +28,13 @@ interface IRadioIndication extends @1.1::IRadioIndication {
|
|||
* Incremental network scan results
|
||||
*/
|
||||
oneway networkScanResult_1_2(RadioIndicationType type, NetworkScanResult result);
|
||||
};
|
||||
|
||||
/**
|
||||
* Indicates SIM slot status change.
|
||||
*
|
||||
* @param type Type of radio indication
|
||||
* @param slotStatus new slot status info with size equals to the number of physical slots on
|
||||
* the device
|
||||
*/
|
||||
oneway simSlotsStatusChanged(RadioIndicationType type, vec<SimSlotStatus> slotStatus);
|
||||
};
|
||||
|
|
|
@ -41,4 +41,42 @@ interface IRadioResponse extends @1.1::IRadioResponse {
|
|||
* RadioError:CANCELLED
|
||||
*/
|
||||
oneway getCellInfoListResponse_1_2(RadioResponseInfo info, vec<CellInfo> cellInfo);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
* @param cardStatus ICC card status as defined by CardStatus in types.hal
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
*/
|
||||
oneway getIccCardStatusResponse_1_2(RadioResponseInfo info, CardStatus cardStatus);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
* @param slotStatus Sim slot struct containing all the physical SIM slots info with size
|
||||
* equals to the number of physical slots on the device
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:REQUEST_NOT_SUPPORTED
|
||||
* RadioError:NO_MEMORY
|
||||
* RadioError:INTERNAL_ERR
|
||||
* RadioError:MODEM_ERR
|
||||
* RadioError:INVALID_ARGUMENTS
|
||||
*/
|
||||
oneway getSimSlotsStatusResponse(RadioResponseInfo info, vec<SimSlotStatus> slotStatus);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:REQUEST_NOT_SUPPORTED
|
||||
* RadioError:NO_MEMORY
|
||||
* RadioError:INTERNAL_ERR
|
||||
* RadioError:MODEM_ERR
|
||||
*/
|
||||
oneway setSimSlotsMappingResponse(RadioResponseInfo info);
|
||||
};
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
package android.hardware.radio@1.2;
|
||||
|
||||
import @1.0::CdmaSignalStrength;
|
||||
import @1.0::CardState;
|
||||
import @1.0::CardStatus;
|
||||
import @1.0::CellIdentityCdma;
|
||||
import @1.0::CellIdentityGsm;
|
||||
import @1.0::CellIdentityLte;
|
||||
|
@ -187,37 +189,97 @@ struct CellInfo {
|
|||
* Cell type for selecting from union CellInfo.
|
||||
*/
|
||||
CellInfoType cellInfoType;
|
||||
/*
|
||||
/**
|
||||
* True if this cell is registered false if not registered.
|
||||
*/
|
||||
bool registered;
|
||||
/*
|
||||
/**
|
||||
* Type of time stamp represented by timeStamp.
|
||||
*/
|
||||
TimeStampType timeStampType;
|
||||
/*
|
||||
/**
|
||||
* Time in nanos as returned by ril_nano_time.
|
||||
*/
|
||||
uint64_t timeStamp;
|
||||
/*
|
||||
/**
|
||||
* Only one of the below vectors must be of size 1 based on the CellInfoType and others must be
|
||||
* of size 0.
|
||||
*/
|
||||
vec<CellInfoGsm> gsm;
|
||||
/*
|
||||
/**
|
||||
* Valid only if type = cdma and size = 1 else must be empty.
|
||||
*/
|
||||
vec<CellInfoCdma> cdma;
|
||||
/*
|
||||
/**
|
||||
* Valid only if type = lte and size = 1 else must be empty.
|
||||
*/
|
||||
vec<CellInfoLte> lte;
|
||||
/*
|
||||
/**
|
||||
* Valid only if type = wcdma and size = 1 else must be empty.
|
||||
*/
|
||||
vec<CellInfoWcdma> wcdma;
|
||||
/*
|
||||
/**
|
||||
* Valid only if type = tdscdma and size = 1 else must be empty.
|
||||
*/
|
||||
vec<CellInfoTdscdma> tdscdma;
|
||||
};
|
||||
|
||||
enum SlotState : int32_t {
|
||||
/**
|
||||
* Physical slot is inactive
|
||||
*/
|
||||
INACTIVE = 0x00,
|
||||
/**
|
||||
* Physical slot is active
|
||||
*/
|
||||
ACTIVE = 0x01,
|
||||
};
|
||||
|
||||
struct CardStatus {
|
||||
@1.0::CardStatus base;
|
||||
uint32_t physicalSlotId;
|
||||
/**
|
||||
* An Answer To Reset (ATR) is a message output by a Smart Card conforming to ISO/IEC 7816
|
||||
* standards, following electrical reset of the card's chip. The ATR conveys information about
|
||||
* the communication parameters proposed by the card, and the card's nature and state.
|
||||
*
|
||||
* This data is applicable only when cardState is CardState:PRESENT.
|
||||
*/
|
||||
string atr;
|
||||
/**
|
||||
* 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
|
||||
* the ITU-T recommendation E.118 ISO/IEC 7816.
|
||||
*
|
||||
* This data is applicable only when cardState is CardState:PRESENT.
|
||||
*/
|
||||
string iccid;
|
||||
};
|
||||
|
||||
struct SimSlotStatus {
|
||||
/**
|
||||
* Card state in the physical slot
|
||||
*/
|
||||
CardState cardState;
|
||||
/**
|
||||
* Slot state Active/Inactive
|
||||
*/
|
||||
SlotState slotState;
|
||||
/**
|
||||
* An Answer To Reset (ATR) is a message output by a Smart Card conforming to ISO/IEC 7816
|
||||
* standards, following electrical reset of the card's chip. The ATR conveys information about
|
||||
* the communication parameters proposed by the card, and the card's nature and state.
|
||||
*
|
||||
* This data is applicable only when cardState is CardState:PRESENT.
|
||||
*/
|
||||
string atr;
|
||||
uint32_t logicalSlotId;
|
||||
/**
|
||||
* 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
|
||||
* the ITU-T recommendation E.118 ISO/IEC 7816.
|
||||
*
|
||||
* This data is applicable only when cardState is CardState:PRESENT.
|
||||
*/
|
||||
string iccid;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue