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

Commit 41e252fa authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[Telephony] Implement PhysicalChannelConfig in HAL 1.6" am: 8f74b34e

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1552062

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icef86edacfd689dc309bcac4c33ce332c7bee7e0
parents 0b30c459 8f74b34e
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import @1.6::LinkCapacityEstimate;
import @1.6::NetworkScanResult;
import @1.6::SignalStrength;
import @1.6::SetupDataCallResult;
import @1.6::PhysicalChannelConfig;

/**
 * Interface declaring unsolicited radio indications.
@@ -101,4 +102,15 @@ interface IRadioIndication extends @1.5::IRadioIndication {
     * CellInfo.
     */
    oneway networkScanResult_1_6(RadioIndicationType type, NetworkScanResult result);

    /**
     * Indicates physical channel configurations.
     *
     * An empty configs list indicates that the radio is in idle mode.
     *
     * @param type Type of radio indication
     * @param configs Vector of PhysicalChannelConfigs
     */
    oneway currentPhysicalChannelConfigs_1_6(RadioIndicationType type,
            vec<PhysicalChannelConfig> configs);
};
+71 −0
Original line number Diff line number Diff line
@@ -23,7 +23,10 @@ import @1.0::LteSignalStrength;
import @1.0::RadioError;
import @1.0::RadioResponseType;
import @1.0::RegState;
import @1.1::EutranBands;
import @1.1::GeranBands;
import @1.1::ScanStatus;
import @1.1::UtranBands;
import @1.2::Call;
import @1.2::CellInfoCdma;
import @1.2::CellConnectionStatus;
@@ -41,6 +44,7 @@ import @1.5::CellInfoGsm;
import @1.5::CellInfoWcdma;
import @1.5::CellInfoTdscdma;
import @1.5::LinkAddress;
import @1.5::NgranBands;
import @1.5::RegStateResult.AccessTechnologySpecificInfo.Cdma2000RegistrationInfo;
import @1.5::RegStateResult.AccessTechnologySpecificInfo.EutranRegistrationInfo;
import @1.5::RegistrationFailCause;
@@ -733,3 +737,70 @@ struct Call {
     */
    string forwardedNumber;
};

struct PhysicalChannelConfig {
    /** Connection status for cell. Valid values are PRIMARY_SERVING and SECONDARY_SERVING */
    CellConnectionStatus status;

    /** The radio technology for this physical channel */
    RadioTechnology rat;

    /** Downlink Absolute Radio Frequency Channel Number */
    int32_t downlinkChannelNumber;

    /** Uplink Absolute Radio Frequency Channel Number */
    int32_t uplinkChannelNumber;

    /** Downlink cell bandwidth, in kHz */
    int32_t cellBandwidthDownlink;

    /** Uplink cell bandwidth, in kHz */
    int32_t cellBandwidthUplink;

    /**
     * A list of data calls mapped to this physical channel. The context id must match the cid of
     * @1.5::SetupDataCallResult. An empty list means the physical channel has no data call mapped
     * to it.
     */
    vec<int32_t> contextIds;

    /**
     * The physical cell identifier for this cell.
     *
     * In UTRAN, this value is primary scrambling code. The range is [0, 511].
     * Reference: 3GPP TS 25.213 section 5.2.2.
     *
     * In EUTRAN, this value is physical layer cell identity. The range is [0, 503].
     * Reference: 3GPP TS 36.211 section 6.11.
     *
     * In 5G RAN, this value is physical layer cell identity. The range is [0, 1007].
     * Reference: 3GPP TS 38.211 section 7.4.2.1.
     */
    uint32_t physicalCellId;

    /**
     * The frequency band to scan.
     */
    safe_union Band {
        /** Valid only if radioAccessNetwork = GERAN. */
        GeranBands geranBand;
        /** Valid only if radioAccessNetwork = UTRAN. */
        UtranBands utranBand;
        /** Valid only if radioAccessNetwork = EUTRAN. */
        EutranBands eutranBand;
        /** Valid only if radioAccessNetwork = NGRAN. */
        NgranBands ngranBand;
    } band;
};

/**
 * Extended from @1.5 NgranBands
 * IRadio 1.6 supports NGRAN bands up to V16.5.0
 */
enum NgranBands  : @1.5::NgranBands {
    /** 3GPP TS 38.101-1, Table 5.2-1: FR1 bands */
    BAND_26 = 26,
    BAND_46 = 46,
    BAND_53 = 53,
    BAND_96 = 96,
};
+5 −0
Original line number Diff line number Diff line
@@ -857,6 +857,11 @@ class RadioIndication_v1_6 : public ::android::hardware::radio::V1_6::IRadioIndi
            const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>&
                    records);

    Return<void> currentPhysicalChannelConfigs_1_6(
            RadioIndicationType type,
            const ::android::hardware::hidl_vec<
                    ::android::hardware::radio::V1_6::PhysicalChannelConfig>& configs);

    /* 1.5 Api */
    Return<void> uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled);

+7 −0
Original line number Diff line number Diff line
@@ -30,6 +30,13 @@ Return<void> RadioIndication_v1_6::unthrottleApn(RadioIndicationType /*type*/,
    return Void();
}

Return<void> RadioIndication_v1_6::currentPhysicalChannelConfigs_1_6(
        RadioIndicationType /*type*/,
        const ::android::hardware::hidl_vec<
                ::android::hardware::radio::V1_6::PhysicalChannelConfig>& /*configs*/) {
    return Void();
}

/* 1.5 Apis */
Return<void> RadioIndication_v1_6::uiccApplicationsEnablementChanged(RadioIndicationType /*type*/,
                                                                     bool /*enabled*/) {