Loading core/api/system-current.txt +14 −0 Original line number Diff line number Diff line Loading @@ -10697,6 +10697,20 @@ package android.telephony.data { field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR; } public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes { method public int describeContents(); method public int get5Qi(); method public long getAveragingWindow(); method public long getGuaranteedDownlinkBitRate(); method public long getGuaranteedUplinkBitRate(); method public long getMaxDownlinkBitRate(); method public long getMaxUplinkBitRate(); method public int getQfi(); method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR; } public abstract class QualifiedNetworksService extends android.app.Service { ctor public QualifiedNetworksService(); method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int); packages/Connectivity/framework/api/system-current.txt +3 −2 Original line number Diff line number Diff line Loading @@ -230,8 +230,8 @@ package android.net { method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities); method public final void sendNetworkScore(@IntRange(from=0, to=99) int); method public final void sendQosCallbackError(int, int); method public final void sendQosSessionAvailable(int, int, @NonNull android.telephony.data.EpsBearerQosSessionAttributes); method public final void sendQosSessionLost(int, int); method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes); method public final void sendQosSessionLost(int, int, int); method public final void sendSocketKeepaliveEvent(int, int); method public final void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>); method public void unregister(); Loading Loading @@ -363,6 +363,7 @@ package android.net { method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR; field public static final int TYPE_EPS_BEARER = 1; // 0x1 field public static final int TYPE_NR_BEARER = 2; // 0x2 } public interface QosSessionAttributes { Loading packages/Connectivity/framework/src/android/net/INetworkAgentRegistry.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.net.NetworkInfo; import android.net.NetworkScore; import android.net.QosSession; import android.telephony.data.EpsBearerQosSessionAttributes; import android.telephony.data.NrQosSessionAttributes; /** * Interface for NetworkAgents to send network properties. Loading @@ -37,6 +38,7 @@ oneway interface INetworkAgentRegistry { void sendSocketKeepaliveEvent(int slot, int reason); void sendUnderlyingNetworks(in @nullable List<Network> networks); void sendEpsQosSessionAvailable(int callbackId, in QosSession session, in EpsBearerQosSessionAttributes attributes); void sendNrQosSessionAvailable(int callbackId, in QosSession session, in NrQosSessionAttributes attributes); void sendQosSessionLost(int qosCallbackId, in QosSession session); void sendQosCallbackError(int qosCallbackId, int exceptionType); } packages/Connectivity/framework/src/android/net/IQosCallback.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.net; import android.os.Bundle; import android.net.QosSession; import android.telephony.data.EpsBearerQosSessionAttributes; import android.telephony.data.NrQosSessionAttributes; /** * AIDL interface for QosCallback Loading @@ -29,6 +30,8 @@ oneway interface IQosCallback { void onQosEpsBearerSessionAvailable(in QosSession session, in EpsBearerQosSessionAttributes attributes); void onNrQosSessionAvailable(in QosSession session, in NrQosSessionAttributes attributes); void onQosSessionLost(in QosSession session); void onError(in int type); } packages/Connectivity/framework/src/android/net/NetworkAgent.java +20 −11 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.os.Looper; import android.os.Message; import android.os.RemoteException; import android.telephony.data.EpsBearerQosSessionAttributes; import android.telephony.data.NrQosSessionAttributes; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -1160,29 +1161,37 @@ public abstract class NetworkAgent { /** * Sends the attributes of Eps Bearer Qos Session back to the Application * Sends the attributes of Qos Session back to the Application * * @param qosCallbackId the callback id that the session belongs to * @param sessionId the unique session id across all Eps Bearer Qos Sessions * @param attributes the attributes of the Eps Qos Session * @param sessionId the unique session id across all Qos Sessions * @param attributes the attributes of the Qos Session */ public final void sendQosSessionAvailable(final int qosCallbackId, final int sessionId, @NonNull final EpsBearerQosSessionAttributes attributes) { @NonNull final QosSessionAttributes attributes) { Objects.requireNonNull(attributes, "The attributes must be non-null"); if (attributes instanceof EpsBearerQosSessionAttributes) { queueOrSendMessage(ra -> ra.sendEpsQosSessionAvailable(qosCallbackId, new QosSession(sessionId, QosSession.TYPE_EPS_BEARER), attributes)); (EpsBearerQosSessionAttributes)attributes)); } else if (attributes instanceof NrQosSessionAttributes) { queueOrSendMessage(ra -> ra.sendNrQosSessionAvailable(qosCallbackId, new QosSession(sessionId, QosSession.TYPE_NR_BEARER), (NrQosSessionAttributes)attributes)); } } /** * Sends event that the Eps Qos Session was lost. * Sends event that the Qos Session was lost. * * @param qosCallbackId the callback id that the session belongs to * @param sessionId the unique session id across all Eps Bearer Qos Sessions * @param sessionId the unique session id across all Qos Sessions * @param qosSessionType the session type {@code QosSesson#QosSessionType} */ public final void sendQosSessionLost(final int qosCallbackId, final int sessionId) { public final void sendQosSessionLost(final int qosCallbackId, final int sessionId, final int qosSessionType) { queueOrSendMessage(ra -> ra.sendQosSessionLost(qosCallbackId, new QosSession(sessionId, QosSession.TYPE_EPS_BEARER))); new QosSession(sessionId, qosSessionType))); } /** Loading Loading
core/api/system-current.txt +14 −0 Original line number Diff line number Diff line Loading @@ -10697,6 +10697,20 @@ package android.telephony.data { field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR; } public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes { method public int describeContents(); method public int get5Qi(); method public long getAveragingWindow(); method public long getGuaranteedDownlinkBitRate(); method public long getGuaranteedUplinkBitRate(); method public long getMaxDownlinkBitRate(); method public long getMaxUplinkBitRate(); method public int getQfi(); method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR; } public abstract class QualifiedNetworksService extends android.app.Service { ctor public QualifiedNetworksService(); method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
packages/Connectivity/framework/api/system-current.txt +3 −2 Original line number Diff line number Diff line Loading @@ -230,8 +230,8 @@ package android.net { method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities); method public final void sendNetworkScore(@IntRange(from=0, to=99) int); method public final void sendQosCallbackError(int, int); method public final void sendQosSessionAvailable(int, int, @NonNull android.telephony.data.EpsBearerQosSessionAttributes); method public final void sendQosSessionLost(int, int); method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes); method public final void sendQosSessionLost(int, int, int); method public final void sendSocketKeepaliveEvent(int, int); method public final void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>); method public void unregister(); Loading Loading @@ -363,6 +363,7 @@ package android.net { method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR; field public static final int TYPE_EPS_BEARER = 1; // 0x1 field public static final int TYPE_NR_BEARER = 2; // 0x2 } public interface QosSessionAttributes { Loading
packages/Connectivity/framework/src/android/net/INetworkAgentRegistry.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.net.NetworkInfo; import android.net.NetworkScore; import android.net.QosSession; import android.telephony.data.EpsBearerQosSessionAttributes; import android.telephony.data.NrQosSessionAttributes; /** * Interface for NetworkAgents to send network properties. Loading @@ -37,6 +38,7 @@ oneway interface INetworkAgentRegistry { void sendSocketKeepaliveEvent(int slot, int reason); void sendUnderlyingNetworks(in @nullable List<Network> networks); void sendEpsQosSessionAvailable(int callbackId, in QosSession session, in EpsBearerQosSessionAttributes attributes); void sendNrQosSessionAvailable(int callbackId, in QosSession session, in NrQosSessionAttributes attributes); void sendQosSessionLost(int qosCallbackId, in QosSession session); void sendQosCallbackError(int qosCallbackId, int exceptionType); }
packages/Connectivity/framework/src/android/net/IQosCallback.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.net; import android.os.Bundle; import android.net.QosSession; import android.telephony.data.EpsBearerQosSessionAttributes; import android.telephony.data.NrQosSessionAttributes; /** * AIDL interface for QosCallback Loading @@ -29,6 +30,8 @@ oneway interface IQosCallback { void onQosEpsBearerSessionAvailable(in QosSession session, in EpsBearerQosSessionAttributes attributes); void onNrQosSessionAvailable(in QosSession session, in NrQosSessionAttributes attributes); void onQosSessionLost(in QosSession session); void onError(in int type); }
packages/Connectivity/framework/src/android/net/NetworkAgent.java +20 −11 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.os.Looper; import android.os.Message; import android.os.RemoteException; import android.telephony.data.EpsBearerQosSessionAttributes; import android.telephony.data.NrQosSessionAttributes; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -1160,29 +1161,37 @@ public abstract class NetworkAgent { /** * Sends the attributes of Eps Bearer Qos Session back to the Application * Sends the attributes of Qos Session back to the Application * * @param qosCallbackId the callback id that the session belongs to * @param sessionId the unique session id across all Eps Bearer Qos Sessions * @param attributes the attributes of the Eps Qos Session * @param sessionId the unique session id across all Qos Sessions * @param attributes the attributes of the Qos Session */ public final void sendQosSessionAvailable(final int qosCallbackId, final int sessionId, @NonNull final EpsBearerQosSessionAttributes attributes) { @NonNull final QosSessionAttributes attributes) { Objects.requireNonNull(attributes, "The attributes must be non-null"); if (attributes instanceof EpsBearerQosSessionAttributes) { queueOrSendMessage(ra -> ra.sendEpsQosSessionAvailable(qosCallbackId, new QosSession(sessionId, QosSession.TYPE_EPS_BEARER), attributes)); (EpsBearerQosSessionAttributes)attributes)); } else if (attributes instanceof NrQosSessionAttributes) { queueOrSendMessage(ra -> ra.sendNrQosSessionAvailable(qosCallbackId, new QosSession(sessionId, QosSession.TYPE_NR_BEARER), (NrQosSessionAttributes)attributes)); } } /** * Sends event that the Eps Qos Session was lost. * Sends event that the Qos Session was lost. * * @param qosCallbackId the callback id that the session belongs to * @param sessionId the unique session id across all Eps Bearer Qos Sessions * @param sessionId the unique session id across all Qos Sessions * @param qosSessionType the session type {@code QosSesson#QosSessionType} */ public final void sendQosSessionLost(final int qosCallbackId, final int sessionId) { public final void sendQosSessionLost(final int qosCallbackId, final int sessionId, final int qosSessionType) { queueOrSendMessage(ra -> ra.sendQosSessionLost(qosCallbackId, new QosSession(sessionId, QosSession.TYPE_EPS_BEARER))); new QosSession(sessionId, qosSessionType))); } /** Loading