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

Commit e2d75f8b authored by Pengquan Meng's avatar Pengquan Meng Committed by android-build-merger
Browse files

Merge "Add 5G cellInfo & signal strength"

am: 7ac99ae3

Change-Id: I1b60e98a9be7a3f3816fe471487d2374d64bdbf8
parents 4a1f714e 7ac99ae3
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -25,8 +25,10 @@ hidl_interface {
        "CardStatus",
        "CarrierRestrictionsWithPriority",
        "CellConfigLte",
        "CellIdentityNr",
        "CellInfo",
        "CellInfoLte",
        "CellInfoNr",
        "DataCallFailCause",
        "DataConnActiveStatus",
        "DataProfileInfo",
@@ -39,6 +41,7 @@ hidl_interface {
        "LteVopsInfo",
        "NetworkScanResult",
        "NrIndicators",
        "NrSignalStrength",
        "PdpProtocolType",
        "PhysicalChannelConfig",
        "RadioAccessFamily",
@@ -46,6 +49,7 @@ hidl_interface {
        "RadioFrequencyInfo",
        "RadioTechnology",
        "SetupDataCallResult",
        "SignalStrength",
        "SimLockMultiSimPolicy",
    ],
    gen_java: true,
+9 −0
Original line number Diff line number Diff line
@@ -215,4 +215,13 @@ interface IRadio extends @1.3::IRadio {
     * Response callback is IRadioResponse.getAllowedCarriersResponse_1_3()
     */
    oneway getAllowedCarriers_1_4(int32_t serial);

    /**
     * Requests current signal strength and associated information.  Must succeed if radio is on.
     *
     * @param serial Serial number of request.
     *
     * Response function is IRadioResponse.getSignalStrengthResponse_1_4()
     */
    oneway getSignalStrength_1_4(int32_t serial);
};
+8 −0
Original line number Diff line number Diff line
@@ -89,4 +89,12 @@ interface IRadioIndication extends @1.3::IRadioIndication {
     *        3. Unsolicited disconnect from either modem or network side.
     */
    oneway dataCallListChanged_1_4(RadioIndicationType type, vec<SetupDataCallResult> dcList);

    /**
     * Indicates current signal strength of the radio.
     *
     * @param type Type of radio indication
     * @param signalStrength SignalStrength information
     */
    oneway currentSignalStrength_1_4(RadioIndicationType type, SignalStrength signalStrength);
};
+11 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import @1.4::CellInfo;
import @1.4::DataRegStateResult;
import @1.4::RadioAccessFamily;
import @1.4::SetupDataCallResult;
import @1.4::SignalStrength;
import @1.4::SimLockMultiSimPolicy;

/**
@@ -200,4 +201,14 @@ interface IRadioResponse extends @1.3::IRadioResponse {
     */
    oneway getAllowedCarriersResponse_1_4(RadioResponseInfo info,
            CarrierRestrictionsWithPriority carriers, SimLockMultiSimPolicy multiSimPolicy);

    /**
     * @param signalStrength Current signal strength
     *
     * Valid errors returned:
     *   RadioError:NONE
     *   RadioError:RADIO_NOT_AVAILABLE
     *   RadioError:INTERNAL_ERR
     */
    oneway getSignalStrengthResponse_1_4(RadioResponseInfo info, SignalStrength signalStrength);
};
+149 −4
Original line number Diff line number Diff line
@@ -20,9 +20,13 @@ import @1.0::ApnAuthType;
import @1.0::ApnTypes;
import @1.0::Carrier;
import @1.0::CellInfoType;
import @1.0::CdmaSignalStrength;
import @1.0::DataCallFailCause;
import @1.0::DataProfileId;
import @1.0::DataProfileInfoType;
import @1.0::EvdoSignalStrength;
import @1.0::GsmSignalStrength;
import @1.0::LteSignalStrength;
import @1.0::RadioAccessFamily;
import @1.0::RadioCapabilityPhase;
import @1.0::RadioCapabilityStatus;
@@ -39,10 +43,17 @@ import @1.2::CellInfoLte;
import @1.2::CellInfoTdscdma;
import @1.2::CellInfoWcdma;
import @1.2::CardStatus;
import @1.2::CellIdentity;
import @1.2::CellConnectionStatus;
import @1.2::CellIdentityCdma;
import @1.2::CellIdentityGsm;
import @1.2::CellIdentityLte;
import @1.2::CellIdentityTdscdma;
import @1.2::CellIdentityWcdma;
import @1.2::CellIdentityOperatorNames;
import @1.2::DataRegStateResult;
import @1.2::PhysicalChannelConfig;
import @1.2::TdscdmaSignalStrength;
import @1.2::WcdmaSignalStrength;

import android.hidl.safe_union@1.0::Monostate;

@@ -188,12 +199,12 @@ enum EmergencyCallRouting : int32_t {
};

enum RadioTechnology : @1.0::RadioTechnology {
    /** 5G NR. */
    /** 5G NR. This is only use in 5G Standalone mode. */
    NR = 20,
};

enum RadioAccessFamily : @1.0::RadioAccessFamily {
    /** 5G NR. */
    /** 5G NR. This is only use in 5G Standalone mode. */
    NR = 1 << RadioTechnology:NR,
};

@@ -1551,9 +1562,15 @@ struct CellInfo {
        CellInfoWcdma wcdma;
        CellInfoTdscdma tdscdma;
        CellInfoLte lte;
        CellInfoNr nr;
    } info;
};

struct CellInfoNr {
    NrSignalStrength signalStrength;
    CellIdentityNr cellidentity;
};

/** Overwritten from @1.2::NetworkScanResult in order to update the CellInfo to 1.4 version. */
struct NetworkScanResult {
    /**
@@ -1770,3 +1787,131 @@ struct CarrierRestrictionsWithPriority {
     */
    bool allowedCarriersPrioritized;
};

struct CellIdentityNr {
    /** 3-digit Mobile Country Code, in range[0, 999], INT_MAX means invalid/unreported. */
    string mcc;

    /**
     * 2 or 3-digit Mobile Network Code, in range [0, 999], INT_MAX means invalid/unreported.
     */
    string mnc;

    /**
     * Physical cell id in range [0, 1007] described in 3GPP TS 38.331. This value must be valid.
     */
    uint32_t pci;

    /** 16-bit tracking area code, INT_MAX means invalid/unreported. */
    int32_t tac;

    /**
     * NR Absolute Radio Frequency Channel Number, in range [0, 3279165].
     * Reference: 3GPP TS 38.101-1 and 3GPP TS 38.101-2 section 5.4.2.1.
     * This value must be valid.
     */
    int32_t nrarfcn;

    CellIdentityOperatorNames operatorNames;
};

struct NrSignalStrength {
    /**
     * SS reference signal received power, multipled by -1.
     *
     * Reference: 3GPP TS 38.215.
     *
     * Range [44, 140], INT_MAX means invalid/unreported.
     */
    int32_t ssRsrp;

    /**
     * SS reference signal received quality, multipled by -1.
     *
     * Reference: 3GPP TS 38.215.
     *
     * Range [3, 20], INT_MAX means invalid/unreported.
     */
    int32_t ssRsrq;

    /**
     * SS signal-to-noise and interference ratio.
     *
     * Reference: 3GPP TS 38.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1.
     *
     * Range [-23, 40], INT_MAX means invalid/unreported.
     */
    int32_t ssSinr;

    /**
     * CSI reference signal received power, multipled by -1.
     *
     * Reference: 3GPP TS 38.215.
     *
     * Range [44, 140], INT_MAX means invalid/unreported.
     */
    int32_t csiRsrp;

    /**
     * CSI reference signal received quality, multipled by -1.
     *
     * Reference: 3GPP TS 38.215.
     *
     * Range [3, 20], INT_MAX means invalid/unreported.
     */
    int32_t csiRsrq;

    /**
     * CSI signal-to-noise and interference ratio.
     *
     * Reference: 3GPP TS 138.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1.
     *
     * Range [-23, 40], INT_MAX means invalid/unreported.
     */
    int32_t csiSinr;
};

/** Overwritten from @1.2::SignalStrength in order to add signal strength for NR.  */
struct SignalStrength {
    /**
     * If GSM measurements are provided, this structure must contain valid measurements; otherwise
     * all fields should be set to INT_MAX to mark them as invalid.
     */
    GsmSignalStrength gsm;

    /**
     * If CDMA measurements are provided, this structure must contain valid measurements; otherwise
     * all fields should be set to INT_MAX to mark them as invalid.
     */
    CdmaSignalStrength cdma;

    /**
     * If EvDO measurements are provided, this structure must contain valid measurements; otherwise
     * all fields should be set to INT_MAX to mark them as invalid.
     */
    EvdoSignalStrength evdo;

    /**
     * If LTE measurements are provided, this structure must contain valid measurements; otherwise
     * all fields should be set to INT_MAX to mark them as invalid.
     */
    LteSignalStrength lte;

    /**
     * If TD-SCDMA measurements are provided, this structure must contain valid measurements;
     * otherwise all fields should be set to INT_MAX to mark them as invalid.
     */
    TdscdmaSignalStrength tdscdma;

    /**
     * If WCDMA measurements are provided, this structure must contain valid measurements; otherwise
     * all fields should be set to INT_MAX to mark them as invalid.
     */
    WcdmaSignalStrength wcdma;

    /**
     * If NR 5G measurements are provided, this structure must contain valid measurements; otherwise
     * all fields should be set to INT_MAX to mark them as invalid.
     */
    NrSignalStrength nr;
};
Loading