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

Commit 61c42571 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 4523885 from 2a4fba8b to pi-release

Change-Id: I2c5b0b5a7b020ddde1d4d675ba6b8013f4ed9dda
parents f08a718d 2a4fba8b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ interface IKeymasterDevice {
     * device with a StrongBox Keymaster has two Keymasters instances, because there must be a TEE
     * Keymaster as well.  The HMAC key used to MAC and verify authentication tokens must be shared
     * between TEE and StrongBox so they can each validate tokens produced by the other.  This
     * method is the second and final step in the process for for agreeing on a shared key.  It is
     * method is the second and final step in the process for agreeing on a shared key.  It is
     * called by Keystore during startup if and only if Keystore loads multiple Keymaster HALs.
     * Keystore calls it on each of the HAL instances, and sends to it all of the
     * HmacSharingParameters returned by all HALs.
@@ -94,7 +94,7 @@ interface IKeymasterDevice {
     *     Any method of securely establishing K that ensures that an attacker cannot obtain or
     *     derive its value is acceptable.  What follows is a recommended approach, to be executed
     *     during each factory reset.  It relies on use of the factory-installed attestation keys to
     *     mitigate man-in-the-middle attacks.  This protocol requires that one of the instancess
     *     mitigate man-in-the-middle attacks.  This protocol requires that one of the instances
     *     have secure persistent storage.  This model was chosen because StrongBox has secure
     *     persistent storage (by definition), but the TEE may not.  The instance without storage is
     *     assumed to be able to derive a unique hardware-bound key (HBK) which is used only for
+3 −0
Original line number Diff line number Diff line
@@ -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,
}
+42 −0
Original line number Diff line number Diff line
@@ -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);
};
+10 −1
Original line number Diff line number Diff line
@@ -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);
};
+38 −0
Original line number Diff line number Diff line
@@ -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);
};
Loading