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

Commit 1d4e8ae5 authored by Pengquan Meng's avatar Pengquan Meng
Browse files

HAL change for 5G NSA only

Add the parameters for 5G NSA and change related type & API.

Bug: 111453000
Test: Build
Change-Id: I97aab866993cc84d6f3fd30d33a0273f661e4c2d
parent 2267c724
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -21,12 +21,16 @@ hidl_interface {
    ],
    types: [
        "AccessNetwork",
        "CellConfigLte",
        "CellInfo",
        "CellInfoLte",
        "DataProfileInfo",
        "DataRegStateResult",
        "EmergencyNumber",
        "EmergencyNumberSource",
        "EmergencyServiceCategory",
        "LteVopsInfo",
        "NetworkScanResult",
    ],
    gen_java: true,
}
+13 −0
Original line number Diff line number Diff line
@@ -49,4 +49,17 @@ interface IRadioIndication extends @1.2::IRadioIndication {
     */
    oneway currentEmergencyNumberList(RadioIndicationType type,
            vec<EmergencyNumber> emergencyNumberList);

    /**
     * Request all of the current cell information known to the radio.
     *
     * @param type Type of radio indication
     * @param records Current cell information
     */
    oneway cellInfoList_1_3(RadioIndicationType type, vec<CellInfo> records);

    /**
     * Incremental network scan results
     */
    oneway networkScanResult_1_3(RadioIndicationType type, NetworkScanResult result);
};
+11 −0
Original line number Diff line number Diff line
@@ -48,6 +48,17 @@ interface IRadioResponse extends @1.2::IRadioResponse {
     */
    oneway emergencyDialResponse(RadioResponseInfo info);

    /**
     * @param info Response info struct containing response type, serial no. and error
     * @param cellInfo List of current cell information known to radio
     *
     * Valid errors returned:
     *   RadioError:NONE
     *   RadioError:RADIO_NOT_AVAILABLE
     *   RadioError:INTERNAL_ERR
     */
    oneway getCellInfoListResponse_1_3(RadioResponseInfo info, vec<CellInfo> cellInfo);

    /**
     * @param info Response info struct containing response type, serial no. and error
     * @param dataRegResponse Current Data registration response as defined by DataRegStateResult in
+82 −0
Original line number Diff line number Diff line
@@ -18,11 +18,21 @@ package android.hardware.radio@1.3;

import @1.0::ApnAuthType;
import @1.0::ApnTypes;
import @1.0::CellInfoType;
import @1.0::DataProfileId;
import @1.0::DataProfileInfoType;
import @1.0::RadioAccessFamily;
import @1.0::RadioError;
import @1.0::RegState;
import @1.0::TimeStampType;
import @1.1::ScanStatus;
import @1.2::AccessNetwork;
import @1.2::CellInfo;
import @1.2::CellInfoCdma;
import @1.2::CellInfoGsm;
import @1.2::CellInfoLte;
import @1.2::CellInfoTdscdma;
import @1.2::CellInfoWcdma;
import @1.2::CellIdentity;
import @1.2::DataRegStateResult;

@@ -168,6 +178,78 @@ struct DataRegStateResult {

        LteVopsInfo lteVopsInfo; // LTE network capability
    } vopsInfo;

    /**
     * True if use of dual connectivity with NR is restricted.
     * Reference: 3GPP TS 24.301 v15.03 section 9.3.3.12A.
     */
    bool isDcNrRestricted;

    /**
     * True if the bit N is in the PLMN-InfoList-r15 is true and the selected PLMN is present in
     * plmn-IdentityList at position N.
     * Reference: 3GPP TS 36.331 v15.2.2 section 6.3.1 PLMN-InfoList-r15.
     *            3GPP TS 36.331 v15.2.2 section 6.2.2 SystemInformationBlockType1 message.
     */
    bool isNrAvailable;
};

/** Contains the configuration of the LTE cell tower. */
struct CellConfigLte {
    /**
     * Indicates that if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the LTE cell.
     *
     * True if the plmn-InfoList-r15 is present in SIB2 and at least one bit in this list is true,
     * otherwise this value should be false.
     *
     * Reference: 3GPP TS 36.331 v15.2.2 6.3.1 System information blocks.
     */
    bool isEndcAvailable;
};

/** Inherits from @1.2::CellInfoLte, in order to add the LTE configuration. */
struct CellInfoLte {
    @1.2::CellInfoLte base;
    CellConfigLte cellConfig;
};

/** Overwritten from @1.2::CellInfo in order to update the CellInfoLte to 1.3 version. */
struct CellInfo {
    /** Cell type for selecting from union CellInfo. */
    CellInfoType cellInfoType;

    /**
     * True if the phone is registered to a mobile network that provides service on this cell and
     * this cell is being used or would be used for network signaling.
     */
    bool isRegistered;

    /** CellInfo details, cellInfoType can tell which cell info should be used. */
    safe_union Info {
        CellInfoGsm gsm;
        CellInfoCdma cdma;
        CellInfoWcdma wcdma;
        CellInfoTdscdma tdscdma;
        CellInfoLte lte;
    } info;
};

/** Overwritten from @1.2::NetworkScanResult in order to update the CellInfo to 1.3 version. */
struct NetworkScanResult {
    /**
     * The status of the scan.
     */
    ScanStatus status;

    /**
     * The error code of the incremental result.
     */
    RadioError error;

    /**
     * List of network information as CellInfo.
     */
    vec<CellInfo> networkInfos;
};

/**