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

Commit d7d4b0ca authored by Daniel Bright's avatar Daniel Bright Committed by Gerrit Code Review
Browse files

Merge "Add S-NSSAI"

parents 51164692 dd7a9031
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -40272,6 +40272,7 @@ package android.telephony {
    field public static final int SERVICE_OPTION_OUT_OF_ORDER = 34; // 0x22
    field public static final int SIGNAL_LOST = -3; // 0xfffffffd
    field public static final int SIM_CARD_CHANGED = 2043; // 0x7fb
    field public static final int SLICE_REJECTED = 2252; // 0x8cc
    field public static final int SYNCHRONIZATION_FAILURE = 2184; // 0x888
    field public static final int TEST_LOOPBACK_REGULAR_DEACTIVATION = 2196; // 0x894
    field public static final int TETHERED_CALL_ACTIVE = -6; // 0xfffffffa
+29 −1
Original line number Diff line number Diff line
@@ -10713,6 +10713,7 @@ package android.telephony.data {
    method public int getPduSessionId();
    method public int getProtocolType();
    method public long getRetryDurationMillis();
    method @Nullable public android.telephony.data.SliceInfo getSliceInfo();
    method @Deprecated public int getSuggestedRetryTime();
    method public void writeToParcel(android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
@@ -10747,6 +10748,7 @@ package android.telephony.data {
    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(int);
    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.SliceInfo);
    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
  }
@@ -10819,7 +10821,7 @@ package android.telephony.data {
    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @IntRange(from=0, to=15) int, @NonNull android.telephony.data.DataServiceCallback);
    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @IntRange(from=0, to=15) int, @Nullable android.telephony.data.SliceInfo, @NonNull android.telephony.data.DataServiceCallback);
    method public void startHandover(int, @NonNull android.telephony.data.DataServiceCallback);
  }
@@ -10867,6 +10869,32 @@ package android.telephony.data {
    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
  }
  public final class SliceInfo implements android.os.Parcelable {
    method public int describeContents();
    method @IntRange(from=android.telephony.data.SliceInfo.MIN_SLICE_DIFFERENTIATOR, to=android.telephony.data.SliceInfo.MAX_SLICE_DIFFERENTIATOR) public int getMappedHplmnSliceDifferentiator();
    method public int getMappedHplmnSliceServiceType();
    method @IntRange(from=android.telephony.data.SliceInfo.MIN_SLICE_DIFFERENTIATOR, to=android.telephony.data.SliceInfo.MAX_SLICE_DIFFERENTIATOR) public int getSliceDifferentiator();
    method public int getSliceServiceType();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.SliceInfo> CREATOR;
    field public static final int MAX_SLICE_DIFFERENTIATOR = 16777214; // 0xfffffe
    field public static final int MIN_SLICE_DIFFERENTIATOR = -1; // 0xffffffff
    field public static final int SLICE_DIFFERENTIATOR_NO_SLICE = -1; // 0xffffffff
    field public static final int SLICE_SERVICE_TYPE_EMBB = 1; // 0x1
    field public static final int SLICE_SERVICE_TYPE_MIOT = 3; // 0x3
    field public static final int SLICE_SERVICE_TYPE_NONE = 0; // 0x0
    field public static final int SLICE_SERVICE_TYPE_URLLC = 2; // 0x2
  }
  public static final class SliceInfo.Builder {
    ctor public SliceInfo.Builder();
    method @NonNull public android.telephony.data.SliceInfo build();
    method @NonNull public android.telephony.data.SliceInfo.Builder setMappedHplmnSliceDifferentiator(@IntRange(from=android.telephony.data.SliceInfo.MIN_SLICE_DIFFERENTIATOR, to=android.telephony.data.SliceInfo.MAX_SLICE_DIFFERENTIATOR) int);
    method @NonNull public android.telephony.data.SliceInfo.Builder setMappedHplmnSliceServiceType(int);
    method @NonNull public android.telephony.data.SliceInfo.Builder setSliceDifferentiator(@IntRange(from=android.telephony.data.SliceInfo.MIN_SLICE_DIFFERENTIATOR, to=android.telephony.data.SliceInfo.MAX_SLICE_DIFFERENTIATOR) int);
    method @NonNull public android.telephony.data.SliceInfo.Builder setSliceServiceType(int);
  }
}
package android.telephony.euicc {
+4 −1
Original line number Diff line number Diff line
@@ -915,6 +915,8 @@ public final class DataFailCause {
    public static final int IPV6_PREFIX_UNAVAILABLE = 0x8CA;
    /** System preference change back to SRAT during handoff */
    public static final int HANDOFF_PREFERENCE_CHANGED = 0x8CB;
    /** Data call fail due to the slice not being allowed for the data call. */
    public static final int SLICE_REJECTED = 0x8CC;

    //IKE error notifications message as specified in 3GPP TS 24.302 (Section 8.1.2.2).

@@ -1419,6 +1421,7 @@ public final class DataFailCause {
        sFailCauseMap.put(VSNCP_RECONNECT_NOT_ALLOWED, "VSNCP_RECONNECT_NOT_ALLOWED");
        sFailCauseMap.put(IPV6_PREFIX_UNAVAILABLE, "IPV6_PREFIX_UNAVAILABLE");
        sFailCauseMap.put(HANDOFF_PREFERENCE_CHANGED, "HANDOFF_PREFERENCE_CHANGED");
        sFailCauseMap.put(SLICE_REJECTED, "SLICE_REJECTED");
        sFailCauseMap.put(IWLAN_PDN_CONNECTION_REJECTION, "IWLAN_PDN_CONNECTION_REJECTION");
        sFailCauseMap.put(IWLAN_MAX_CONNECTION_REACHED, "IWLAN_MAX_CONNECTION_REACHED");
        sFailCauseMap.put(IWLAN_SEMANTIC_ERROR_IN_THE_TFT_OPERATION,
+40 −7
Original line number Diff line number Diff line
@@ -136,6 +136,7 @@ public final class DataCallResponse implements Parcelable {
    private final int mPduSessionId;
    private final Qos mDefaultQos;
    private final List<QosSession> mQosSessions;
    private final SliceInfo mSliceInfo;

    /**
     * @param cause Data call fail cause. {@link DataFailCause#NONE} indicates no error.
@@ -186,6 +187,7 @@ public final class DataCallResponse implements Parcelable {
        mPduSessionId = PDU_SESSION_ID_NOT_SET;
        mDefaultQos = null;
        mQosSessions = new ArrayList<>();
        mSliceInfo = null;
    }

    private DataCallResponse(@DataFailureCause int cause, long suggestedRetryTime, int id,
@@ -194,7 +196,8 @@ public final class DataCallResponse implements Parcelable {
            @Nullable List<InetAddress> dnsAddresses, @Nullable List<InetAddress> gatewayAddresses,
            @Nullable List<InetAddress> pcscfAddresses, int mtu, int mtuV4, int mtuV6,
            @HandoverFailureMode int handoverFailureMode, int pduSessionId,
            @Nullable Qos defaultQos, @Nullable List<QosSession> qosSessions) {
            @Nullable Qos defaultQos, @Nullable List<QosSession> qosSessions,
            @Nullable SliceInfo sliceInfo) {
        mCause = cause;
        mSuggestedRetryTime = suggestedRetryTime;
        mId = id;
@@ -216,6 +219,7 @@ public final class DataCallResponse implements Parcelable {
        mPduSessionId = pduSessionId;
        mDefaultQos = defaultQos;
        mQosSessions = qosSessions;
        mSliceInfo = sliceInfo;
    }

    /** @hide */
@@ -243,6 +247,7 @@ public final class DataCallResponse implements Parcelable {
        mDefaultQos = source.readParcelable(Qos.class.getClassLoader());
        mQosSessions = new ArrayList<>();
        source.readList(mQosSessions, QosSession.class.getClassLoader());
        mSliceInfo = source.readParcelable(SliceInfo.class.getClassLoader());
    }

    /**
@@ -368,7 +373,7 @@ public final class DataCallResponse implements Parcelable {
    }

    /**
     * @return default QOS of the data call received from the network
     * @return default QOS of the data connection received from the network
     *
     * @hide
     */
@@ -379,16 +384,24 @@ public final class DataCallResponse implements Parcelable {
    }

    /**
     * @return All the dedicated bearer QOS sessions of the data call received from the network
     * @return All the dedicated bearer QOS sessions of the data connection received from the
     * network.
     *
     * @hide
     */

    @NonNull
    public List<QosSession> getQosSessions() {
        return mQosSessions;
    }

    /**
     * @return The slice info related to this data connection.
     */
    @Nullable
    public SliceInfo getSliceInfo() {
        return mSliceInfo;
    }

    @NonNull
    @Override
    public String toString() {
@@ -411,6 +424,7 @@ public final class DataCallResponse implements Parcelable {
           .append(" pduSessionId=").append(getPduSessionId())
           .append(" defaultQos=").append(mDefaultQos)
           .append(" qosSessions=").append(mQosSessions)
           .append(" sliceInfo=").append(mSliceInfo)
           .append("}");
        return sb.toString();
    }
@@ -454,7 +468,8 @@ public final class DataCallResponse implements Parcelable {
                && mHandoverFailureMode == other.mHandoverFailureMode
                && mPduSessionId == other.mPduSessionId
                && isQosSame
                && isQosSessionsSame;
                && isQosSessionsSame
                && Objects.equals(mSliceInfo, other.mSliceInfo);
    }

    @Override
@@ -462,7 +477,7 @@ public final class DataCallResponse implements Parcelable {
        return Objects.hash(mCause, mSuggestedRetryTime, mId, mLinkStatus, mProtocolType,
                mInterfaceName, mAddresses, mDnsAddresses, mGatewayAddresses, mPcscfAddresses,
                mMtu, mMtuV4, mMtuV6, mHandoverFailureMode, mPduSessionId, mDefaultQos,
                mQosSessions);
                mQosSessions, mSliceInfo);
    }

    @Override
@@ -493,6 +508,7 @@ public final class DataCallResponse implements Parcelable {
            dest.writeParcelable((NrQos)mDefaultQos, flags);
        }
        dest.writeList(mQosSessions);
        dest.writeParcelable(mSliceInfo, flags);
    }

    public static final @android.annotation.NonNull Parcelable.Creator<DataCallResponse> CREATOR =
@@ -576,6 +592,8 @@ public final class DataCallResponse implements Parcelable {

        private List<QosSession> mQosSessions = new ArrayList<>();

        private SliceInfo mSliceInfo;

        /**
         * Default constructor for Builder.
         */
@@ -798,6 +816,21 @@ public final class DataCallResponse implements Parcelable {
            return this;
        }

        /**
         * The Slice used for this data connection.
         * <p/>
         * If a handover occurs from EPDG to 5G,
         * this is the {@link SliceInfo} used in {@link DataService#setupDataCall}.
         *
         * @param sliceInfo the slice info for the data call
         *
         * @return The same instance of the builder.
         */
        public @NonNull Builder setSliceInfo(@Nullable SliceInfo sliceInfo) {
            mSliceInfo = sliceInfo;
            return this;
        }

        /**
         * Build the DataCallResponse.
         *
@@ -807,7 +840,7 @@ public final class DataCallResponse implements Parcelable {
            return new DataCallResponse(mCause, mSuggestedRetryTime, mId, mLinkStatus,
                    mProtocolType, mInterfaceName, mAddresses, mDnsAddresses, mGatewayAddresses,
                    mPcscfAddresses, mMtu, mMtuV4, mMtuV6, mHandoverFailureMode, mPduSessionId,
                    mDefaultQos, mQosSessions);
                    mDefaultQos, mQosSessions, mSliceInfo);
        }
    }
}
+15 −4
Original line number Diff line number Diff line
@@ -194,13 +194,19 @@ public abstract class DataService extends Service {
         *                     The standard range of values are 1-15 while 0 means no pdu session id
         *                     was attached to this call.  Reference: 3GPP TS 24.007 section
         *                     11.2.3.1b.
         * @param sliceInfo used within the data connection when a handover occurs from EPDG to 5G.
         *        The value is null unless the access network is
         *        {@link android.telephony.AccessNetworkConstants.AccessNetworkType#NGRAN} and a
         *        handover is occurring from EPDG to 5G.  If the slice passed is rejected, then
         *        {@link DataCallResponse#getCause()} is
         *        {@link android.telephony.DataFailCause#SLICE_REJECTED}.
         * @param callback The result callback for this request.
         */
        public void setupDataCall(int accessNetworkType, @NonNull DataProfile dataProfile,
                boolean isRoaming, boolean allowRoaming,
                @SetupDataReason int reason,
                @Nullable LinkProperties linkProperties,
                @IntRange(from = 0, to = 15) int pduSessionId,
                @IntRange(from = 0, to = 15) int pduSessionId, @Nullable SliceInfo sliceInfo,
                @NonNull DataServiceCallback callback) {
            /* Call the old version since the new version isn't supported */
            setupDataCall(accessNetworkType, dataProfile, isRoaming, allowRoaming, reason,
@@ -392,10 +398,11 @@ public abstract class DataService extends Service {
        public final int reason;
        public final LinkProperties linkProperties;
        public final int pduSessionId;
        public final SliceInfo sliceInfo;
        public final IDataServiceCallback callback;
        SetupDataCallRequest(int accessNetworkType, DataProfile dataProfile, boolean isRoaming,
                             boolean allowRoaming, int reason, LinkProperties linkProperties,
                             int pduSessionId, IDataServiceCallback callback) {
                             int pduSessionId, SliceInfo sliceInfo, IDataServiceCallback callback) {
            this.accessNetworkType = accessNetworkType;
            this.dataProfile = dataProfile;
            this.isRoaming = isRoaming;
@@ -403,6 +410,7 @@ public abstract class DataService extends Service {
            this.linkProperties = linkProperties;
            this.reason = reason;
            this.pduSessionId = pduSessionId;
            this.sliceInfo = sliceInfo;
            this.callback = callback;
        }
    }
@@ -513,6 +521,7 @@ public abstract class DataService extends Service {
                            setupDataCallRequest.dataProfile, setupDataCallRequest.isRoaming,
                            setupDataCallRequest.allowRoaming, setupDataCallRequest.reason,
                            setupDataCallRequest.linkProperties, setupDataCallRequest.pduSessionId,
                            setupDataCallRequest.sliceInfo,
                            (setupDataCallRequest.callback != null)
                                    ? new DataServiceCallback(setupDataCallRequest.callback)
                                    : null);
@@ -676,10 +685,12 @@ public abstract class DataService extends Service {
        @Override
        public void setupDataCall(int slotIndex, int accessNetworkType, DataProfile dataProfile,
                boolean isRoaming, boolean allowRoaming, int reason,
                LinkProperties linkProperties, int pduSessionId, IDataServiceCallback callback) {
                LinkProperties linkProperties, int pduSessionId, SliceInfo sliceInfo,
                IDataServiceCallback callback) {
            mHandler.obtainMessage(DATA_SERVICE_REQUEST_SETUP_DATA_CALL, slotIndex, 0,
                    new SetupDataCallRequest(accessNetworkType, dataProfile, isRoaming,
                            allowRoaming, reason, linkProperties, pduSessionId, callback))
                            allowRoaming, reason, linkProperties, pduSessionId, sliceInfo,
                            callback))
                    .sendToTarget();
        }

Loading