Loading telephony/java/android/telephony/data/DataCallResponse.java +22 −21 Original line number Diff line number Diff line Loading @@ -136,7 +136,7 @@ public final class DataCallResponse implements Parcelable { private final @HandoverFailureMode int mHandoverFailureMode; private final int mPduSessionId; private final Qos mDefaultQos; private final List<QosSession> mQosSessions; private final List<QosBearerSession> mQosBearerSessions; private final SliceInfo mSliceInfo; /** Loading Loading @@ -187,7 +187,7 @@ public final class DataCallResponse implements Parcelable { mHandoverFailureMode = HANDOVER_FAILURE_MODE_LEGACY; mPduSessionId = PDU_SESSION_ID_NOT_SET; mDefaultQos = null; mQosSessions = new ArrayList<>(); mQosBearerSessions = new ArrayList<>(); mSliceInfo = null; } Loading @@ -197,7 +197,7 @@ 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<QosBearerSession> qosBearerSessions, @Nullable SliceInfo sliceInfo) { mCause = cause; mSuggestedRetryTime = suggestedRetryTime; Loading @@ -219,7 +219,7 @@ public final class DataCallResponse implements Parcelable { mHandoverFailureMode = handoverFailureMode; mPduSessionId = pduSessionId; mDefaultQos = defaultQos; mQosSessions = qosSessions; mQosBearerSessions = qosBearerSessions; mSliceInfo = sliceInfo; } Loading @@ -246,8 +246,8 @@ public final class DataCallResponse implements Parcelable { mHandoverFailureMode = source.readInt(); mPduSessionId = source.readInt(); mDefaultQos = source.readParcelable(Qos.class.getClassLoader()); mQosSessions = new ArrayList<>(); source.readList(mQosSessions, QosSession.class.getClassLoader()); mQosBearerSessions = new ArrayList<>(); source.readList(mQosBearerSessions, QosBearerSession.class.getClassLoader()); mSliceInfo = source.readParcelable(SliceInfo.class.getClassLoader()); } Loading Loading @@ -393,8 +393,8 @@ public final class DataCallResponse implements Parcelable { * @hide */ @NonNull public List<QosSession> getQosSessions() { return mQosSessions; public List<QosBearerSession> getQosBearerSessions() { return mQosBearerSessions; } /** Loading Loading @@ -426,7 +426,7 @@ public final class DataCallResponse implements Parcelable { .append(" handoverFailureMode=").append(getHandoverFailureMode()) .append(" pduSessionId=").append(getPduSessionId()) .append(" defaultQos=").append(mDefaultQos) .append(" qosSessions=").append(mQosSessions) .append(" qosBearerSessions=").append(mQosBearerSessions) .append(" sliceInfo=").append(mSliceInfo) .append("}"); return sb.toString(); Loading @@ -446,10 +446,10 @@ public final class DataCallResponse implements Parcelable { mDefaultQos == other.mDefaultQos : mDefaultQos.equals(other.mDefaultQos); final boolean isQosSessionsSame = (mQosSessions == null || mQosSessions == null) ? mQosSessions == other.mQosSessions : mQosSessions.size() == other.mQosSessions.size() && mQosSessions.containsAll(other.mQosSessions); final boolean isQosBearerSessionsSame = (mQosBearerSessions == null || mQosBearerSessions == null) ? mQosBearerSessions == other.mQosBearerSessions : mQosBearerSessions.size() == other.mQosBearerSessions.size() && mQosBearerSessions.containsAll(other.mQosBearerSessions); return mCause == other.mCause && mSuggestedRetryTime == other.mSuggestedRetryTime Loading @@ -471,7 +471,7 @@ public final class DataCallResponse implements Parcelable { && mHandoverFailureMode == other.mHandoverFailureMode && mPduSessionId == other.mPduSessionId && isQosSame && isQosSessionsSame && isQosBearerSessionsSame && Objects.equals(mSliceInfo, other.mSliceInfo); } Loading @@ -480,7 +480,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, mSliceInfo); mQosBearerSessions, mSliceInfo); } @Override Loading Loading @@ -510,7 +510,7 @@ public final class DataCallResponse implements Parcelable { } else { dest.writeParcelable((NrQos)mDefaultQos, flags); } dest.writeList(mQosSessions); dest.writeList(mQosBearerSessions); dest.writeParcelable(mSliceInfo, flags); } Loading Loading @@ -593,7 +593,7 @@ public final class DataCallResponse implements Parcelable { private Qos mDefaultQos; private List<QosSession> mQosSessions = new ArrayList<>(); private List<QosBearerSession> mQosBearerSessions = new ArrayList<>(); private SliceInfo mSliceInfo; Loading Loading @@ -807,15 +807,16 @@ public final class DataCallResponse implements Parcelable { /** * Set the dedicated bearer QOS sessions for this data connection. * * @param qosSessions Dedicated bearer QOS (Quality Of Service) sessions received * @param qosBearerSessions Dedicated bearer QOS (Quality Of Service) sessions received * from network. * * @return The same instance of the builder. * * @hide */ public @NonNull Builder setQosSessions(@NonNull List<QosSession> qosSessions) { mQosSessions = qosSessions; public @NonNull Builder setQosBearerSessions( @NonNull List<QosBearerSession> qosBearerSessions) { mQosBearerSessions = qosBearerSessions; return this; } Loading Loading @@ -843,7 +844,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, mSliceInfo); mDefaultQos, mQosBearerSessions, mSliceInfo); } } } telephony/java/android/telephony/data/EpsQos.java +4 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,10 @@ public final class EpsQos extends Qos implements Parcelable { qosClassId = source.readInt(); } public int getQci() { return qosClassId; } public static @NonNull EpsQos createFromParcelBody(@NonNull Parcel in) { return new EpsQos(in); } Loading telephony/java/android/telephony/data/Qos.java +17 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,15 @@ public abstract class Qos { this.uplink = new QosBandwidth(uplink.maxBitrateKbps, uplink.guaranteedBitrateKbps); } static class QosBandwidth implements Parcelable { public QosBandwidth getDownlinkBandwidth() { return downlink; } public QosBandwidth getUplinkBandwidth() { return uplink; } public static class QosBandwidth implements Parcelable { int maxBitrateKbps; int guaranteedBitrateKbps; Loading @@ -73,6 +81,14 @@ public abstract class Qos { guaranteedBitrateKbps = source.readInt(); } public int getMaxBitrateKbps() { return maxBitrateKbps; } public int getGuaranteedBitrateKbps() { return guaranteedBitrateKbps; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(maxBitrateKbps); Loading telephony/java/android/telephony/data/QosFilter.java→telephony/java/android/telephony/data/QosBearerFilter.java +45 −17 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ import java.util.Objects; * * @hide */ public final class QosFilter implements Parcelable { public final class QosBearerFilter implements Parcelable { private List<LinkAddress> localAddresses; private List<LinkAddress> remoteAddresses; Loading Loading @@ -74,7 +74,7 @@ public final class QosFilter implements Parcelable { @IntDef(prefix = "QOS_FILTER_DIRECTION_", value = {QOS_FILTER_DIRECTION_DOWNLINK, QOS_FILTER_DIRECTION_UPLINK, QOS_FILTER_DIRECTION_BIDIRECTIONAL}) public @interface QosFilterDirection {} public @interface QosBearerFilterDirection {} public static final int QOS_FILTER_DIRECTION_DOWNLINK = android.hardware.radio.V1_6.QosFilterDirection.DOWNLINK; Loading @@ -83,7 +83,7 @@ public final class QosFilter implements Parcelable { public static final int QOS_FILTER_DIRECTION_BIDIRECTIONAL = android.hardware.radio.V1_6.QosFilterDirection.BIDIRECTIONAL; @QosFilterDirection @QosBearerFilterDirection private int filterDirection; /** Loading @@ -92,7 +92,7 @@ public final class QosFilter implements Parcelable { */ private int precedence; QosFilter() { QosBearerFilter() { localAddresses = new ArrayList<>(); remoteAddresses = new ArrayList<>(); localPort = new PortRange(); Loading @@ -101,7 +101,7 @@ public final class QosFilter implements Parcelable { filterDirection = QOS_FILTER_DIRECTION_BIDIRECTIONAL; } public QosFilter(List<LinkAddress> localAddresses, List<LinkAddress> remoteAddresses, public QosBearerFilter(List<LinkAddress> localAddresses, List<LinkAddress> remoteAddresses, PortRange localPort, PortRange remotePort, int protocol, int tos, long flowLabel, long spi, int direction, int precedence) { this.localAddresses = localAddresses; Loading @@ -116,10 +116,30 @@ public final class QosFilter implements Parcelable { this.precedence = precedence; } public List<LinkAddress> getLocalAddresses() { return localAddresses; } public List<LinkAddress> getRemoteAddresses() { return remoteAddresses; } public PortRange getLocalPortRange() { return localPort; } public PortRange getRemotePortRange() { return remotePort; } public int getPrecedence() { return precedence; } /** @hide */ public static @NonNull QosFilter create( public static @NonNull QosBearerFilter create( @NonNull android.hardware.radio.V1_6.QosFilter qosFilter) { QosFilter ret = new QosFilter(); QosBearerFilter ret = new QosBearerFilter(); String[] localAddresses = qosFilter.localAddresses.stream().toArray(String[]::new); if (localAddresses != null) { Loading Loading @@ -202,6 +222,14 @@ public final class QosFilter implements Parcelable { this.end = end; } public int getStart() { return start; } public int getEnd() { return end; } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(start); Loading Loading @@ -254,7 +282,7 @@ public final class QosFilter implements Parcelable { @Override public String toString() { return "QosFilter {" return "QosBearerFilter {" + " localAddresses=" + localAddresses + " remoteAddresses=" + remoteAddresses + " localPort=" + localPort Loading @@ -278,11 +306,11 @@ public final class QosFilter implements Parcelable { public boolean equals(Object o) { if (this == o) return true; if (o == null || !(o instanceof QosFilter)) { if (o == null || !(o instanceof QosBearerFilter)) { return false; } QosFilter other = (QosFilter) o; QosBearerFilter other = (QosBearerFilter) o; return localAddresses.size() == other.localAddresses.size() && localAddresses.containsAll(other.localAddresses) Loading Loading @@ -324,7 +352,7 @@ public final class QosFilter implements Parcelable { LinkAddress.LIFETIME_UNKNOWN, LinkAddress.LIFETIME_UNKNOWN); } private QosFilter(Parcel source) { private QosBearerFilter(Parcel source) { localAddresses = new ArrayList<>(); source.readList(localAddresses, LinkAddress.class.getClassLoader()); remoteAddresses = new ArrayList<>(); Loading Loading @@ -358,16 +386,16 @@ public final class QosFilter implements Parcelable { return 0; } public static final @NonNull Parcelable.Creator<QosFilter> CREATOR = new Parcelable.Creator<QosFilter>() { public static final @NonNull Parcelable.Creator<QosBearerFilter> CREATOR = new Parcelable.Creator<QosBearerFilter>() { @Override public QosFilter createFromParcel(Parcel source) { return new QosFilter(source); public QosBearerFilter createFromParcel(Parcel source) { return new QosBearerFilter(source); } @Override public QosFilter[] newArray(int size) { return new QosFilter[size]; public QosBearerFilter[] newArray(int size) { return new QosBearerFilter[size]; } }; } telephony/java/android/telephony/data/QosSession.java→telephony/java/android/telephony/data/QosBearerSession.java +137 −0 Original line number Diff line number Diff line Loading @@ -30,50 +30,62 @@ import java.util.Objects; * * @hide */ public final class QosSession implements Parcelable{ public final class QosBearerSession implements Parcelable{ final int qosSessionId; final int qosBearerSessionId; final Qos qos; final List<QosFilter> qosFilterList; final List<QosBearerFilter> qosBearerFilterList; public QosSession(int qosSessionId, @NonNull Qos qos, @NonNull List<QosFilter> qosFilterList) { this.qosSessionId = qosSessionId; public QosBearerSession(int qosBearerSessionId, @NonNull Qos qos, @NonNull List<QosBearerFilter> qosBearerFilterList) { this.qosBearerSessionId = qosBearerSessionId; this.qos = qos; this.qosFilterList = qosFilterList; this.qosBearerFilterList = qosBearerFilterList; } private QosSession(Parcel source) { qosSessionId = source.readInt(); private QosBearerSession(Parcel source) { qosBearerSessionId = source.readInt(); qos = source.readParcelable(Qos.class.getClassLoader()); qosFilterList = new ArrayList<>(); source.readList(qosFilterList, QosFilter.class.getClassLoader()); qosBearerFilterList = new ArrayList<>(); source.readList(qosBearerFilterList, QosBearerFilter.class.getClassLoader()); } public int getQosBearerSessionId() { return qosBearerSessionId; } public Qos getQos() { return qos; } public List<QosBearerFilter> getQosBearerFilterList() { return qosBearerFilterList; } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(qosSessionId); dest.writeInt(qosBearerSessionId); if (qos.getType() == Qos.QOS_TYPE_EPS) { dest.writeParcelable((EpsQos)qos, flags); } else { dest.writeParcelable((NrQos)qos, flags); } dest.writeList(qosFilterList); dest.writeList(qosBearerFilterList); } public static @NonNull QosSession create( public static @NonNull QosBearerSession create( @NonNull android.hardware.radio.V1_6.QosSession qosSession) { List<QosFilter> qosFilters = new ArrayList<>(); List<QosBearerFilter> qosBearerFilters = new ArrayList<>(); if (qosSession.qosFilters != null) { for (android.hardware.radio.V1_6.QosFilter filter : qosSession.qosFilters) { qosFilters.add(QosFilter.create(filter)); qosBearerFilters.add(QosBearerFilter.create(filter)); } } return new QosSession( return new QosBearerSession( qosSession.qosSessionId, Qos.create(qosSession.qos), qosFilters); qosBearerFilters); } @Override Loading @@ -83,43 +95,43 @@ public final class QosSession implements Parcelable{ @Override public String toString() { return "QosSession {" + " qosSessionId=" + qosSessionId return "QosBearerSession {" + " qosBearerSessionId=" + qosBearerSessionId + " qos=" + qos + " qosFilterList=" + qosFilterList + "}"; + " qosBearerFilterList=" + qosBearerFilterList + "}"; } @Override public int hashCode() { return Objects.hash(qosSessionId, qos, qosFilterList); return Objects.hash(qosBearerSessionId, qos, qosBearerFilterList); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || !(o instanceof QosSession)) { if (o == null || !(o instanceof QosBearerSession)) { return false; } QosSession other = (QosSession) o; return this.qosSessionId == other.qosSessionId QosBearerSession other = (QosBearerSession) o; return this.qosBearerSessionId == other.qosBearerSessionId && this.qos.equals(other.qos) && this.qosFilterList.size() == other.qosFilterList.size() && this.qosFilterList.containsAll(other.qosFilterList); && this.qosBearerFilterList.size() == other.qosBearerFilterList.size() && this.qosBearerFilterList.containsAll(other.qosBearerFilterList); } public static final @NonNull Parcelable.Creator<QosSession> CREATOR = new Parcelable.Creator<QosSession>() { public static final @NonNull Parcelable.Creator<QosBearerSession> CREATOR = new Parcelable.Creator<QosBearerSession>() { @Override public QosSession createFromParcel(Parcel source) { return new QosSession(source); public QosBearerSession createFromParcel(Parcel source) { return new QosBearerSession(source); } @Override public QosSession[] newArray(int size) { return new QosSession[size]; public QosBearerSession[] newArray(int size) { return new QosBearerSession[size]; } }; } Loading
telephony/java/android/telephony/data/DataCallResponse.java +22 −21 Original line number Diff line number Diff line Loading @@ -136,7 +136,7 @@ public final class DataCallResponse implements Parcelable { private final @HandoverFailureMode int mHandoverFailureMode; private final int mPduSessionId; private final Qos mDefaultQos; private final List<QosSession> mQosSessions; private final List<QosBearerSession> mQosBearerSessions; private final SliceInfo mSliceInfo; /** Loading Loading @@ -187,7 +187,7 @@ public final class DataCallResponse implements Parcelable { mHandoverFailureMode = HANDOVER_FAILURE_MODE_LEGACY; mPduSessionId = PDU_SESSION_ID_NOT_SET; mDefaultQos = null; mQosSessions = new ArrayList<>(); mQosBearerSessions = new ArrayList<>(); mSliceInfo = null; } Loading @@ -197,7 +197,7 @@ 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<QosBearerSession> qosBearerSessions, @Nullable SliceInfo sliceInfo) { mCause = cause; mSuggestedRetryTime = suggestedRetryTime; Loading @@ -219,7 +219,7 @@ public final class DataCallResponse implements Parcelable { mHandoverFailureMode = handoverFailureMode; mPduSessionId = pduSessionId; mDefaultQos = defaultQos; mQosSessions = qosSessions; mQosBearerSessions = qosBearerSessions; mSliceInfo = sliceInfo; } Loading @@ -246,8 +246,8 @@ public final class DataCallResponse implements Parcelable { mHandoverFailureMode = source.readInt(); mPduSessionId = source.readInt(); mDefaultQos = source.readParcelable(Qos.class.getClassLoader()); mQosSessions = new ArrayList<>(); source.readList(mQosSessions, QosSession.class.getClassLoader()); mQosBearerSessions = new ArrayList<>(); source.readList(mQosBearerSessions, QosBearerSession.class.getClassLoader()); mSliceInfo = source.readParcelable(SliceInfo.class.getClassLoader()); } Loading Loading @@ -393,8 +393,8 @@ public final class DataCallResponse implements Parcelable { * @hide */ @NonNull public List<QosSession> getQosSessions() { return mQosSessions; public List<QosBearerSession> getQosBearerSessions() { return mQosBearerSessions; } /** Loading Loading @@ -426,7 +426,7 @@ public final class DataCallResponse implements Parcelable { .append(" handoverFailureMode=").append(getHandoverFailureMode()) .append(" pduSessionId=").append(getPduSessionId()) .append(" defaultQos=").append(mDefaultQos) .append(" qosSessions=").append(mQosSessions) .append(" qosBearerSessions=").append(mQosBearerSessions) .append(" sliceInfo=").append(mSliceInfo) .append("}"); return sb.toString(); Loading @@ -446,10 +446,10 @@ public final class DataCallResponse implements Parcelable { mDefaultQos == other.mDefaultQos : mDefaultQos.equals(other.mDefaultQos); final boolean isQosSessionsSame = (mQosSessions == null || mQosSessions == null) ? mQosSessions == other.mQosSessions : mQosSessions.size() == other.mQosSessions.size() && mQosSessions.containsAll(other.mQosSessions); final boolean isQosBearerSessionsSame = (mQosBearerSessions == null || mQosBearerSessions == null) ? mQosBearerSessions == other.mQosBearerSessions : mQosBearerSessions.size() == other.mQosBearerSessions.size() && mQosBearerSessions.containsAll(other.mQosBearerSessions); return mCause == other.mCause && mSuggestedRetryTime == other.mSuggestedRetryTime Loading @@ -471,7 +471,7 @@ public final class DataCallResponse implements Parcelable { && mHandoverFailureMode == other.mHandoverFailureMode && mPduSessionId == other.mPduSessionId && isQosSame && isQosSessionsSame && isQosBearerSessionsSame && Objects.equals(mSliceInfo, other.mSliceInfo); } Loading @@ -480,7 +480,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, mSliceInfo); mQosBearerSessions, mSliceInfo); } @Override Loading Loading @@ -510,7 +510,7 @@ public final class DataCallResponse implements Parcelable { } else { dest.writeParcelable((NrQos)mDefaultQos, flags); } dest.writeList(mQosSessions); dest.writeList(mQosBearerSessions); dest.writeParcelable(mSliceInfo, flags); } Loading Loading @@ -593,7 +593,7 @@ public final class DataCallResponse implements Parcelable { private Qos mDefaultQos; private List<QosSession> mQosSessions = new ArrayList<>(); private List<QosBearerSession> mQosBearerSessions = new ArrayList<>(); private SliceInfo mSliceInfo; Loading Loading @@ -807,15 +807,16 @@ public final class DataCallResponse implements Parcelable { /** * Set the dedicated bearer QOS sessions for this data connection. * * @param qosSessions Dedicated bearer QOS (Quality Of Service) sessions received * @param qosBearerSessions Dedicated bearer QOS (Quality Of Service) sessions received * from network. * * @return The same instance of the builder. * * @hide */ public @NonNull Builder setQosSessions(@NonNull List<QosSession> qosSessions) { mQosSessions = qosSessions; public @NonNull Builder setQosBearerSessions( @NonNull List<QosBearerSession> qosBearerSessions) { mQosBearerSessions = qosBearerSessions; return this; } Loading Loading @@ -843,7 +844,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, mSliceInfo); mDefaultQos, mQosBearerSessions, mSliceInfo); } } }
telephony/java/android/telephony/data/EpsQos.java +4 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,10 @@ public final class EpsQos extends Qos implements Parcelable { qosClassId = source.readInt(); } public int getQci() { return qosClassId; } public static @NonNull EpsQos createFromParcelBody(@NonNull Parcel in) { return new EpsQos(in); } Loading
telephony/java/android/telephony/data/Qos.java +17 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,15 @@ public abstract class Qos { this.uplink = new QosBandwidth(uplink.maxBitrateKbps, uplink.guaranteedBitrateKbps); } static class QosBandwidth implements Parcelable { public QosBandwidth getDownlinkBandwidth() { return downlink; } public QosBandwidth getUplinkBandwidth() { return uplink; } public static class QosBandwidth implements Parcelable { int maxBitrateKbps; int guaranteedBitrateKbps; Loading @@ -73,6 +81,14 @@ public abstract class Qos { guaranteedBitrateKbps = source.readInt(); } public int getMaxBitrateKbps() { return maxBitrateKbps; } public int getGuaranteedBitrateKbps() { return guaranteedBitrateKbps; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(maxBitrateKbps); Loading
telephony/java/android/telephony/data/QosFilter.java→telephony/java/android/telephony/data/QosBearerFilter.java +45 −17 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ import java.util.Objects; * * @hide */ public final class QosFilter implements Parcelable { public final class QosBearerFilter implements Parcelable { private List<LinkAddress> localAddresses; private List<LinkAddress> remoteAddresses; Loading Loading @@ -74,7 +74,7 @@ public final class QosFilter implements Parcelable { @IntDef(prefix = "QOS_FILTER_DIRECTION_", value = {QOS_FILTER_DIRECTION_DOWNLINK, QOS_FILTER_DIRECTION_UPLINK, QOS_FILTER_DIRECTION_BIDIRECTIONAL}) public @interface QosFilterDirection {} public @interface QosBearerFilterDirection {} public static final int QOS_FILTER_DIRECTION_DOWNLINK = android.hardware.radio.V1_6.QosFilterDirection.DOWNLINK; Loading @@ -83,7 +83,7 @@ public final class QosFilter implements Parcelable { public static final int QOS_FILTER_DIRECTION_BIDIRECTIONAL = android.hardware.radio.V1_6.QosFilterDirection.BIDIRECTIONAL; @QosFilterDirection @QosBearerFilterDirection private int filterDirection; /** Loading @@ -92,7 +92,7 @@ public final class QosFilter implements Parcelable { */ private int precedence; QosFilter() { QosBearerFilter() { localAddresses = new ArrayList<>(); remoteAddresses = new ArrayList<>(); localPort = new PortRange(); Loading @@ -101,7 +101,7 @@ public final class QosFilter implements Parcelable { filterDirection = QOS_FILTER_DIRECTION_BIDIRECTIONAL; } public QosFilter(List<LinkAddress> localAddresses, List<LinkAddress> remoteAddresses, public QosBearerFilter(List<LinkAddress> localAddresses, List<LinkAddress> remoteAddresses, PortRange localPort, PortRange remotePort, int protocol, int tos, long flowLabel, long spi, int direction, int precedence) { this.localAddresses = localAddresses; Loading @@ -116,10 +116,30 @@ public final class QosFilter implements Parcelable { this.precedence = precedence; } public List<LinkAddress> getLocalAddresses() { return localAddresses; } public List<LinkAddress> getRemoteAddresses() { return remoteAddresses; } public PortRange getLocalPortRange() { return localPort; } public PortRange getRemotePortRange() { return remotePort; } public int getPrecedence() { return precedence; } /** @hide */ public static @NonNull QosFilter create( public static @NonNull QosBearerFilter create( @NonNull android.hardware.radio.V1_6.QosFilter qosFilter) { QosFilter ret = new QosFilter(); QosBearerFilter ret = new QosBearerFilter(); String[] localAddresses = qosFilter.localAddresses.stream().toArray(String[]::new); if (localAddresses != null) { Loading Loading @@ -202,6 +222,14 @@ public final class QosFilter implements Parcelable { this.end = end; } public int getStart() { return start; } public int getEnd() { return end; } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(start); Loading Loading @@ -254,7 +282,7 @@ public final class QosFilter implements Parcelable { @Override public String toString() { return "QosFilter {" return "QosBearerFilter {" + " localAddresses=" + localAddresses + " remoteAddresses=" + remoteAddresses + " localPort=" + localPort Loading @@ -278,11 +306,11 @@ public final class QosFilter implements Parcelable { public boolean equals(Object o) { if (this == o) return true; if (o == null || !(o instanceof QosFilter)) { if (o == null || !(o instanceof QosBearerFilter)) { return false; } QosFilter other = (QosFilter) o; QosBearerFilter other = (QosBearerFilter) o; return localAddresses.size() == other.localAddresses.size() && localAddresses.containsAll(other.localAddresses) Loading Loading @@ -324,7 +352,7 @@ public final class QosFilter implements Parcelable { LinkAddress.LIFETIME_UNKNOWN, LinkAddress.LIFETIME_UNKNOWN); } private QosFilter(Parcel source) { private QosBearerFilter(Parcel source) { localAddresses = new ArrayList<>(); source.readList(localAddresses, LinkAddress.class.getClassLoader()); remoteAddresses = new ArrayList<>(); Loading Loading @@ -358,16 +386,16 @@ public final class QosFilter implements Parcelable { return 0; } public static final @NonNull Parcelable.Creator<QosFilter> CREATOR = new Parcelable.Creator<QosFilter>() { public static final @NonNull Parcelable.Creator<QosBearerFilter> CREATOR = new Parcelable.Creator<QosBearerFilter>() { @Override public QosFilter createFromParcel(Parcel source) { return new QosFilter(source); public QosBearerFilter createFromParcel(Parcel source) { return new QosBearerFilter(source); } @Override public QosFilter[] newArray(int size) { return new QosFilter[size]; public QosBearerFilter[] newArray(int size) { return new QosBearerFilter[size]; } }; }
telephony/java/android/telephony/data/QosSession.java→telephony/java/android/telephony/data/QosBearerSession.java +137 −0 Original line number Diff line number Diff line Loading @@ -30,50 +30,62 @@ import java.util.Objects; * * @hide */ public final class QosSession implements Parcelable{ public final class QosBearerSession implements Parcelable{ final int qosSessionId; final int qosBearerSessionId; final Qos qos; final List<QosFilter> qosFilterList; final List<QosBearerFilter> qosBearerFilterList; public QosSession(int qosSessionId, @NonNull Qos qos, @NonNull List<QosFilter> qosFilterList) { this.qosSessionId = qosSessionId; public QosBearerSession(int qosBearerSessionId, @NonNull Qos qos, @NonNull List<QosBearerFilter> qosBearerFilterList) { this.qosBearerSessionId = qosBearerSessionId; this.qos = qos; this.qosFilterList = qosFilterList; this.qosBearerFilterList = qosBearerFilterList; } private QosSession(Parcel source) { qosSessionId = source.readInt(); private QosBearerSession(Parcel source) { qosBearerSessionId = source.readInt(); qos = source.readParcelable(Qos.class.getClassLoader()); qosFilterList = new ArrayList<>(); source.readList(qosFilterList, QosFilter.class.getClassLoader()); qosBearerFilterList = new ArrayList<>(); source.readList(qosBearerFilterList, QosBearerFilter.class.getClassLoader()); } public int getQosBearerSessionId() { return qosBearerSessionId; } public Qos getQos() { return qos; } public List<QosBearerFilter> getQosBearerFilterList() { return qosBearerFilterList; } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(qosSessionId); dest.writeInt(qosBearerSessionId); if (qos.getType() == Qos.QOS_TYPE_EPS) { dest.writeParcelable((EpsQos)qos, flags); } else { dest.writeParcelable((NrQos)qos, flags); } dest.writeList(qosFilterList); dest.writeList(qosBearerFilterList); } public static @NonNull QosSession create( public static @NonNull QosBearerSession create( @NonNull android.hardware.radio.V1_6.QosSession qosSession) { List<QosFilter> qosFilters = new ArrayList<>(); List<QosBearerFilter> qosBearerFilters = new ArrayList<>(); if (qosSession.qosFilters != null) { for (android.hardware.radio.V1_6.QosFilter filter : qosSession.qosFilters) { qosFilters.add(QosFilter.create(filter)); qosBearerFilters.add(QosBearerFilter.create(filter)); } } return new QosSession( return new QosBearerSession( qosSession.qosSessionId, Qos.create(qosSession.qos), qosFilters); qosBearerFilters); } @Override Loading @@ -83,43 +95,43 @@ public final class QosSession implements Parcelable{ @Override public String toString() { return "QosSession {" + " qosSessionId=" + qosSessionId return "QosBearerSession {" + " qosBearerSessionId=" + qosBearerSessionId + " qos=" + qos + " qosFilterList=" + qosFilterList + "}"; + " qosBearerFilterList=" + qosBearerFilterList + "}"; } @Override public int hashCode() { return Objects.hash(qosSessionId, qos, qosFilterList); return Objects.hash(qosBearerSessionId, qos, qosBearerFilterList); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || !(o instanceof QosSession)) { if (o == null || !(o instanceof QosBearerSession)) { return false; } QosSession other = (QosSession) o; return this.qosSessionId == other.qosSessionId QosBearerSession other = (QosBearerSession) o; return this.qosBearerSessionId == other.qosBearerSessionId && this.qos.equals(other.qos) && this.qosFilterList.size() == other.qosFilterList.size() && this.qosFilterList.containsAll(other.qosFilterList); && this.qosBearerFilterList.size() == other.qosBearerFilterList.size() && this.qosBearerFilterList.containsAll(other.qosBearerFilterList); } public static final @NonNull Parcelable.Creator<QosSession> CREATOR = new Parcelable.Creator<QosSession>() { public static final @NonNull Parcelable.Creator<QosBearerSession> CREATOR = new Parcelable.Creator<QosBearerSession>() { @Override public QosSession createFromParcel(Parcel source) { return new QosSession(source); public QosBearerSession createFromParcel(Parcel source) { return new QosBearerSession(source); } @Override public QosSession[] newArray(int size) { return new QosSession[size]; public QosBearerSession[] newArray(int size) { return new QosBearerSession[size]; } }; }