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

Commit 27c2a644 authored by Jack Yu's avatar Jack Yu Committed by android-build-merger
Browse files

Added 1.3 DataProfileInfo am: e7de00c5

am: 026b7469

Change-Id: I141c4156d68a4b524020afd34a2af109e3f290b7
parents 1c95f2bf 026b7469
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ hidl_interface {
    ],
    types: [
        "AccessNetwork",
        "DataProfileInfo",
        "DataRegStateResult",
        "EmergencyNumber",
        "EmergencyNumberSource",
+23 −9
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package android.hardware.radio@1.3;

import @1.0::DataProfileInfo;
import @1.3::DataProfileInfo;
import @1.0::Dial;
import @1.2::DataRequestReason;
import @1.2::IRadio;
@@ -56,13 +56,7 @@ interface IRadio extends @1.2::IRadio {
     * @param accessNetwork The access network to setup the data call. If the data connection cannot
     *     be established on the specified access network, the setup request must be failed.
     * @param dataProfileInfo Data profile info.
     * @param modemCognitive Indicates that the requested profile has previously been provided via
     *     setDataProfile().
     * @param roamingAllowed Indicates whether or not data roaming is allowed by the user.
     * @param isRoaming Indicates whether or not the framework has requested this setupDataCall for
     *     a roaming network. The 'protocol' parameter in the old RIL API must be filled
     *     accordingly based on the roaming condition. Note this is for backward compatibility with
     *     the old radio modem. The modem must not use this param for any other reason.
     * @param reason The request reason. Must be DataRequestReason.NORMAL or
     *     DataRequestReason.HANDOVER.
     * @param addresses If the reason is DataRequestReason.HANDOVER, this indicates the list of link
@@ -82,8 +76,28 @@ interface IRadio extends @1.2::IRadio {
     * Note this API is same as 1.2 version except using the 1.3 AccessNetwork as the input param.
     */
    oneway setupDataCall_1_3(int32_t serial, AccessNetwork accessNetwork,
            DataProfileInfo dataProfileInfo, bool modemCognitive, bool roamingAllowed,
            bool isRoaming, DataRequestReason reason, vec<string> addresses, vec<string> dnses);
            DataProfileInfo dataProfileInfo, bool roamingAllowed,
            DataRequestReason reason, vec<string> addresses, vec<string> dnses);

    /**
     * Set an apn to initial attach network
     *
     * @param serial Serial number of request.
     * @param dataProfileInfo data profile containing APN settings
     *
     * Response callback is IRadioResponse.setInitialAttachApnResponse()
     */
    oneway setInitialAttachApn_1_3(int32_t serial, DataProfileInfo dataProfileInfo);

    /**
     * Send data profiles of the current carrier to the modem.
     *
     * @param serial Serial number of request.
     * @param profiles Array of DataProfile to set.
     *
     * Response callback is IRadioResponse.setDataProfileResponse()
     */
    oneway setDataProfile_1_3(int32_t serial, vec<DataProfileInfo> profiles);

    /**
     * Initiate emergency voice call, with zero or more emergency service category(s).
+73 −0
Original line number Diff line number Diff line
@@ -16,6 +16,11 @@

package android.hardware.radio@1.3;

import @1.0::ApnAuthType;
import @1.0::ApnTypes;
import @1.0::DataProfileId;
import @1.0::DataProfileInfoType;
import @1.0::RadioAccessFamily;
import @1.0::RegState;
import @1.2::AccessNetwork;
import @1.2::CellIdentity;
@@ -160,3 +165,71 @@ struct DataRegStateResult {
        LteVopsInfo lteVopsInfo; // LTE network capability
    } vopsInfo;
};

/**
 * Overwritten from @1.0::DataProfileInfo in order to deprecate 'mvnoType', 'mvnoMatchData',
 * 'maxConnsTime', and 'maxConns'. In the future, this must be extended instead of overwritten.
 * Added 'preferred' and 'persistent' in this version.
 */
struct DataProfileInfo {
    /** id of the data profile */
    DataProfileId profileId;

    /** The APN name */
    string apn;

    /**
     * One of the PDP_type values in TS 27.007 section 10.1.1. For example, "IP", "IPV6", "IPV4V6",
     * or "PPP".
     */
    string protocol;

    /**
     * one of the PDP_type values in TS 27.007 section 10.1.1 used on roaming network. For example,
     * "IP", "IPV6", "IPV4V6", or "PPP".
     */
    string roamingProtocol;

    /** APN authentication type */
    ApnAuthType authType;

    /** The username for APN, or empty string */
    string user;

    /** The password for APN, or empty string */
    string password;

    /** Data profile technology type */
    DataProfileInfoType type;

    /**
     * The required wait time in seconds after a successful UE initiated disconnect of a given PDN
     * connection before the device can send a new PDN connection request for that given PDN.
     */
    int32_t waitTime;

    /** True to enable the profile, false to disable */
    bool enabled;

    /** Supported APN types bitmap. See ApnTypes for the value of each bit. */
    bitfield<ApnTypes> supportedApnTypesBitmap;

    /** The bearer bitmap. See RadioAccessFamily for the value of each bit. */
    bitfield<RadioAccessFamily> bearerBitmap;

    /** Maximum transmission unit (MTU) size in bytes */
    int32_t mtu;

    /**
     * True if this data profile was used to bring up the last default (i.e internet) data
     * connection successfully.
     */
    bool preferred;

    /**
     * If true, modem must persist this data profile and profileId must not be
     * set to DataProfileId.INVALID. If the same data profile exists, this data profile must
     * overwrite it.
     */
    bool persistent;
};